function edit() { global $hMime, $start, $limit, $oAdminButton; if (!isset($_REQUEST['id'])) { redirect_header(XHELP_ADMIN_URL . "/mimetypes.php", 3, _AM_XHELP_MESSAGE_NO_ID); } else { $mime_id = intval($_REQUEST['id']); } $mimetype =& $hMime->get($mime_id); // Retrieve mimetype object if (!isset($_POST['edit_mime'])) { $session = Session::singleton(); $mime_type = $session->get("xhelp_editMime_{$mime_id}"); $mime_errors = $session->get("xhelp_editMimeErr_{$mime_id}"); // Display header xoops_cp_header(); echo $oAdminButton->renderButtons('mimetypes'); //Display any form errors if (!$mime_errors === false) { xhelpRenderErrors($mime_errors, xhelpMakeURI(XHELP_ADMIN_URL . '/mimetypes.php', array('op' => 'clearEditSession', 'id' => $mime_id))); } if ($mime_type === false) { $mime_ext = $mimetype->getVar('mime_ext'); $mime_name = $mimetype->getVar('mime_name', 'e'); $mime_types = $mimetype->getVar('mime_types', 'e'); $mime_admin = $mimetype->getVar('mime_admin'); $mime_user = $mimetype->getVar('mime_user'); } else { $mime_ext = $mime_type['mime_ext']; $mime_name = $mime_type['mime_name']; $mime_types = $mime_type['mime_types']; $mime_admin = $mime_type['mime_admin']; $mime_user = $mime_type['mime_user']; } // Display edit form echo "<form action='mimetypes.php?op=edit&id=" . $mime_id . "' method='post'>"; echo "<input type='hidden' name='limit' value='" . $limit . "' />"; echo "<input type='hidden' name='start' value='" . $start . "' />"; echo "<table width='100%' cellspacing='1' class='outer'>"; echo "<tr><th colspan='2'>" . _AM_XHELP_MIME_MODIFYF . "</th></tr>"; echo "<tr valign='top'>\r\n <td class='head'>" . _AM_XHELP_MIME_EXTF . "</td>\r\n <td class='even'><input type='text' name='mime_ext' id='mime_ext' value='{$mime_ext}' size='5' /></td>\r\n </tr>"; echo "<tr valign='top'>\r\n <td class='head'>" . _AM_XHELP_MIME_NAMEF . "</td>\r\n <td class='even'><input type='text' name='mime_name' id='mime_name' value='{$mime_name}' /></td>\r\n </tr>"; echo "<tr valign='top'>\r\n <td class='head'>" . _AM_XHELP_MIME_TYPEF . "</td>\r\n <td class='even'><textarea name='mime_types' id='mime_types' cols='60' rows='5'>{$mime_types}</textarea></td>\r\n </tr>"; echo "<tr valign='top'>\r\n <td class='head'>" . _AM_XHELP_MIME_ADMINF . "</td>\r\n <td class='even'>\r\n <input type='radio' name='mime_admin' value='1' " . ($mime_admin == 1 ? "checked='checked'" : '') . " />" . _XHELP_TEXT_YES . "\r\n <input type='radio' name='mime_admin' value='0' " . ($mime_admin == 0 ? "checked='checked'" : '') . " />" . _XHELP_TEXT_NO . "\r\n </td>\r\n </tr>"; echo "<tr valign='top'>\r\n <td class='head'>" . _AM_XHELP_MIME_USERF . "</td>\r\n <td class='even'>\r\n <input type='radio' name='mime_user' value='1' " . ($mime_user == 1 ? "checked='checked'" : '') . " />" . _XHELP_TEXT_YES . "\r\n <input type='radio' name='mime_user' value='0' " . ($mime_user == 0 ? "checked='checked'" : '') . " />" . _XHELP_TEXT_NO . "\r\n </td>\r\n </tr>"; echo "<tr valign='top'>\r\n <td class='head'></td>\r\n <td class='even'>\r\n <input type='submit' name='edit_mime' id='edit_mime' value='" . _AM_XHELP_BUTTON_UPDATE . "' class='formButton' />\r\n <input type='button' name='cancel' value='" . _AM_XHELP_BUTTON_CANCEL . "' onclick='history.go(-1)' class='formButton' />\r\n </td>\r\n </tr>"; echo "</table></form>"; // end of edit form xhelpAdminFooter(); xoops_cp_footer(); } else { $mime_admin = 0; $mime_user = 0; if (isset($_POST['mime_admin']) && $_POST['mime_admin'] == 1) { $mime_admin = 1; } if (isset($_POST['mime_user']) && $_POST['mime_user'] == 1) { $mime_user = 1; } //Validate Mimetype entry if (strlen(trim($_POST['mime_ext'])) == 0) { $has_errors = true; $error['mime_ext'][] = _AM_XHELP_VALID_ERR_MIME_EXT; } if (strlen(trim($_POST['mime_name'])) == 0) { $has_errors = true; $error['mime_name'][] = _AM_XHELP_VALID_ERR_MIME_NAME; } if (strlen(trim($_POST['mime_types'])) == 0) { $has_errors = true; $error['mime_types'][] = _AM_XHELP_VALID_ERR_MIME_TYPES; } if ($has_errors) { $session = Session::singleton(); $mime = array(); $mime['mime_ext'] = $_POST['mime_ext']; $mime['mime_name'] = $_POST['mime_name']; $mime['mime_types'] = $_POST['mime_types']; $mime['mime_admin'] = $mime_admin; $mime['mime_user'] = $mime_user; $session->set('xhelp_editMime_' . $mime_id, $mime); $session->set('xhelp_editMimeErr_' . $mime_id, $error); header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL . '/mimetypes.php', array('op' => 'edit', 'id' => $mime_id), false)); } $mimetype->setVar('mime_ext', $_POST['mime_ext']); $mimetype->setVar('mime_name', $_POST['mime_name']); $mimetype->setVar('mime_types', $_POST['mime_types']); $mimetype->setVar('mime_admin', $mime_admin); $mimetype->setVar('mime_user', $mime_user); if (!$hMime->insert($mimetype, true)) { redirect_header(XHELP_ADMIN_URL . "/mimetypes.php?op=edit&id={$mime_id}", 3, _AM_XHELP_MESSAGE_EDIT_MIME_ERROR); } else { _clearEditSessionVars($mime_id); header("Location: " . XHELP_ADMIN_URL . "/mimetypes.php?op=manage&limit={$limit}&start={$start}"); } } }
function manageDepartments() { global $xoopsModule, $oAdminButton, $aSortBy, $aOrderBy, $aLimitBy, $order, $limit, $start, $sort, $dept_search; $module_id = $xoopsModule->getVar('mid'); $hGroups =& xoops_gethandler('group'); $hGroupPerm =& xoops_gethandler('groupperm'); if (isset($_POST['addDept'])) { $hasErrors = false; $errors = array(); $groups = isset($_POST['groups']) ? $_POST['groups'] : array(); $hDepartments =& xhelpGetHandler('department'); //Department Name supplied? if (trim($_POST['newDept']) == '') { $hasErrors = true; $errors['newDept'][] = _AM_XHELP_MESSAGE_NO_DEPT; } else { //Department Name unique? $crit = new Criteria('department', $_POST['newDept']); if ($existingDepts = $hDepartments->getCount($crit)) { $hasErrors = true; $errors['newDept'][] = _XHELP_MESSAGE_DEPT_EXISTS; } } if ($hasErrors) { $session =& Session::singleton(); //Store existing dept info in session, reload addition page $aDept = array(); $aDept['newDept'] = $_POST['newDept']; $aDept['groups'] = $groups; $session->set('xhelp_addDepartment', $aDept); $session->set('xhelp_addDepartmentErrors', $errors); header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL . '/department.php', array('op' => 'manageDepartments'), false)); exit; } $department =& $hDepartments->create(); $department->setVar('department', $_POST['newDept']); if ($hDepartments->insert($department)) { $deptID = $department->getVar('id'); foreach ($groups as $group) { // Add new group permissions $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id); } // Set as default department? if (isset($_POST['defaultDept']) && $_POST['defaultDept'] == 1) { xhelpSetMeta("default_department", $deptID); } $hStaff =& xhelpGetHandler('staff'); $allDeptStaff =& $hStaff->getByAllDepts(); if (count($allDeptStaff) > 0) { $hMembership =& xhelpGetHandler('membership'); if ($hMembership->addStaffToDept($allDeptStaff, $department->getVar('id'))) { $message = _XHELP_MESSAGE_ADD_DEPT; } else { $message = _AM_XHELP_MESSAGE_STAFF_UPDATE_ERROR; } } else { $message = _XHELP_MESSAGE_ADD_DEPT; } // Add configoption for new department $hConfig =& xoops_gethandler('config'); $hConfigOption =& xoops_gethandler('configoption'); $crit = new Criteria('conf_name', 'xhelp_defaultDept'); $config =& $hConfig->getConfigs($crit); if (count($config) > 0) { $newOption =& $hConfigOption->create(); $newOption->setVar('confop_name', $department->getVar('department')); $newOption->setVar('confop_value', $department->getVar('id')); $newOption->setVar('conf_id', $config[0]->getVar('conf_id')); if (!$hConfigOption->insert($newOption)) { redirect_header(XHELP_ADMIN_URL . "/department.php?op=manageDepartments", 3, _AM_XHELP_MSG_ADD_CONFIG_ERR); } } _clearAddSessionVars(); header("Location: " . XHELP_ADMIN_URL . "/department.php?op=manageDepartments"); } else { $message = _XHELP_MESSAGE_ADD_DEPT_ERROR . $department->getHtmlErrors(); } $deptID = $department->getVar('id'); /* Not sure if this is needed. Already exists in if block above (ej) foreach($groups as $group){ $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id); } */ redirect_header(XHELP_ADMIN_URL . '/department.php?op=manageDepartments', 3, $message); } else { $hDepartments =& xhelpGetHandler('department'); if ($dept_search == false) { $crit = new Criteria('', ''); } else { $crit = new Criteria('department', "%{$dept_search}%", 'LIKE'); } $crit->setOrder($order); $crit->setSort($sort); $crit->setLimit($limit); $crit->setStart($start); $total = $hDepartments->getCount($crit); $departmentInfo =& $hDepartments->getObjects($crit); $nav = new XoopsPageNav($total, $limit, $start, 'start', "op=manageDepartments&limit={$limit}"); // Get list of all groups $crit = new Criteria('', ''); $crit->setSort('name'); $crit->setOrder('ASC'); $groups =& $hGroups->getObjects($crit, true); $aGroups = array(); foreach ($groups as $group_id => $group) { $aGroups[$group_id] = $group->getVar('name'); } asort($aGroups); // Set groups in alphabetical order xoops_cp_header(); echo $oAdminButton->renderButtons('manDept'); $session =& Session::singleton(); $sess_dept = $session->get('xhelp_addDepartment'); $sess_errors = $session->get('xhelp_addDepartmentErrors'); //Display any form errors if (!$sess_errors === false) { xhelpRenderErrors($sess_errors, xhelpMakeURI(XHELP_ADMIN_URL . '/department.php', array('op' => 'clearAddSession'), false)); } if (!$sess_dept === false) { $fld_newDept = $sess_dept['newDept']; $fld_groups = $sess_dept['groups']; } else { $fld_newDept = ''; $fld_groups = array(); } echo "<form method='post' action='" . XHELP_ADMIN_URL . "/department.php?op=manageDepartments'>"; echo "<table width='100%' cellspacing='1' class='outer'>\r\n <tr><th colspan='2'><label for='newDept'>" . _AM_XHELP_LINK_ADD_DEPT . " </label></th></tr>"; echo "<tr><td class='head' width='20%' valign='top'>" . _AM_XHELP_TEXT_NAME . "</td><td class='even'>"; echo "<input type='text' id='newDept' name='newDept' class='formButton' value='{$fld_newDept}' /></td></tr>"; echo "<tr><td class='head' width='20%' valign='top'>" . _AM_XHELP_TEXT_EDIT_DEPT_PERMS . "</td><td class='even'>"; echo "<select name='groups[]' multiple='multiple'>"; foreach ($aGroups as $group_id => $group) { if (in_array($group_id, $fld_groups, true)) { echo "<option value='{$group_id}' selected='selected'>{$group}</option>"; } else { echo "<option value='{$group_id}'>{$group}</option>"; } } echo "</select></td></tr>"; echo "<tr><td class='head' width='20%' valign='top'>" . _AM_XHELP_TEXT_DEFAULT_DEPT . "?</td>\r\n <td class='even'><input type='checkbox' name='defaultDept' id='defaultDept' value='1' /></td></tr>"; echo "<tr><td class='foot' colspan='2'><input type='submit' name='addDept' value='" . _AM_XHELP_BUTTON_SUBMIT . "' class='formButton' /></td></tr>"; echo "</table><br />"; echo "</form>"; if ($total > 0) { // Make sure there are departments echo "<form action='" . XHELP_ADMIN_URL . "/department.php?op=manageDepartments' style='margin:0; padding:0;' method='post'>"; echo "<table width='100%' cellspacing='1' class='outer'>"; echo "<tr><td align='right'>" . _AM_XHELP_BUTTON_SEARCH . "\r\n <input type='text' name='dept_search' value='{$dept_search}'/>\r\n \r\n " . _AM_XHELP_TEXT_SORT_BY . "\r\n <select name='sort'>"; foreach ($aSortBy as $value => $text) { $sort == $value ? $selected = "selected='selected'" : ($selected = ''); echo "<option value='{$value}' {$selected}>{$text}</option>"; } echo "</select>\r\n \r\n " . _AM_XHELP_TEXT_ORDER_BY . "\r\n <select name='order'>"; foreach ($aOrderBy as $value => $text) { $order == $value ? $selected = "selected='selected'" : ($selected = ''); echo "<option value='{$value}' {$selected}>{$text}</option>"; } echo "</select>\r\n \r\n " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "\r\n <select name='limit'>"; foreach ($aLimitBy as $value => $text) { $limit == $value ? $selected = "selected='selected'" : ($selected = ''); echo "<option value='{$value}' {$selected}>{$text}</option>"; } echo "</select>\r\n <input type='submit' name='dept_sort' id='dept_sort' value='" . _AM_XHELP_BUTTON_SUBMIT . "' />\r\n </td>\r\n </tr>"; echo "</table></form>"; echo "<table width='100%' cellspacing='1' class='outer'>\r\n <tr><th colspan='4'>" . _AM_XHELP_EXISTING_DEPARTMENTS . "</th></tr>\r\n <tr><td class='head'>" . _AM_XHELP_TEXT_ID . "</td><td class='head'>" . _AM_XHELP_TEXT_DEPARTMENT . "</td><td class='head'>" . _AM_XHELP_TEXT_DEFAULT . "</td><td class='head'>" . _AM_XHELP_TEXT_ACTIONS . "</td></tr>"; if (isset($departmentInfo)) { $defaultDept = xhelpGetMeta("default_department"); foreach ($departmentInfo as $dept) { echo "<tr><td class='even'>" . $dept->getVar('id') . "</td><td class='even'>" . $dept->getVar('department') . "</td>"; if ($dept->getVar('id') != $defaultDept) { echo "<td class='even' width='10%'><a href='" . XHELP_ADMIN_URL . "/department.php?op=updateDefault&id=" . $dept->getVar('id') . "'><img src='" . XHELP_IMAGE_URL . "/off.png' alt='" . _AM_XHELP_TEXT_MAKE_DEFAULT_DEPT . "' title='" . _AM_XHELP_TEXT_MAKE_DEFAULT_DEPT . "' /></a></td>"; } else { echo "<td class='even' width='10%'><img src='" . XHELP_IMAGE_URL . "/on.png'</td>"; } //echo "<td class='even' width='10%'><img src='".XHELP_IMAGE_URL."/". (($dept->getVar('id') == $defaultDept) ? "on.png" : "off.png")."'</td>"; echo "<td class='even' width='70'><a href='" . XHELP_ADMIN_URL . "/department.php?op=editDepartment&deptid=" . $dept->getVar('id') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_edit.png' title='" . _AM_XHELP_TEXT_EDIT . "' name='editDepartment' /></a> "; echo "<a href='" . XHELP_ADMIN_URL . "/delete.php?deleteDept=1&deptid=" . $dept->getVar('id') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_delete.png' title='" . _AM_XHELP_TEXT_DELETE . "' name='deleteDepartment' /></a></td></tr>"; } } } echo "</td></tr></table>"; echo "<div id='dept_nav'>" . $nav->renderNav() . "</div>"; xhelpAdminFooter(); xoops_cp_footer(); } }
function editField() { global $oAdminButton; $eventsrv =& xhelpNewEventService(); $session =& Session::singleton(); $regex_array =& _getRegexArray(); if (!isset($_REQUEST['id'])) { redirect_header(xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'manageDepartments'), false), 3, _AM_XHELP_MESSAGE_NO_FIELD); } $fld_id = intval($_REQUEST['id']); $hField =& xhelpGetHandler('ticketField'); if (!($field =& $hField->get($fld_id))) { redirect_header(xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'manageDepartments'), false), 3, _AM_XHELP_MESSAGE_NO_FIELD); } if (!isset($_POST['editField'])) { //Get Custom Field From session (if exists) $field_info = $session->get('xhelp_editField_' . $fld_id); $field_errors = $session->get('xhelp_editFieldErrors_' . $fld_id); if (!$field_info === false) { $fld_controltype = $field_info['controltype']; $fld_datatype = $field_info['datatype']; $fld_departments = $field_info['departments']; $fld_name = $field_info['name']; $fld_fieldname = $field_info['fieldname']; $fld_description = $field_info['description']; $fld_required = $field_info['required']; $fld_length = $field_info['length']; $fld_weight = $field_info['weight']; $fld_defaultvalue = $field_info['defaultvalue']; $fld_values = $field_info['values']; $fld_validation = $field_info['validation']; } else { $hFDept =& xhelpGetHandler('ticketFieldDepartment'); $depts =& $hFDept->departmentsByField($field->getVar('id'), true); $fld_controltype = $field->getVar('controltype'); $fld_datatype = $field->getVar('datatype'); $fld_departments = array_keys($depts); $fld_name = $field->getVar('name'); $fld_fieldname = $field->getVar('fieldname'); $fld_description = $field->getVar('description'); $fld_required = $field->getVar('required'); $fld_length = $field->getVar('fieldlength'); $fld_weight = $field->getVar('weight'); $fld_defaultvalue = $field->getVar('defaultvalue'); $fld_values = _formatValues($field->getVar('fieldvalues')); $fld_validation = $field->getVar('validation'); } //Display Field modification xoops_cp_header(); echo $oAdminButton->renderButtons('manfields'); //Edit Field Form $controls = xhelpGetControlArray(); $control_select = new XoopsFormSelect(_AM_XHELP_TEXT_CONTROLTYPE, 'fld_controltype', $fld_controltype); $control_select->setDescription(_AM_XHELP_TEXT_CONTROLTYPE_DESC); foreach ($controls as $key => $control) { $control_select->addOption($key, $control['label']); } $datatypes = array(_XHELP_DATATYPE_TEXT => _XHELP_DATATYPE_TEXT, _XHELP_DATATYPE_NUMBER_INT => _XHELP_DATATYPE_NUMBER_INT, _XHELP_DATATYPE_NUMBER_DEC => _XHELP_DATATYPE_NUMBER_DEC); $datatype_select = new XoopsFormSelect(_AM_XHELP_TEXT_DATATYPE, 'fld_datatype', $fld_datatype); $datatype_select->setDescription(_AM_XHELP_TEXT_DATATYPE_DESC); $datatype_select->addOptionArray($datatypes); $hDepts =& xhelpGetHandler('department'); $depts =& $hDepts->getObjects(); $dept_select = new XoopsFormSelect(_AM_XHELP_TEXT_DEPARTMENTS, 'fld_departments', $fld_departments, 5, true); $dept_select->setDescription(_AM_XHELP_TEXT_DEPT_DESC); foreach ($depts as $obj) { $dept_select->addOption($obj->getVar('id'), $obj->getVar('department')); } unset($depts); if (!$field_errors === false) { xhelpRenderErrors($field_errors, xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'clearEditSession', 'id' => $fld_id))); } $form = new xhelpForm(_AM_XHELP_EDIT_FIELD, 'edit_field', xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'editfield', 'id' => $fld_id))); $nameEle = new XoopsFormText(_AM_XHELP_TEXT_NAME, 'fld_name', 30, 64, $fld_name); $nameEle->setDescription(_AM_XHELP_TEXT_NAME_DESC); $form->addElement($nameEle); $fieldnameEle = new XoopsFormText(_AM_XHELP_TEXT_FIELDNAME, 'fld_fieldname', 30, 64, $fld_fieldname); $fieldnameEle->setDescription(_AM_XHELP_TEXT_FIELDNAME_DESC); $form->addElement($fieldnameEle); $descriptionEle = new XoopsFormTextArea(_AM_XHELP_TEXT_DESCRIPTION, 'fld_description', $fld_description, 5, 60); $descriptionEle->setDescription(_AM_XHELP_TEXT_DESCRIPTION_DESC); $form->addElement($descriptionEle); $form->addElement($dept_select); $form->addElement($control_select); $form->addElement($datatype_select); $required = new XoopsFormRadioYN(_AM_XHELP_TEXT_REQUIRED, 'fld_required', $fld_required); $required->setDescription(_AM_XHELP_TEXT_REQUIRED_DESC); $form->addElement($required); $lengthEle = new XoopsFormText(_AM_XHELP_TEXT_LENGTH, 'fld_length', 5, 5, $fld_length); $lengthEle->setDescription(_AM_XHELP_TEXT_LENGTH_DESC); $form->addElement($lengthEle); $widthEle = new XoopsFormText(_AM_XHELP_TEXT_WEIGHT, 'fld_weight', 5, 5, $fld_weight); $widthEle->setDescription(_AM_XHELP_TEXT_WEIGHT_DESC); $form->addElement($widthEle); $regex_control = new xhelpFormRegex(_AM_XHELP_TEXT_VALIDATION, 'fld_valid', $fld_validation); $regex_control->setDescription(_AM_XHELP_TEXT_VALIDATION_DESC); $regex_control->addOptionArray($regex_array); $form->addElement($regex_control); $defaultValueEle = new XoopsFormText(_AM_XHELP_TEXT_DEFAULTVALUE, 'fld_defaultvalue', 30, 100, $fld_defaultvalue); $defaultValueEle->setDescription(_AM_XHELP_TEXT_DEFAULTVALUE_DESC); $form->addElement($defaultValueEle); $values = new XoopsFormTextArea(_AM_XHELP_TEXT_FIELDVALUES, 'fld_values', $fld_values, 5, 60); $values->setDescription(_AM_XHELP_TEXT_FIELDVALUES_DESC); $form->addElement($values); $btn_tray = new XoopsFormElementTray(''); $btn_tray->addElement(new XoopsFormButton('', 'editField', _AM_XHELP_BUTTON_SUBMIT, 'submit')); $btn_tray->addElement(new XoopsFormButton('', 'cancel', _AM_XHELP_BUTTON_CANCEL)); $btn_tray->addElement(new XoopsFormHidden('id', $fld_id)); $form->addElement($btn_tray); echo $form->render(); xhelpAdminFooter(); xoops_cp_footer(); } else { //Validate Field Information $has_errors = false; $errors = array(); $values =& _parseValues($_POST['fld_values']); if (!($control = xhelpGetControl($_POST['fld_controltype']))) { $has_errors = true; $errors['fld_controltype'][] = _AM_XHELP_VALID_ERR_CONTROLTYPE; } $fld_needslength = $control['needs_length']; $fld_needsvalues = $control['needs_values']; //name field filled? if (trim($_POST['fld_name']) == '') { $has_errors = true; $errors['fld_name'][] = _AM_XHELP_VALID_ERR_NAME; } //fieldname filled if (trim($_POST['fld_fieldname']) == '') { $has_errors = true; $errors['fld_fieldname'][] = _AM_XHELP_VALID_ERR_FIELDNAME; } //fieldname unique? $crit = new CriteriaCompo(new Criteria('id', $fld_id, '!=')); $crit->add(new Criteria('fieldname', $_POST['fld_fieldname'])); if ($hField->getCount($crit)) { $has_errors = true; $errors['fld_fieldname'][] = _AM_XHELP_VALID_ERR_FIELDNAME_UNIQUE; } //Length filled if (intval($_POST['fld_length']) == 0 && $fld_needslength == true) { $has_errors = true; $errors['fld_length'][] = sprintf(_AM_XHELP_VALID_ERR_LENGTH, _XHELP_FIELD_MINLEN, _XHELP_FIELD_MAXLEN); } //default value in value set? if (count($values)) { if (!in_array($_POST['fld_defaultvalue'], $values, true) && !array_key_exists($_POST['fld_defaultvalue'], $values)) { $has_errors = true; $errors['fld_defaultvalue'][] = _AM_XHELP_VALID_ERR_DEFAULTVALUE; } //length larger than longest value? $length = intval($_POST['fld_length']); foreach ($values as $key => $value) { if (strlen($key) > $length) { $has_errors = true; $errors['fld_values'][] = sprintf(_AM_XHELP_VALID_ERR_VALUE_LENGTH, htmlentities($key), $length); } } } elseif ($fld_needsvalues) { $has_errors = true; $errors['fld_values'][] = _AM_XHELP_VALID_ERR_VALUE; } if ($has_errors) { $afield = array(); $afield['name'] = $_POST['fld_name']; $afield['description'] = $_POST['fld_description']; $afield['fieldname'] = $_POST['fld_fieldname']; $afield['departments'] = $_POST['fld_departments']; $afield['controltype'] = $_POST['fld_controltype']; $afield['datatype'] = $_POST['fld_datatype']; $afield['required'] = $_POST['fld_required']; $afield['weight'] = $_POST['fld_weight']; $afield['defaultvalue'] = $_POST['fld_defaultvalue']; $afield['values'] = $_POST['fld_values']; $afield['length'] = $_POST['fld_length']; $afield['validation'] = $_POST['fld_valid_select'] == $_POST['fld_valid_txtbox'] ? $_POST['fld_valid_select'] : $_POST['fld_valid_txtbox']; $session->set('xhelp_editField_' . $fld_id, $afield); $session->set('xhelp_editFieldErrors_' . $fld_id, $errors); //Redirect to edit page (display errors); header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'editfield', 'id' => $fld_id), false)); exit; } //Store Modified Field info $field->setVar('name', $_POST['fld_name']); $field->setVar('description', $_POST['fld_description']); $field->setVar('fieldname', $_POST['fld_fieldname']); $field->setVar('controltype', $_POST['fld_controltype']); $field->setVar('datatype', $_POST['fld_datatype']); $field->setVar('fieldlength', $_POST['fld_length']); $field->setVar('required', $_POST['fld_required']); $field->setVar('weight', $_POST['fld_weight']); $field->setVar('defaultvalue', $_POST['fld_defaultvalue']); $field->setVar('validation', $_POST['fld_valid_select'] == $_POST['fld_valid_txtbox'] ? $_POST['fld_valid_select'] : $_POST['fld_valid_txtbox']); $field->setValues($values); $field->addDepartments($_POST['fld_departments']); if ($hField->insert($field)) { _clearEditSessionVars($fld_id); redirect_header(xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php'), 3, _AM_XHELP_MSG_FIELD_UPD_OK); } else { redirect_header(xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'editfield', 'id' => $fld_id), false), 3, _AM_XHELP_MSG_FIELD_UPD_ERR); } } }