/** * Constructor * * @param string $caption * @param string $name * @param mixed $value Pre-selected value (or array of them). * For an item with massive members, such as "Registered Users", "$value" should be used to store selected temporary users only instead of all members of that item * @param bool $include_anon Include user "anonymous"? * @param int $size Number or rows. "1" makes a drop-down-list. * @param bool $multiple Allow multiple selections? */ function __construct($caption, $name, $include_anon = false, $value = null, $size = 1, $multiple = false) { $limit = 200; $select_element = new Xmf_Form_Element_Select("", $name, $value, $size, $multiple); if ($include_anon) { $select_element->addOption(0, $GLOBALS["xoopsConfig"]['anonymous']); } $member_handler =& xoops_gethandler('member'); $user_count = $member_handler->getUserCount(); $value = is_array($value) ? $value : (empty($value) ? array() : array($value)); if ($user_count > $limit && count($value) > 0) { $criteria = new CriteriaCompo(new Criteria("uid", "(" . implode(",", $value) . ")", "IN")); } else { $criteria = new CriteriaCompo(); $criteria->setLimit($limit); } $criteria->setSort('uname'); $criteria->setOrder('ASC'); $users = $member_handler->getUserList($criteria); $select_element->addOptionArray($users); if ($user_count <= $limit) { parent::__construct($caption, "", $name); $this->addElement($select_element); return; } xoops_loadLanguage("findusers"); $js_addusers = "<script type=\"text/javascript\">\r\n function addusers(opts){\r\n var num = opts.substring(0, opts.indexOf(\":\"));\r\n opts = opts.substring(opts.indexOf(\":\")+1, opts.length);\r\n var sel = xoopsGetElementById(\"" . $name . ($multiple ? "[]" : "") . "\");\r\n var arr = new Array(num);\r\n for (var n=0; n < num; n++) {\r\n var nm = opts.substring(0, opts.indexOf(\":\"));\r\n opts = opts.substring(opts.indexOf(\":\")+1, opts.length);\r\n var val = opts.substring(0, opts.indexOf(\":\"));\r\n opts = opts.substring(opts.indexOf(\":\")+1, opts.length);\r\n var txt = opts.substring(0, nm - val.length);\r\n opts = opts.substring(nm - val.length, opts.length);\r\n var added = false;\r\n for (var k = 0; k < sel.options.length; k++) {\r\n if(sel.options[k].value == val){\r\n added = true;\r\n break;\r\n }\r\n }\r\n if (added == false) {\r\n sel.options[k] = new Option(txt, val);\r\n sel.options[k].selected = true;\r\n }\r\n }\r\n return true;\r\n }\r\n </script>"; $token = $GLOBALS['xoopsSecurity']->createToken(); $action_tray = new Xmf_Form_Element_Tray("", " | "); $action_tray->addElement(new Xmf_Form_Element_Label('', "<a href='#' onclick='var sel = xoopsGetElementById(\"" . $name . ($multiple ? "[]" : "") . "\");for (var i = sel.options.length-1; i >= 0; i--) {if (!sel.options[i].selected) {sel.options[i] = null;}}; return false;'>" . _MA_USER_REMOVE . "</a>")); $action_tray->addElement(new Xmf_Form_Element_Label('', "<a href='#' onclick='openWithSelfMain(\"" . XOOPS_URL . "/include/findusers.php?target={$name}&multiple={$multiple}&token={$token}\", \"userselect\", 800, 600, null); return false;' >" . _MA_USER_MORE . "</a>" . $js_addusers)); parent::__construct($caption, "<br /><br />", $name); $this->addElement($select_element); $this->addElement($action_tray); }
/** * Get a config * * @param string $title caption of the form element * @param string $key key of the variable in the passed object * @param object $object the passed object (target object) (@todo which object) */ function __construct($title, $key, $object) { parent::__construct($title, ' '); if ($object->getVar('url') != '') { $caption = $object->getVar('caption') != '' ? $object->getVar('caption') : $object->getVar('url'); $this->addElement(new Xmf_Form_Element_Label('', _FORM_XMF_CURRENT_FILE . "<a href='" . str_replace('{ICMS_URL}', ICMS_URL, $object->getVar('url')) . "' target='_blank' >" . $caption . "</a><br/><br/>")); //$this->addElement( new XoopsFormLabel( '', "<br/><a href = '".SMARTOBJECT_URL."admin/file.php?op=del&fileid=".$object->id()."'>"._FORM_XUUPS_DELETE_FILE."</a>")); } if ($object->isNew()) { $this->addElement(new Xmf_Object_Form_Element_Upload_File($object, $key)); $this->addElement(new Xmf_Form_Element_Label('', '<br/><br/><small>' . _FORM_XMF_URL_FILE_DSC . '</small>')); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_URL_FILE)); $this->addElement(new Xmf_Object_Form_Element_Text($object, 'url_' . $key)); } $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_CAPTION)); $this->addElement(new Xmf_Object_Form_Element_Text($object, 'caption_' . $key)); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_DESC . '<br/>')); $this->addElement(new Xmf_Form_Element_Textarea('', 'desc_' . $key, $object->getVar('description'))); if (!$object->isNew()) { $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_CHANGE_FILE)); $this->addElement(new Xmf_Object_Form_Element_Upload_File($object, $key)); $this->addElement(new Xmf_Form_Element_Label('', '<br/><br/><small>' . _FORM_XMF_URL_FILE_DSC . '</small>')); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_URL_FILE)); $this->addElement(new Xmf_Object_Form_Element_Text($object, 'url_' . $key)); } }
/** * Constructor * * @param object $form the form calling the editor selection * @param string $name editor name * @param string $value Pre-selected text value * @param bool $noHtml dohtml disabled */ function __construct(&$form, $name = "editor", $value = null, $nohtml = false, $allowed_editors = array()) { parent::__construct(_SELECT); $this->allowed_editors = $allowed_editors; $this->form =& $form; $this->name = $name; $this->value = $value; $this->nohtml = $nohtml; }
/** * Constructor * @param object $object reference to targetobject (@link IcmsPersistableObject) * @param string $key the form name */ function __construct($object, $key) { $var = $object->vars[$key]; $control = $object->controls[$key]; parent::__construct($var['title'] . '<br />' . _US_TYPEPASSTWICE, ' ', $key . '_password_tray'); $password_box1 = new Xmf_Form_Element_Password('', $key . '1', 10, 32); $this->addElement($password_box1); $password_box2 = new Xmf_Form_Element_Password('', $key . '2', 10, 32); $this->addElement($password_box2); }
/** * Constructor * @param object $object reference to targetobject (@link IcmsPersistableObject) * @param string $key the form name */ function __construct($object, $key) { $var = $object->vars[$key]; $control = $object->controls[$key]; parent::__construct($var['title'], '<br /><br />', $key . '_signature_tray'); $signature_textarea = new Xmf_Form_Element_Textarea_Dhtml('', $key, $object->getVar($key, 'e')); $this->addElement($signature_textarea); $attach_checkbox = new Xmf_Form_Element_Checkbox('', 'attachsig', $object->getVar('attachsig', 'e')); $attach_checkbox->addOption(1, _US_SHOWSIG); $this->addElement($attach_checkbox); }
/** * Constructor * @param object $title the caption of the form * @param string $key the key * @param object $object reference to targetobject (@todo, which object will be passed here?) */ function __construct($title, $key, $object) { parent::__construct($title, ' '); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_URLLINK_URL)); $this->addElement(new Xmf_Object_Form_Element_Text($object, 'url_' . $key)); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_CAPTION)); $this->addElement(new Xmf_Object_Form_Element_Text($object, 'caption_' . $key)); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_DESC . '<br/>')); $this->addElement(new Xmf_Form_Element_Textarea('', 'desc_' . $key, $object->getVar('description'))); $this->addElement(new Xmf_Form_Element_Label('', '<br/>' . _FORM_XMF_URLLINK_TARGET)); $targ_val = $object->getVar('target'); $targetRadio = new Xmf_Form_Element_Radio('', 'target_' . $key, $targ_val != '' ? $targ_val : '_blank'); $control = $object->getControl('target'); $targetRadio->addOptionArray($control['options']); $this->addElement($targetRadio); }
function __construct($caption, $name, $size = 15, $value = 0) { parent::__construct($caption, ' '); $value = intval($value); $value = $value > 0 ? $value : time(); $datetime = getDate($value); $this->addElement(new Xmf_Form_Element_Text_DateSelect('', $name . '[date]', $size, $value)); $timearray = array(); for ($i = 0; $i < 24; $i++) { for ($j = 0; $j < 60; $j = $j + 10) { $key = $i * 3600 + $j * 60; $timearray[$key] = $j != 0 ? $i . ':' . $j : $i . ':0' . $j; } } ksort($timearray); $timeselect = new Xmf_Form_Element_Select('', $name . '[time]', $datetime['hours'] * 3600 + 600 * ceil($datetime['minutes'] / 10)); $timeselect->addOptionArray($timearray); $this->addElement($timeselect); }