'; $oc_defaultFieldWidth = '60'; $oc_defaultFieldHeight = '5'; $formDisplayAR = array( 'sameline' => '   ', 'newline' => '
' ); if (!isset($GLOBALS['oc_authorNum'])) { $GLOBALS['oc_authorNum'] = $GLOBALS['OC_configAR']['OC_authorsMax']; } function oc_fieldEnabled($fieldID, &$fieldsAR) { if (!isset($fieldsAR[$fieldID]['enabled']) || $fieldsAR[$fieldID]['enabled']) { return(TRUE); } else { return(FALSE); } } function oc_genField(&$fid, &$fAR, &$fVals, $fidxtra='') { $usefid = $fid . $fidxtra; $field = ''; $field .= '
'; if (isset($fAR['enabled']) && !$fAR['enabled']) { $disabled = 'disabled '; } else { $disabled = ''; } if (isset($fAR['required']) && $fAR['required']) { $required = $GLOBALS['OC_configAR']['OC_requiredField']; } else { $required = ''; } if (!empty($fAR['note']) && ($fAR['type'] != 'plain') && ($fAR['type'] != 'hidden')) { $fieldnote = '
' . $fAR['note'] . '
'; } else { $fieldnote = ''; } if (isset($fAR['longlabel']) && $fAR['longlabel']) { $longlabel = $fieldnote . ''; $longlabelclass = ' class="plain"'; $fieldnote = ''; } else { $longlabel = ''; $longlabelclass = ''; } switch ($fAR['type']) { case 'plain': $field .= '' . $fAR['values']; break; case 'hidden': $field .= ''; break; case 'text': if (isset($fAR['width'])) { $width = $fAR['width']; } elseif (isset($fAR['size'])) { // deprecated $width = $fAR['size']; } else { $width = $GLOBALS['oc_defaultFieldWidth']; } if (isset($fAR['maxchars'])) { $maxchars = $fAR['maxchars']; } elseif (isset($fAR['maxsize'])) { // deprecated $maxchars = $fAR['maxsize']; } else { $maxchars = ''; } $field .= '' . $longlabel . ''; if ( (isset($fAR['maxwords']) && ($fAR['maxwords'] > 0)) || (isset($fAR['minwords']) && ($fAR['minwords'] > 0)) ) { // word limit $field .= ' '; } if ( ($maxchars > 0) || (isset($fAR['minchars']) && ($fAR['minchars'] > 0)) ) { // character limit $field .= ' '; } break; case 'email': $field .= '' . $longlabel . ''; break; case 'textarea': if (isset($fAR['height'])) { $height = $fAR['height']; } elseif (isset($fAR['size'])) { // deprecated $height = $fAR['size']; } else { $height = $GLOBALS['oc_defaultFieldHeight']; } $field .= '' . $longlabel . ''; if (isset($fAR['maxwords'])) { $maxwords = $fAR['maxwords']; } elseif (isset($fAR['maxsize'])) { // deprecated $maxwords = $fAR['maxsize']; } else { $maxwords = 0; } if ( ($maxwords > 0) || (isset($fAR['minwords']) && ($fAR['minwords'] > 0)) ) { // word limit $field .= ' '; } if ( (isset($fAR['maxchars']) && ($fAR['maxchars'] > 0)) || (isset($fAR['minchars']) && ($fAR['minchars'] > 0)) ) { // character limit $field .= ' '; } break; case 'dropdown': $field .= '' . $longlabel . ''; break; case 'picklist': if (!isset($fAR['multiple']) || $fAR['multiple']) { // default to multiple for picklist $multiple = true; } else { $multiple = false; } if ($multiple && isset($fVals[$usefid]) && !is_array($fVals[$usefid])) { $vals = explode(',', $fVals[$usefid]); } else { $vals = varValue($usefid, $fVals); } $field .= '' . $longlabel . ''; break; case 'radio': if (isset($fAR['display']) && isset($GLOBALS['formDisplayAR'][$fAR['display']])) { $delimiter = $GLOBALS['formDisplayAR'][$fAR['display']]; } elseif (isset($fAR['delimiter'])) { $delimiter = $fAR['delimiter']; } else { $delimiter = $GLOBALS['oc_defaultDelimiter']; } $field .= '' . $fAR['name'] . ':' . $required . '' . $longlabel . '
'; $field .= generateRadioOptions($usefid, $fAR['values'], varValue($usefid, $fVals), ((!isset($fAR['usekey']) || $fAR['usekey']) ? true : false), $disabled, $delimiter); $field .= '
'; break; case 'checkbox': if (isset($fAR['display']) && isset($GLOBALS['formDisplayAR'][$fAR['display']])) { $delimiter = $GLOBALS['formDisplayAR'][$fAR['display']]; } elseif (isset($fAR['delimiter'])) { $delimiter = $fAR['delimiter']; } else { $delimiter = $GLOBALS['oc_defaultDelimiter']; } $field .= '' . $fAR['name'] . ':' . $required . '' . $longlabel . '
'; if (isset($fVals[$usefid])) { if (!is_array($fVals[$usefid])) { $vals = explode(',', $fVals[$usefid]); } else { $vals = $fVals[$usefid]; } } else { $vals = array(); } $field .= generateCheckboxOptions($usefid, $fAR['values'], $vals, ((!isset($fAR['usekey']) || $fAR['usekey']) ? true : false), $disabled, $delimiter); $field .= '
'; break; case 'password': $field .= '' . $longlabel . ''; break; case 'file': $field .= '
' . $longlabel . '   ' . oc_('Format') . ':' . $required . ' '; if (count($GLOBALS['extAR']) == 1) { // Only accept one format? $field .= $GLOBALS['OC_formatAR'][$GLOBALS['extAR'][0]] . ' '; } else { $formatOptions = array(); foreach ($GLOBALS['extAR'] as $formatVal) { $formatOptions[$formatVal] = $GLOBALS['OC_formatAR'][$formatVal]; } $field .= ''; } break; case 'select': // DEPRECATED - use dropdown or picklist if (isset($fAR['multiple']) && $fAR['multiple']) { $multiple = true; } else { $multiple = false; } if ($multiple && isset($fVals[$usefid]) && !is_array($fVals[$usefid])) { $vals = explode(',', $fVals[$usefid]); } else { $vals = varValue($usefid, $fVals); } $field .= '' . $longlabel . ''; break; case 'country': // DEPRECATED - use dropdown with usekey=true and valuetype=country $field .= '' . $longlabel . ''; break; default: err('There is an error with field ID ' . $usefid); } if (!empty($fieldnote)) { $field .= $fieldnote; } $field .= '
'."\n"; return($field); } function oc_displayFields(&$fieldsAR, &$fVals=array()) { foreach ($fieldsAR as $fieldID => $fieldAR) { print '
' . oc_genField($fieldID, $fieldAR, $fVals) . '
'; } } function oc_displayFieldSet(&$fsAR, &$fieldsAR, &$fVals=array()) { // Include field validation translation strings print ' '; // Iterate through fieldsets and fields foreach ($fsAR as $fieldset => $fieldsetAR) { if (count($fieldsetAR['fields']) == 0) { continue; } // skip fieldset if no fields included if ((count($fieldsetAR['fields']) == 1) && ($fieldsAR[$fieldsetAR['fields'][0]]['type'] == 'hidden')) { // handle special case of single hidden field print oc_genField($fieldsetAR['fields'][0], $fieldsAR[$fieldsetAR['fields'][0]], $fVals); continue; } print '
' . safeHTMLstr($fieldsetAR['fieldset']) . ''; if (!empty($fieldsetAR['note'])) { print '
' . $fieldsetAR['note'] . '
'; } if ($fieldset == 'fs_authors') { // setup dynamic add authors if (($GLOBALS['oc_authorNum'] == 1) && ($GLOBALS['OC_configAR']['OC_authorsMax'] == 1)) { $singleAuthor = true; } else { $singleAuthor = false; $blankAR = array(); $authorFields = '' . oc_('Author') . ' [:authornum:]'; foreach ($fieldsetAR['fields'] as $fieldID) { if (!isset($fieldsAR[$fieldID])) { continue; } $authorFields .= oc_genField($fieldID, $fieldsAR[$fieldID], $blankAR, '[:authornum:]'); } if (preg_match("/edit\.p/", $_SERVER['PHP_SELF'])) { //T: Single quotes (') must be written as \\' for translation of string "X = Delete Author ..." $authorFields .= '
?X+
'; } print ' '; } // display author fieldsets print '
'; for ($i=1; $i<=$GLOBALS['oc_authorNum']; $i++) { print '
' . ($singleAuthor ? '' : ('' . oc_('Author') . ' ' . $i . '')); foreach ($fieldsetAR['fields'] as $fieldID) { if (!isset($fieldsAR[$fieldID])) { continue; } print oc_genField($fieldID, $fieldsAR[$fieldID], $fVals, $i); } if (preg_match("/edit\.p/", $_SERVER['PHP_SELF']) && !$singleAuthor) { //T: Single quotes (') must be written as \\' for translation of string "X = Delete Author ..." print '
?X+
'; } print '
'; } // display extra author link if ($i <= $GLOBALS['OC_configAR']['OC_authorsMax']) { print ' '; } print '
'; } else { // not authors fieldset foreach ($fieldsetAR['fields'] as $fieldID) { if (!isset($fieldsAR[$fieldID])) { continue; } print oc_genField($fieldID, $fieldsAR[$fieldID], $fVals); } } print '
'."\n"; } } function oc_getFieldValue(&$fieldsAR, &$fVals, $fieldID, $valID='', $charLimit=0) { if (empty($valID)) { $valID = $fieldID; } if (!isset($fVals[$valID])) { return(''); } else { $retval = ''; // return value if (isset($fieldsAR[$fieldID]) && ( ($fieldsAR[$fieldID]['type'] == 'checkbox') || ($fieldsAR[$fieldID]['type'] == 'picklist') || (($fieldsAR[$fieldID]['type'] == 'select') && isset($fieldsAR[$fieldID]['multiple']) && $fieldsAR[$fieldID]['multiple']) ) && !is_array($fVals[$valID]) ) { $vals = explode(',', $fVals[$valID]); } else { $vals = $fVals[$valID]; } if (is_array($vals)) { if (count($vals) == 1) { if (is_array($fieldsAR[$fieldID]['values']) && (!isset($fieldsAR[$fieldID]['usekey']) || $fieldsAR[$fieldID]['usekey'])) { $retval = $fieldsAR[$fieldID]['values'][$vals[0]]; } else { $retval = $vals[0]; } } else { $fret = "\n"; foreach ($vals as $f) { if (is_array($fieldsAR[$fieldID]['values']) && (!isset($fieldsAR[$fieldID]['usekey']) || $fieldsAR[$fieldID]['usekey'])) { $fret .= ' - ' . $fieldsAR[$fieldID]['values'][$f] . "\n"; } else { $fret .= ' - ' . $f . "\n"; } } $retval = $fret; } } elseif (isset($fieldsAR[$fieldID]['values']) && is_array($fieldsAR[$fieldID]['values']) && (!isset($fieldsAR[$fieldID]['usekey']) || $fieldsAR[$fieldID]['usekey']) && !empty($vals) && isset($fieldsAR[$fieldID]['values'][$vals]) ) { $retval = $fieldsAR[$fieldID]['values'][$vals]; } else { $retval = varValue($valID, $fVals); } if (($charLimit > 0) && (oc_strlen($retval) > $charLimit)) { return(utf8_encode(substr(utf8_decode($retval), 0, $charLimit))); } else { return($retval); } } } function oc_genFieldMessage(&$fsAR, &$fieldsAR, &$fVals=array()) { $fmsg = ''; foreach ($fsAR as $fieldset => $fieldsetAR) { if ($fieldset == 'fs_authors') { for ($i=1; $i<=$GLOBALS['oc_authorNum']; $i++) { if (empty($fVals['name_last' . $i])) { continue; } $fmsg .= oc_('Author') . ' ' . $i . ":\n"; foreach ($fieldsetAR['fields'] as $fieldID) { if (!oc_fieldEnabled($fieldID, $fieldsAR)) { continue; } $fmsg .= ' ' . $fieldsAR[$fieldID]['short'] . ": " . oc_getFieldValue($fieldsAR, $fVals, $fieldID, $fieldID . $i) . "\n"; } $fmsg .= "\n\n"; } } else { foreach ($fieldsetAR['fields'] as $fieldID) { if (preg_match("/^password/i", $fieldID) || ($fieldID == 'file') || empty($fieldsAR[$fieldID]['name']) || (!oc_fieldEnabled($fieldID, $fieldsAR)) ) { continue; } $fmsg .= $fieldsAR[$fieldID]['short'] . ': ' . oc_getFieldValue($fieldsAR, $fVals, $fieldID) . "\n\n"; } } } return($fmsg); } function oc_showFieldSet(&$fsAR, &$fieldsAR, &$fVals, $blind=false, $committee=false, $references=false) { foreach ($fsAR as $fieldset => $fieldsetAR) { if (count($fieldsetAR['fields']) == 0) { continue; } // skip fieldset if no fields included if (preg_match("/^fs_passwords$/i", $fieldset)) { continue; } // skip password fs if ($fieldset == 'fs_authors') { // display author fields if (!$blind) { for ($i=1; $i<=$GLOBALS['oc_authorNum']; $i++) { if (!isset($fVals['name_last' . $i])) { continue; } print '' . oc_('Author') . ' ' . $i . ':'; if ($references) { print '[ CiteSeer | Google Scholar | Microsoft Academic | ScienceDirect ]

