Refactoring in UploadFile.class.php to simplify things.
[timetracker.git] / WEB-INF / lib / form / Form.class.php
index cf7890c..1f77414 100644 (file)
@@ -95,6 +95,12 @@ class Form {
         $el = new Submit($params['name']);
         break;
 
+      case 'upload':
+        import('form.UploadFile');
+        $el = new UploadFile($params['name']);
+        if (isset($params['maxsize'])) $el->setMaxSize($params['maxsize']);
+        break;
+
 // TODO: refactoring ongoing down from here.
                        case "checkboxgroup":
                            import('form.CheckboxGroup');
@@ -110,6 +116,10 @@ class Form {
                            $el = new Combobox($params["name"]);
                            $el->setData(@$params["data"]);
                            $el->setDataDefault(@$params["empty"]);
+                            if (isset($params["multiple"])) {
+                              $el->setMultiple($params["multiple"]);
+                              $el->name .= '[]'; // Add brackets to the end of name to get back an array on POST.
+                            }
                            if (isset($params["datakeys"])) $el->setDataKeys($params["datakeys"]);
                            break;
 
@@ -125,17 +135,11 @@ class Form {
                            $el->setData(@$params["data"]);
                            $el->setWidth(@$params["width"]);
                            break;
-                           
-                       case "upload":
-                           import('form.UploadFile');
-                           $el = new UploadFile($params["name"]);
-                           if (isset($params["maxsize"])) $el->setMaxSize($params["maxsize"]);
-                           break;
                }
                if ($el!=null) {
                        $el->setFormName($this->name);
                        if (isset($params["id"])) $el->setId($params["id"]);
-                       if (isset($GLOBALS["I18N"])) $el->localize($GLOBALS["I18N"]);
+                       $el->localize();
                        if (isset($params["enable"])) $el->setEnabled($params["enable"]);
                        
                        if (isset($params["style"])) $el->setStyle($params["style"]);
@@ -153,7 +157,7 @@ class Form {
        
        function addInputElement(&$el) {
                if ($el && is_object($el)) {
-                       if (isset($GLOBALS["I18N"])) $el->localize($GLOBALS["I18N"]);
+                       $el->localize();
                
                        $el->setFormName($this->name);
                        $this->elements[$el->name] = &$el;