示例#1
0
 /**
  * Constructor
  * @param	object    $object   reference to targetobject (@link icms_ipf_Object)
  * @param	string    $key      the form name
  */
 public function __construct($object, $key)
 {
     $this->_object = $object;
     $this->_key = $key;
     parent::__construct($object->vars[$key]['form_caption'], $key, isset($object->vars[$key]['form_maxfilesize']) ? $object->vars[$key]['form_maxfilesize'] : 0);
     $this->setExtra(" size=30");
 }
示例#2
0
 public function __construct($caption, $name, $maxfilesize = '4096000')
 {
     parent::__construct($caption, $name, $maxfilesize);
     $this->_deprecated = icms_core_Debug::setDeprecated('icms_config_item_Object', sprintf(_CORE_REMOVE_IN_VERSION, '1.4'));
 }
示例#3
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;
 }