/** * Constructor * @param object $object reference to targetobject (@link IcmsPersistableObject) * @param string $key the form name */ function __construct($object, $key) { $var = $object->vars[$key]; $object_imageurl = $object->getImageDir(); parent::__construct($var['title'], ' '); if (isset($objectArray['image'])) { $objectArray['image'] = str_replace('{ICMS_URL}', ICMS_URL, $objectArray['image']); } if ($object->getVar($key, 'e') != '' && (substr($object->getVar($key, 'e'), 0, 4) == 'http' || substr($object->getVar($key, 'e'), 0, 11) == '{XOOPS_URL}')) { $this->addElement(new Xmf_Form_Element_Label('', "<img src='" . str_replace('{XOOPS_URL}', XOOPS_URL, $object->getVar($key, 'e')) . "' alt='' /><br/><br/>")); } else { if ($object->getVar($key, 'e') != '') { $this->addElement(new Xmf_Form_Element_Label('', "<img src='" . $object_imageurl . $object->getVar($key, 'e') . "' alt='' /><br/><br/>")); } } $this->addElement(new Xmf_Object_Form_Element_Upload_File($object, $key)); $this->addElement(new Xmf_Form_Element_Label('<div style="padding-top: 8px; font-size: 80%;">' . _FORM_XMF_URL_FILE_DSC . '</div>', '')); $this->addElement(new Xmf_Form_Element_Label('', '<br />' . _FORM_XMF_URL_FILE)); $this->addElement(new Xmf_Form_Element_Text('', 'url_' . $key, 50, 500)); if (!$object->isNew()) { $this->addElement(new Xmf_Form_Element_Label('', '<br /><br />')); $delete_check = new Xmf_Form_Element_Checkbox_Check('', 'delete_' . $key); $delete_check->addOption(1, '<span style="color:red;">' . _FORM_XMF_DELETE . '</span>'); $this->addElement($delete_check); } }
/** * Gets a control from the targetobject (@todo, which object will be passed here?) * * @param string $controlName name of the control element * @param string $key key of the form variables in the targetobject */ function getControl($controlName, $key) { if (!$controlName) { $controlName = 'select'; } switch ($controlName) { case 'check': $control = $this->targetObject->getControl($key); $controlObj = new Xmf_Form_Element_Checkbox_Check($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key)); $controlObj->addOptionArray($control['options']); return $controlObj; break; case 'color': $control = $this->targetObject->getControl($key); $controlObj = new Xmf_Form_Element_Colorpicker($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key)); return $controlObj; break; case 'radio': $control = $this->targetObject->getControl($key); $controlObj = new Xmf_Form_Element_Radio($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key)); $controlObj->addOptionArray($control['options']); return $controlObj; break; case 'label': return new Xmf_Form_Element_Label($this->targetObject->vars[$key]['title'], $this->targetObject->getVar($key)); break; case 'textarea': $form_rows = isset($this->targetObject->controls[$key]['rows']) ? $this->targetObject->controls[$key]['rows'] : 5; $form_cols = isset($this->targetObject->controls[$key]['cols']) ? $this->targetObject->controls[$key]['cols'] : 60; $editor = new Xmf_Form_Element_Textarea($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key, 'e'), $form_rows, $form_cols); if ($this->targetObject->vars[$key]['desc']) { $editor->setDescription($this->targetObject->vars[$key]['desc']); } return $editor; break; case 'dhtmltextarea': $editor = new Xmf_Form_Element_Textarea_Dhtml($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key, 'e'), 20, 60); if ($this->targetObject->vars[$key]['desc']) { $editor->setDescription($this->targetObject->vars[$key]['desc']); } return $editor; break; case 'theme': return $this->getThemeSelect($key, $this->targetObject->vars[$key]); case 'theme_multi': return $this->getThemeSelect($key, $this->targetObject->vars[$key], true); break; case 'timezone': return new Xmf_Form_Element_Select_Timezone($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key)); break; case 'group': return new Xmf_Form_Element_Select_Group($this->targetObject->vars[$key]['title'], $key, false, $this->targetObject->getVar($key, 'e'), 1, false); break; case 'group_multi': return new Xmf_Form_Element_Select_Group($this->targetObject->vars[$key]['title'], $key, false, $this->targetObject->getVar($key, 'e'), 5, true); break; /*case 'user': return new XoopsFormSelectUser($this->targetObject->vars[$key]['title'], $key, false, $this->targetObject->getVar($key, 'e'), 1, false); break;*/ /*case 'user': return new XoopsFormSelectUser($this->targetObject->vars[$key]['title'], $key, false, $this->targetObject->getVar($key, 'e'), 1, false); break;*/ case 'user_multi': return new Xmf_Form_Element_Select_User($this->targetObject->vars[$key]['title'], $key, false, $this->targetObject->getVar($key, 'e'), 5, true); break; case 'password': return new Xmf_Form_Element_Password($this->targetObject->vars[$key]['title'], $key, 50, 255, $this->targetObject->getVar($key, 'e')); break; case 'country': return new Xmf_Form_Element_Select_Country($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key, 'e')); break; case 'urllink': return new Xmf_Object_Form_Element_Tray_UrlLink($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getUrlLinkObj($key)); break; case 'richfile': return new Xmf_Object_Form_Element_Tray_Richfile($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getFileObj($key)); break; case 'source': case 'sourceeditor': return new Xmf_Form_Element_Textarea_Sourceeditor($this->targetObject->vars[$key]['title'], $key, $this->targetObject->getVar($key, 'e')); break; case 'hidden': return new Xmf_Form_Element_Hidden($key, $this->targetObject->vars[$key]['value']); break; /*case 'readonly'; $control = new Xmf_Form_Element_Hidden($key, $this->targetObject->vars[$key]['value']); $control->setExtra('disabled="disabled"'); $control->setName($key . '-readonly'); return $control; break;*/ /*case 'readonly'; $control = new Xmf_Form_Element_Hidden($key, $this->targetObject->vars[$key]['value']); $control->setExtra('disabled="disabled"'); $control->setName($key . '-readonly'); return $control; break;*/ default: $classname = "Xmf_Object_Form_Element_" . ucfirst($controlName) . ""; return new $classname($this->targetObject, $key); break; } }