/** * Returns a {@link icms_form_Element} for editing the value of this field * * @param icms_member_user_Object $user {@link icms_member_user_Object} object to edit the value of * @param mod_profile_Profile $profile {@link mod_profile_Profile} object to edit the value of * * @return icms_form_Element */ public function getEditElement($user, $profile) { $value = in_array($this->getVar('field_name'), $this->getUserVars()) ? $user->getVar($this->getVar('field_name'), 'e') : $profile->getVar($this->getVar('field_name'), 'e'); if ($value === null) { $value = $this->getVar('field_default'); } $caption = $this->getVar('field_title'); $caption = defined($caption) ? constant($caption) : $caption; $name = $this->getVar('field_name', 'e'); $options = unserialize($this->getVar('field_options', 'n')); if ($this->getVar('field_type') != "image" && is_array($options)) { asort($options); foreach (array_keys($options) as $key) { $optval = defined($options[$key]) ? constant($options[$key]) : $options[$key]; $optkey = defined($key) ? constant($key) : $key; unset($options[$key]); $options[$optkey] = $optval; } } switch ($this->getVar('field_type')) { case "autotext": $element = new icms_form_elements_Label($caption, $value); break; case "textarea": $element = new icms_form_elements_Textarea($caption, $name, $value, 4, 30); break; case "dhtml": $element = new icms_form_elements_Dhtmltextarea($caption, $name, $value, 10, 30); break; case "select": $element = new icms_form_elements_Select($caption, $name, $value); $element->addOptionArray($options); break; case "select_multi": $element = new icms_form_elements_Select($caption, $name, $value, 5, true); $element->addOptionArray($options); break; case "radio": $element = new icms_form_elements_Radio($caption, $name, $value); $element->addOptionArray($options); break; case "checkbox": $element = new icms_form_elements_Checkbox($caption, $name, $value); $element->addOptionArray($options); break; case "yesno": $element = new icms_form_elements_Radioyn($caption, $name, $value); break; case "group": $element = new icms_form_elements_select_Group($caption, $name, true, $value); break; case "group_multi": $element = new icms_form_elements_select_Group($caption, $name, true, $value, 5, true); break; case "language": $element = new icms_form_elements_select_Lang($caption, $name, $value); break; case "date": $element = new icms_form_elements_Date($caption, $name, 15, $value); break; case "longdate": $element = new icms_form_elements_Date($caption, $name, 15, str_replace("-", "/", $value)); break; case "datetime": $element = new icms_form_elements_Datetime($caption, $name, 15, $value); break; case "timezone": $element = new icms_form_elements_select_Timezone($caption, $name, $value); $element->setExtra("style='width: 280px;'"); break; case "rank": $element = new icms_form_elements_Select($caption, $name, $value); $ranks = icms_getModuleHandler("userrank", "system")->getList(icms_buildCriteria(array("rank_special" => 1))); $element->addOption(0, "--------------"); $element->addOptionArray($ranks); break; case "theme": $element = new icms_form_elements_Select($caption, $name, $value); $element->addOption("0", _MD_PROFILE_SITEDEFAULT); $handle = opendir(ICMS_THEME_PATH . '/'); $dirlist = array(); while (false !== ($file = readdir($handle))) { if (is_dir(ICMS_THEME_PATH . '/' . $file) && !preg_match("/^[.]{1,2}\$/", $file) && strtolower($file) != 'cvs') { if (file_exists(ICMS_THEME_PATH . '/' . $file . '/theme.html') && in_array($file, $GLOBALS['icmsConfig']['theme_set_allowed'])) { $dirlist[$file] = $file; } } } closedir($handle); if (!empty($dirlist)) { asort($dirlist); $element->addOptionArray($dirlist); } break; case "image": $element = new icms_form_elements_File($caption, $name, $options['maxsize'] * 1024); if ($value != "") { $this->assignVar('field_description', ""); $element->setDescription($this->getOutputValue($user, $profile)); } break; case "openid": if ($icmsConfigAuth['auth_openid'] != 1) { break; } $element = new icms_form_elements_Text($caption, $name, 35, $this->getVar('field_maxlength'), $value); break; case "textbox": default: $element = new icms_form_elements_Text($caption, $name, 35, $this->getVar('field_maxlength'), $value); break; } if ($this->getVar('field_description') != '') { $element->setDescription($this->getVar('field_description')); } return $element; }
$type_select->addOptionArray(array("AND" => _SR_ALL, "OR" => _SR_ANY, "exact" => _SR_EXACT)); $search_form->addElement($type_select); if (!empty($mids)) { $mods_checkbox = new icms_form_elements_Checkbox(_SR_SEARCHIN, "mids[]", $mids); } else { $mods_checkbox = new icms_form_elements_Checkbox(_SR_SEARCHIN, "mids[]", $mid); } if (empty($modules)) { $criteria = new icms_db_criteria_Compo(); $criteria->add(new icms_db_criteria_Item('hassearch', 1)); $criteria->add(new icms_db_criteria_Item('isactive', 1)); if (!empty($available_modules)) { $criteria->add(new icms_db_criteria_Item('mid', "(" . implode(',', $available_modules) . ")", 'IN')); } $module_handler = icms::handler('icms_module'); $mods_checkbox->addOptionArray($module_handler->getList($criteria)); } else { unset($module); foreach (array_keys($modules) as $mid) { $module_array[$mid] = $modules[$mid]->getVar('name'); } $mods_checkbox->addOptionArray($module_array); } $search_form->addElement($mods_checkbox); if ($icmsConfigSearch['keyword_min'] > 0) { $search_form->addElement(new icms_form_elements_Label(_SR_SEARCHRULE, sprintf(_SR_KEYIGNORE, icms_conv_nr2local($icmsConfigSearch['keyword_min'])))); } $search_form->addElement(new icms_form_elements_Hidden("action", "results")); $search_form->addElement(new icms_form_elements_Hiddentoken('id')); $search_form->addElement(new icms_form_elements_Button("", "submit", _SR_SEARCH, "submit")); return $search_form->render();
*/ if (!in_array(XOOPS_GROUP_ADMIN, $groups)) { $ed_mod = $gperm->getItemIds('use_wysiwygeditor', $groups); $criteria->add(new icms_db_criteria_Item('mid', '(' . implode(',', $ed_mod) . ')', 'IN')); } $ed_mod_checkbox->addOptionArray($module_handler->getList($criteria)); $debug_mod_checkbox = new icms_form_elements_Checkbox(_AM_DEBUG_PERM, "enabledebug_mids[]", $debug_mod_value); $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('isactive', 1)); /* criteria added to see where the active user can view the debug mode (enable_debug) * administrators do not have explicit entries for this, do not filter */ if (!in_array(XOOPS_GROUP_ADMIN, $groups)) { $debug_mod = $gperm->getItemIds('enable_debug', $groups); $criteria->add(new icms_db_criteria_Item('mid', '(' . implode(',', $debug_mod) . ')', 'IN')); } $debug_mod_checkbox->addOptionArray($module_handler->getList($criteria)); $group_manager_checkbox = new icms_form_elements_Checkbox(_AM_GROUPMANAGER_PERM, "groupmanager_gids[]", $group_manager_value); $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('isactive', 1)); $groups = $member_handler->getGroups(); $gperm_handler = icms::handler('icms_member_groupperm'); foreach ($groups as $group) { if ($gperm_handler->checkRight('group_manager', $group->getVar('groupid'), icms::$user->getGroups())) { $group_manager_checkbox->addOption($group->getVar('groupid'), $group->getVar('name')); } } $icms_block_handler = icms::handler('icms_view_block'); $posarr = $icms_block_handler->getBlockPositions(true); $block_checkbox = array(); $i = 0; $groups = icms::$user->getGroups(); foreach ($posarr as $k => $v) {