'; } print ''; foreach ($fieldsetAR['fields'] as $fieldID) { if (!isset($fieldsAR[$fieldID]) || preg_match("/^password/", $fieldID) || ($committee && empty($fVals[$fieldID.$i]))) { continue; } if ($committee && isset($_SESSION[OCC_SESSION_VAR_NAME]['acpc']) && preg_match("/\/review\//", $_SERVER['PHP_SELF'])) { if ( (($_SESSION[OCC_SESSION_VAR_NAME]['acpc'] == "T") && (!isset($fieldsAR[$fieldID]['advocate']) || !$fieldsAR[$fieldID]['advocate'])) || (($_SESSION[OCC_SESSION_VAR_NAME]['acpc'] != "T") && (!isset($fieldsAR[$fieldID]['reviewer']) || !$fieldsAR[$fieldID]['reviewer'])) ) { continue; } } print '\n"; } print "
' . safeHTMLstr(($committee ? oc_($fieldsAR[$fieldID]['short']) : $fieldsAR[$fieldID]['short'])) . ':'; $fieldVal = oc_getFieldValue($fieldsAR, $fVals, $fieldID, $fieldID . $i); if (($fieldID == 'email') && validEmail($fieldVal)) { // email print '' . safeHTMLstr($fieldVal) . ''; } elseif (preg_match("/^https?\:\/\//", $fieldVal) && !preg_match("/[\r\n]/", $fieldVal)) { // url print '' . safeHTMLstr($fieldVal) . ''; } else { // other print nl2br(safeHTMLstr(oc_getFieldValue($fieldsAR, $fVals, $fieldID, $fieldID . $i))); } print "
\n"; } } } else { // not authors fieldset foreach ($fieldsetAR['fields'] as $fieldID) { if (!isset($fieldsAR[$fieldID]) || preg_match("/^password/", $fieldID) || ($committee && empty($fVals[$fieldID]))) { continue; } if ($committee && isset($_SESSION[OCC_SESSION_VAR_NAME]['acpc']) && preg_match("/\/review\//", $_SERVER['PHP_SELF'])) { if ( (($_SESSION[OCC_SESSION_VAR_NAME]['acpc'] == "T") && (!isset($fieldsAR[$fieldID]['advocate']) || !$fieldsAR[$fieldID]['advocate'])) || (($_SESSION[OCC_SESSION_VAR_NAME]['acpc'] != "T") && (!isset($fieldsAR[$fieldID]['reviewer']) || !$fieldsAR[$fieldID]['reviewer'])) ) { continue; } } if (preg_match("/^(?:file|format)/", $fieldID)) { continue; } // skip file/format fields print '' . safeHTMLstr(($committee ? oc_($fieldsAR[$fieldID]['short']) : $fieldsAR[$fieldID]['short'])) . ':' . nl2br(safeHTMLstr(trim(oc_getFieldValue($fieldsAR, $fVals, $fieldID)))); if (($fieldID == 'title') && $references) { print '     [ CiteSeer | Google Scholar | Microsoft Academic | ScienceDirect ]'; } print "\n"; } } } } function oc_limitString($min, $max, $required=false) { $limit = ''; if ($min > 0) { $limit = $min; } elseif ($required) { $limit = 1; } else { $limit = 0; } if ($max > 0) { if (empty($limit) || ($min == $max)) { $limit = $max; } else { $limit .= '-' . $max; } } else { $limit .= '+'; } return($limit); } function oc_validateField($fieldID, &$fieldsAR, &$saveFieldAR, &$err, $authorID=0, $requiredOverride=false) { if (!isset($fieldsAR[$fieldID])) { return(false); // field not defined } if (oc_fieldEnabled($fieldID, $fieldsAR) && (!isset($fieldsAR[$fieldID]['donotvalidate']) || !$fieldsAR[$fieldID]['donotvalidate']) ) { // Author field? Add author ID if ($authorID > 0) { $postFieldID = $fieldID . $authorID; } else { $postFieldID = $fieldID; } // Validate if field is set and has a value if (isset($_POST[$postFieldID]) && ((is_array($_POST[$postFieldID]) && (count($_POST[$postFieldID]) > 0)) || ($_POST[$postFieldID] != ''))) { // Check fields with values array set if (isset($fieldsAR[$fieldID]['values']) && is_array($fieldsAR[$fieldID]['values'])) { $values = array(); // handle both single and multi-selection fields if (is_array($_POST[$postFieldID])) { $checkAR = $_POST[$postFieldID]; } else { $checkAR = array($_POST[$postFieldID]); } // validate values foreach ($checkAR as $val) { if ( ((!isset($fieldsAR[$fieldID]['usekey']) || $fieldsAR[$fieldID]['usekey']) && isset($fieldsAR[$fieldID]['values'][$val])) || (isset($fieldsAR[$fieldID]['usekey']) && ( ! $fieldsAR[$fieldID]['usekey']) && in_array($val, $fieldsAR[$fieldID]['values'])) // backward compatibilty for sub. type & old custom fields ) { $values[] = $val; } else { if ($authorID > 0) { //T: %1$d = author number, %2$s = topic field short name; %3$s = invalid field value $err .= '

  • ' . sprintf(oc_('Author %1$d %2$s field value is invalid: %3$s'), $authorID, $fieldsAR[$fieldID]['short'], safeHTMLstr($val)) . '
  • '; } else { //T: %1$s = topic field short name; %2$s = invalid field value $err .= '
  • ' . sprintf(oc_('%1$s field value is invalid: %2$s'), $fieldsAR[$fieldID]['short'], safeHTMLstr($val)) . '
  • '; } } } // check picklist and checkbox selection count $count = count($values); if (($fieldsAR[$fieldID]['type'] == 'picklist') || ($fieldsAR[$fieldID]['type'] == 'checkbox')) { $min = (isset($fieldsAR[$fieldID]['minselections']) ? $fieldsAR[$fieldID]['minselections'] : 0); $max = (isset($fieldsAR[$fieldID]['maxselections']) ? $fieldsAR[$fieldID]['maxselections'] : 0); if ((($min > 0) && ($count < $min)) || (($max > 0) && ($count > $max)) ) { $limit = oc_limitString($min, $max, varValue('required', $fieldsAR[$fieldID], false)); if ($authorID > 0) { // %1$d = author number, %2$s = field name, $3$d = number; %4$s = number or number range (e.g., 4 or 1-3) $err .= '
  • ' . sprintf(oc_('Author %1$d %2$s field contains %3$d selection(s); limit is %4$s selection(s)'), $authorID, oc_($fieldsAR[$fieldID]['short']), $count, $limit) . '
  • '; } else { // %1$s = field name, $2$d = number; %3$s = number or number range (e.g., 1-3) $err .= '
  • ' . sprintf(oc_('%1$s field contains %2$d selection(s); limit is %3$s selection(s)'), oc_($fieldsAR[$fieldID]['short']), $count, $limit) . '
  • '; } } } // store value(s) if (empty($limit) && ($count > 0)) { $saveFieldAR[$fieldID] = "'" . safeSQLstr(implode(',', $values)) . "'"; } else { $saveFieldAR[$fieldID] = "NULL"; } } else { // regular field w/no values $wlimit = ''; $climit = ''; // Check text and textarea input lengths if (($fieldsAR[$fieldID]['type'] == 'text') || ($fieldsAR[$fieldID]['type'] == 'textarea')) { // check words $min = (isset($fieldsAR[$fieldID]['minwords']) ? $fieldsAR[$fieldID]['minwords'] : 0); $max = (isset($fieldsAR[$fieldID]['maxwords']) ? $fieldsAR[$fieldID]['maxwords'] : 0); $count = count(explode(' ', preg_replace("/\s+/", " ", trim($_POST[$postFieldID])))); // We're not using str_word_count as numbers are not counted if ((($min > 0) && ($count < $min)) || (($max > 0) && ($count > $max)) ) { $wlimit = oc_limitString($min, $max, varValue('required', $fieldsAR[$fieldID], false)); if ($authorID > 0) { // %1$d = author number, %2$s = field name, $3$d = number; %4$s = number or number range (e.g., 4 or 1-3) $err .= '
  • ' . sprintf(oc_('Author %1$d %2$s field contains %3$d words; limit is %4$s words.'), $authorID, oc_($fieldsAR[$fieldID]['short']), $count, $wlimit) . '
  • '; } else { // %1$s = field name, $2$d = number; %3$s = number or number range (e.g., 1-3) $err .= '
  • ' . sprintf(oc_('%1$s field contains %2$d words; limit is %3$s words.'), oc_($fieldsAR[$fieldID]['short']), $count, $wlimit) . '
  • '; } } // check chars $min = (isset($fieldsAR[$fieldID]['minchars']) ? $fieldsAR[$fieldID]['minchars'] : ((isset($fieldsAR[$fieldID]['required']) && $fieldsAR[$fieldID]['required']) ? 1 : 0) ); $max = (isset($fieldsAR[$fieldID]['maxchars']) ? $fieldsAR[$fieldID]['maxchars'] : 0); $count = oc_strlen(preg_replace("/\s+/", " ", trim($_POST[$postFieldID]))); if ((($min > 0) && ($count < $min)) || (($max > 0) && ($count > $max)) ) { $climit = oc_limitString($min, $max, varValue('required', $fieldsAR[$fieldID], false)); if ($authorID > 0) { // %1$d = author number, %2$s = field name, $3$d = number; %4$s = number or number range (e.g., 4 or 1-3) $err .= '
  • ' . sprintf(oc_('Author %1$d %2$s field contains %3$d characters; limit is %4$s characters.'), $authorID, oc_($fieldsAR[$fieldID]['short']), $count, $climit) . '
  • '; } else { // %1$s = field name, $2$d = number; %3$s = number or number range (e.g., 1-3) $err .= '
  • ' . sprintf(oc_('%1$s field contains %2$d characters; limit is %3$s characters.'), oc_($fieldsAR[$fieldID]['short']), $count, $climit) . '
  • '; } } } elseif (($fieldsAR[$fieldID]['type'] == 'email') && !validEmail($_POST[$postFieldID])) { if ($authorID > 0) { //T: %1$d = author number, %2$s = field name, %3$s = field value $err .= '
  • ' . sprintf(oc_('Author %1$d %2$s field value is invalid: %3$s'), $authorID, oc_($fieldsAR[$fieldID]['short']), safeHTMLstr($_POST[$postFieldID])) . '
  • '; } else { //T: %1$s = field name, %2$s = field value $err .= '
  • ' . sprintf(oc_('%1$s field value is invalid: %2$s'), oc_($fieldsAR[$fieldID]['short']), safeHTMLstr($_POST[$postFieldID])) . '
  • '; } } // store value if (empty($wlimit) && empty($climit)) { $saveFieldAR[$fieldID] = "'" . safeSQLstr(trim($_POST[$postFieldID])) . "'"; } else { $saveFieldAR[$fieldID] = "NULL"; } } } if (!isset($saveFieldAR[$fieldID])) { if ( isset($fieldsAR[$fieldID]['required']) && $fieldsAR[$fieldID]['required'] && ! $requiredOverride) { if ($authorID > 0) { //T: %1$d = author number, %2$s = field name $err .= '
  • ' . sprintf(oc_('Author %1$d %2$s field is required'), $authorID, oc_($fieldsAR[$fieldID]['short'])) . '
  • '; } else { //T: %s = field name $err .= '
  • ' . sprintf(oc_('%s field is required'), oc_($fieldsAR[$fieldID]['short'])) . '
  • '; } } else { $saveFieldAR[$fieldID] = "NULL"; } } } } // DEPRECATED - use OC_validateField instead function oc_checkField($fieldID, &$fieldsAR, &$saveFieldAR, &$err, $checkArrayValue=false) { if (oc_fieldEnabled($fieldID, $fieldsAR)) { if (isset($_POST[$fieldID]) && !empty($_POST[$fieldID])) { if ($checkArrayValue && is_array($fieldsAR[$fieldID]['values'])) { if ($fieldsAR[$fieldID]['usekey']) { if (isset($fieldsAR[$fieldID]['values'][$_POST[$fieldID]])) { $saveFieldAR[$fieldID] = "'" . safeSQLstr(trim($_POST[$fieldID])) . "'"; } } elseif (in_array($_POST[$fieldID], $fieldsAR[$fieldID]['values'])) { $saveFieldAR[$fieldID] = "'" . safeSQLstr(trim($_POST[$fieldID])) . "'"; } } else { $saveFieldAR[$fieldID] = "'" . safeSQLstr(trim($_POST[$fieldID])) . "'"; } } if (!isset($saveFieldAR[$fieldID])) { if ( isset($fieldsAR[$fieldID]['required']) && $fieldsAR[$fieldID]['required'] ) { $err .= '
  • ' . sprintf(oc_('%s field is required'), oc_($fieldsAR[$fieldID]['short'])) . '
  • '; } else { $saveFieldAR[$fieldID] = "NULL"; } } } } // DEPRECATED - use OC_validateField instead function oc_checkAuthorField($fieldID, $authorID, &$fieldsAR, &$saveFieldAR, &$err, $checkArrayValue=false) { if (oc_fieldEnabled($fieldID, $fieldsAR)) { if (isset($_POST[$fieldID . $authorID]) && !empty($_POST[$fieldID . $authorID])) { if ($checkArrayValue && is_array($fieldsAR[$fieldID]['values'])) { if ($fieldsAR[$fieldID]['usekey']) { if (isset($fieldsAR[$fieldID]['values'][$_POST[$fieldID . $authorID]])) { $saveFieldAR[$authorID][$fieldID] = "'" . safeSQLstr(trim($_POST[$fieldID . $authorID])) . "'"; } } elseif (in_array($_POST[$fieldID . $authorID], $fieldsAR[$fieldID]['values'])) { $saveFieldAR[$authorID][$fieldID] = "'" . safeSQLstr(trim($_POST[$fieldID . $authorID])) . "'"; } } else { $saveFieldAR[$authorID][$fieldID] = "'" . safeSQLstr(trim($_POST[$fieldID . $authorID])) . "'"; } } if (!isset($saveFieldAR[$authorID][$fieldID])) { if ( isset($fieldsAR[$fieldID]['required']) && $fieldsAR[$fieldID]['required'] ) { //T: %1$d = author number, %2$s = field name $err .= '
  • ' . sprintf(oc_('Author %1$d %2$s field is required'), $authorID, oc_($fieldsAR[$fieldID]['short'])) . '
  • '; } else { $saveFieldAR[$authorID][$fieldID] = "NULL"; } } } }