Beispiel #1
0
 /**
  * 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;
     }
 }