Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
$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();
Ejemplo n.º 3
0
 */
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) {