'); } else { $useCK = false; } $OC_extraHeaderAR[] = ' '; if (!OCC_INSTALL_COMPLETE && isset($_REQUEST['install']) && ($_REQUEST['install'] == 1)) { require_once "install-include.php"; $token = ''; } else { beginChairSession(); printHeader("Configuration", 1); $token = $_SESSION[OCC_SESSION_VAR_NAME]['chairtoken']; // Display active modules config if (isset($OC_activeModulesAR) && !empty($OC_activeModulesAR)) { $moduleOptions = ''; foreach ($OC_activeModulesAR as $module) { if (is_file('../modules/' . $module . '/settings.inc')) { $moduleOptions .= ''; } } if (!empty($moduleOptions)) { print '

Config Module:

'; } } } // YesNo fields $yesNoFieldsAR = array('OC_includeSubmissionUploadLink', 'OC_trackStudent', 'OC_notifyIncludeIP', 'OC_reviewerReadPapers', 'OC_reviewerSeeAssignedReviews', 'OC_reviewerCompleteBeforeSAR', 'OC_reviewerSeeOtherReviews', 'OC_reviewerSeeOtherReviewers', 'OC_reviewerSeeAuthors', 'OC_advocateReadPapers', 'OC_advocateSeeOtherReviews', 'OC_advocateSeeAuthors', 'OC_paperAdvocates'); if ( ! oc_moduleActive('oc_aws') ) { // submission form file upload is not compatible with AWS $yesNoFieldsAR[] = 'OC_includeSubmissionUploadField'; $yesNoFieldsAR[] = 'OC_requireSubmissionUploadField'; } // Notification array $notifyAR = array( 'OC_notifyAuthorSubmit' => 'Author makes a submission', 'OC_notifyAuthorEdit' => 'Author updates (edits) submission', 'OC_notifyAuthorEmailPapers' => 'Author requests own submission list emailed', 'OC_notifyAuthorUpload' => 'Author uploads a file', 'OC_notifyAuthorReset' => 'Author requests password reset', 'OC_notifyAuthorWithdraw' => 'Author withdraws submission', 'OC_notifyReviewerSignup' => 'Committee member signs up for account', 'OC_notifyReviewerProfileUpdate' => 'Committee member updates profile', 'OC_notifyReviewerReset' => 'Committee member resets password', 'OC_notifyReviewerEmailUsername' => 'Committee member requests username emailed' ); // Submission? $e = array(); if (isset($_POST['submit']) && ($_POST['submit'] == "Save Settings")) { // Check for valid submission if (OCC_INSTALL_COMPLETE && !validToken('chair')) { warn('Invalid submission', $hdr, $hdrfn); } // Check input if (!isset($_POST['OC_confName']) || !preg_match("/\w/", $_POST['OC_confName'])) { $e[] = 'Event Short Name must include at least one alphanumeric character'; } if (!isset($_POST['OC_confNameFull']) || !preg_match("/\w/", $_POST['OC_confNameFull'])) { $e[] = 'Event Full Name must include at least one alphanumeric character'; } if (!isset($_POST['OC_pcemail'])) { $e[] = 'Chair Email address invalid.'; } elseif (preg_match("/,/", $_POST['OC_pcemail'])) { // Multiple addresses $cmAR = explode(",", $_POST['OC_pcemail']); foreach ($cmAR as $cm) { $cm = trim($cm); if (!validEmail($cm)) { $e[] = 'Chair Email does not appear to be valid'; break; } } } elseif (!validEmail($_POST['OC_pcemail'])) { // Single address $e[] = 'Chair Email does not appear to be valid'; } if (!isset($_POST['OC_confirmmail'])) { $e[] = 'Notification Email address invalid. Try setting it the same as the Chair Email'; } elseif (preg_match("/,/", $_POST['OC_confirmmail'])) { // Multiple addresses $cmAR = explode(",", $_POST['OC_confirmmail']); foreach ($cmAR as $cm) { $cm = trim($cm); if (!validEmail($cm)) { $e[] = 'Notification Email does not appear to be valid'; break; } } } elseif (!validEmail($_POST['OC_confirmmail'])) { // Single address $e[] = 'Notification Email does not appear to be valid'; } if (($_POST['OC_trackStudent'] != 0) && ($_POST['OC_trackStudent'] != 1)) { $e[] = 'Track Students value is invalid'; } if (!isset($_POST['OC_abstractLength']) || !ctype_digit($_POST['OC_abstractLength'])) { $e[] = 'Abstract Length value is invalid'; } if (!isset($_POST['OC_extar']) || count($_POST['OC_extar']) == 0) { $e[] = 'Select at least one file format'; } else { // check formats are valid foreach ($_POST['OC_extar'] as $fmat) { if (!isset($OC_formatAR[$fmat])) { $e[] = 'Invalid format selected'; continue; } } } $notifyKeysAR = array_keys($notifyAR); foreach ($notifyKeysAR as $nk) { if (!isset($_POST[$nk])) { $_POST[$nk] = 0; } elseif (!preg_match("/^[01]$/", $_POST[$nk])) { $e[] = 'Invalid notification selection'; continue; } } foreach ($yesNoFieldsAR as $ynf) { if (!isset($_POST[$ynf]) || !isset($yesNoAR[$_POST[$ynf]])) { $e[] = 'Invalid option (' . safeHTMLstr($ynf) . ')'; } } if (!isset($_POST['OC_timeZone']) || !in_array($_POST['OC_timeZone'], $OC_zoneAR)) { $e[] = 'Time Zone is invalid'; } if (!isset($_POST['OC_locales']) || empty($_POST['OC_locales']) || !is_array($_POST['OC_locales'])) { $e[] = 'At least one language must be selected'; $_POST['OC_locales'] = array(); } else { if (!isset($_POST['OC_localeDefault']) || !isset($OC_languageAR[$_POST['OC_localeDefault']])) { $e[] = 'Default Language is invalid'; } elseif (!in_array($_POST['OC_localeDefault'], $_POST['OC_locales'])) { $_POST['OC_locales'][] = $_POST['OC_localeDefault']; // auto-select default language } foreach ($_POST['OC_locales'] as $locale) { if (!isset($OC_languageAR[$locale])) { $e[] = 'Invalid locale selected: ' . safeHTMLstr($locale); } } } if (empty($e)) { // Update form's OC_ fields $_POST['OC_extar'] = implode(',', $_POST['OC_extar']); $_POST['OC_locales'] = implode(',', $_POST['OC_locales']); foreach (array_keys($_POST) as $p) { if (preg_match("/^OC_[\w-]+$/", $p) && isset($OC_configAR[$p]) && ($OC_configAR[$p] != $_POST[$p])) { updateConfigSetting($p, $_POST[$p], 'OC'); $OC_configAR[$p] = $_POST[$p]; } } // if install, redirect if (isset($_REQUEST['install']) && ($_REQUEST['install'] == 1)) { header("Location: set_topics.php?install=1"); exit; } print '

