]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/form/Form.class.php
Resumed refactoring forms, hopefully without breaking reports this time.
[timetracker.git] / WEB-INF / lib / form / Form.class.php
index 14680db48710f866e35d00fe0690e8d6b3c59786..a45b55a31d6c8abd44ca6bedddcc08defdba4e4f 100644 (file)
@@ -38,27 +38,17 @@ class Form {
   var $name = '';
   // TODO: refactoring ongoing down from here.
 
-       var $mMethod       = "post";
-       var $mEnctype      = "";
-       var $mId           = "";
-    var $error;
-       var $debugFunction;
-       var $mElements     = array();
+       var $mElements = array();
        var $mRequest;
-//     var $mFormBean;
     
-    function __construct($formid) {
-        $this->name = $formid;
+    function __construct($formName) {
+        $this->name = $formName;
     }
     
     function setRequest(&$request) {
         $this->mRequest = &$request;
     }
-    
-/*    function setFormBean(&$bean) {
-        $this->mFormBean = &$bean;
-    }
-*/    
+
     function &getElement($name) {
        return $this->mElements[$name];
     }
@@ -74,15 +64,8 @@ class Form {
        // name
        // onsubmit
        // onreset
-       function setName($value) { $this->name = $value; }
     function getName() { return $this->name; }
     
-    function setId($value) { $this->mId = $value; }
-    function getId() { return $this->mId; }
-    
-    function setMethod($value) { $this->mMethod = $value; }
-    function getMethod() { return $this->mMethod; }
-    
     function isSubmit()        {
        if (!isset($this->mRequest)) return false;
         $result = false;
@@ -98,15 +81,6 @@ class Form {
         return $result;
     }
        
-       function OutputError($error,$scope="")
-       {
-               $this->error=(strcmp($scope,"") ? $scope.": ".$error : $error);
-               if(strcmp($function=$this->debugFunction,"")
-               && strcmp($this->error,""))
-                       $function($this->error);
-               return($this->error);
-       }
-       
        //// INPUT element
        // type = TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON
        // name
@@ -122,18 +96,6 @@ class Form {
        // onselect -  INPUT and TEXTAREA
        // onchange
        function addInput($arguments) {
-               if(strcmp(gettype($arguments),"array"))
-                       $this->OutputError("arguments must be array","AddInput");
-                       
-               if(!isset($arguments["type"]) || !strcmp($arguments["type"],""))
-                       return($this->OutputError("Type not defined","AddInput"));
-                       
-               if(!isset($arguments["name"]) || !strcmp($arguments["name"],""))
-                       return($this->OutputError("Name of element not defined","AddInput"));
-                       
-               if (isset($this->mElements[$arguments["name"]]))
-                   return($this->OutputError("it was specified '".$arguments["name"]."' name of an already defined input","AddInput"));
-                       
                switch($arguments["type"]) {
                    
                        case "textfield":
@@ -216,9 +178,6 @@ class Form {
                            $el = new UploadFile($arguments["name"]);
                            if (isset($arguments["maxsize"])) $el->setMaxSize($arguments["maxsize"]);
                            break;
-                             
-                       default:
-                               return($this->OutputError("Type not found for input element","AddInput"));
                }
                if ($el!=null) {
                        $el->setFormName($this->name);
@@ -242,9 +201,6 @@ class Form {
        
        function addInputElement(&$el) {
                if ($el && is_object($el)) {
-                       if (!$el->getName())
-                           return($this->OutputError("no name in element","addInputElement"));
-                           
                        if (isset($GLOBALS["I18N"])) $el->setLocalization($GLOBALS["I18N"]);
                
                        $el->setFormName($this->name);
@@ -256,22 +212,16 @@ class Form {
        function toStringOpenTag() {
         $html = "<form name=\"$this->name\"";
         
-        if ($this->mId!="") 
-            $html .= " id=\"$this->mId\"";
-            
-        if ($this->mMethod!="") 
-            $html .= " method=\"$this->mMethod\"";
+        $html .= ' method="post"';
         
-        // for upload forms
+        // Add enctype for file upload forms.
         foreach ($this->mElements as $elname=>$el) {
-            if (strtolower(get_class($this->mElements[$elname]))=="uploadfile") {
-               $this->mEnctype = "multipart/form-data";
+            if (strtolower(get_class($this->mElements[$elname])) == 'uploadfile') {
+                $html .= ' enctype="multipart/form-data"';
+                break;
             }
         }
-        
-        if ($this->mEnctype!="")
-               $html .= " enctype=\"$this->mEnctype\"";
-        
+
         $html .= ">";
         return $html;
     }