Configuration sucessfully updated

'; // reset special vars to array $_POST['OC_extar'] = explode(',', $OC_configAR['OC_extar']); $_POST['OC_locales'] = explode(',', $OC_configAR['OC_locales']); } } else { // not submit; init POST with config values $_POST = $OC_configAR; $_POST['OC_locales'] = explode(',', $OC_configAR['OC_locales']); } if ((!OCC_INSTALL_COMPLETE) && isset($_REQUEST['install']) && ($_REQUEST['install'] == 1)) { printHeader($hdr,$hdrfn); print '

Step 3 of 5: Tailor Configuration Settings

'; } if (!empty($e)) { print '
Please correct the following:
'; } print '
'; if ((!OCC_INSTALL_COMPLETE) && isset($_REQUEST['install'])) { print ' '; } print '
Event
Event name used on Web pages and in email messages
Event abbreviated name, primarily used in email subject lines
Full web address (including http:// ) for event web page
Full web address (including http:// ) for image to display atop every page. Leave blank to display event full name
Email & Notification
Used as the general contact email and in case of errors or other follow-up
Receives a copy of confirmation emails sent to authors and committee members; see options below
'; foreach ($notifyAR as $nk => $nv) { print '
'; } print '

Include IP address in notifications?

' . generateRadioOptions('OC_notifyIncludeIP', $yesNoAR, $_POST['OC_notifyIncludeIP']) . '
Reviewers
Keycode for signing up as a review committee member.
Allow reviewers to view all submissions?
' . generateRadioOptions('OC_reviewerReadPapers', $yesNoAR, $_POST['OC_reviewerReadPapers']) . '
Allow reviewers to see others\' review of assigned submissions?
' .generateRadioOptions('OC_reviewerSeeAssignedReviews', $yesNoAR, $_POST['OC_reviewerSeeAssignedReviews']) . '
Only allow reviewer to see reviews of assigned submissions if own is complete?
' . generateRadioOptions('OC_reviewerCompleteBeforeSAR', $yesNoAR, $_POST['OC_reviewerCompleteBeforeSAR']) . '
Allow reviewer to see reviews of non-assigned submissions?
' . generateRadioOptions('OC_reviewerSeeOtherReviews', $yesNoAR, $_POST['OC_reviewerSeeOtherReviews']) . '
Allow reviewers to see each other\'s information? (e.g., name, email)
' . generateRadioOptions('OC_reviewerSeeOtherReviewers', $yesNoAR, $_POST['OC_reviewerSeeOtherReviewers']) . '
Allow reviewers to see authors (i.e., non-blind reviews)?
' . generateRadioOptions('OC_reviewerSeeAuthors', $yesNoAR, $_POST['OC_reviewerSeeAuthors']) . '
Advocates (Program Committee)
' . generateRadioOptions('OC_paperAdvocates', $yesNoAR, $_POST['OC_paperAdvocates'], 1, 'onclick="oc_showHideDiv(\'OC_paperAdvocates1\', \'advocates\')"') . '
Select whether to make use of Advocates
Keycode for signing up as a program committee member.
Allow advocates to view all submissions?
' . generateRadioOptions('OC_advocateReadPapers', $yesNoAR, $_POST['OC_advocateReadPapers']) . '
Allow advocates to see reviews of non-assigned submissions?
' . generateRadioOptions('OC_advocateSeeOtherReviews', $yesNoAR, $_POST['OC_advocateSeeOtherReviews']) . '
Allow advocates to see authors?
' . generateRadioOptions('OC_advocateSeeAuthors', $yesNoAR, $_POST['OC_advocateSeeAuthors']) . '
NOTE: Reviewer permissions are evaluated before advocate\'s
Submission
' . generateRadioOptions('OC_trackStudent', $yesNoAR, $_POST['OC_trackStudent'], 1, 'onclick="oc_showHideDiv(\'OC_trackStudent1\', \'studNotice\')"') . '
words
Enter 0 (zero) for no limit
'; if ( ! oc_moduleActive('oc_aws') ) { // submission form file upload is not compatible with AWS print '
' . generateRadioOptions('OC_includeSubmissionUploadField', $yesNoAR, $_POST['OC_includeSubmissionUploadField']) . '
Includes file upload field on submission page; overrides Include File Upload Link setting
' . generateRadioOptions('OC_requireSubmissionUploadField', $yesNoAR, $_POST['OC_requireSubmissionUploadField']) . '
Requires file to be uploaded at submission if Include File Upload Field enabled
'; } print '
' . generateRadioOptions('OC_includeSubmissionUploadLink', $yesNoAR, $_POST['OC_includeSubmissionUploadLink']) . '
Includes file upload link on submission confirmation page.' . (oc_moduleActive('oc_aws') ? '' : ' Applies only if Include File Upload Field is not enabled.
') . ' Note that Upload File status must also be set to open
'; if (oc_hookSet('set-config-fileupload')) { foreach ($GLOBALS['OC_hooksAR']['set-config-fileupload'] as $hook) { require_once $hook; } } else { print '
Files
'; } print '
Localization
The language options are currently experimental. They allow the author pages to be viewed in one\'s native language. For additional information, or to assist with translations, visit www.OpenConf.com/translate/.' . (function_exists('gettext') ? '' : ' PHP must have gettext enabled.') . '

'; printFooter(); ?>