Introduced a debug option and a localization string for holidays.
[timetracker.git] / WEB-INF / lib / form / Checkbox.class.php
index f605edf..c4acbc5 100644 (file)
 import('form.FormElement');
 
 class Checkbox extends FormElement {
-    var $mChecked      = false;
-    var $mOptions      = null;
-    var $cClassName            = "Checkbox";
 
-       function Checkbox($name,$value="")
-       {
-               $this->mName                    = $name;
-               $this->mValue                   = $value;
-       }
+  function __construct($name) {
+    $this->class = 'Checkbox';
+    $this->name = $name;
+  }
 
-       function setChecked($value)     { $this->mChecked = $value; }
-       function isChecked() { return $this->mChecked; }
-       
-       function setData($value)        { $this->mOptions = $value; }
-       function getData() { return $this->mOptions; }
-       
-       function toStringControl()      {
-               if (!$this->isRenderable()) return "";
-           
-           if ($this->mId=="") $this->mId = $this->mName;
-           
-               $html = "\n\t<input type=\"checkbox\"";
-               $html .= " name=\"$this->mName\" id=\"$this->mId\"";
-               
-               if ($this->mTabindex!="")
-                  $html .= " tabindex=\"$this->mTabindex\"";
-                  
-               if ($this->mOnChange!="")
-                  $html .= " onchange=\"$this->mOnChange\"";
+  function getHtml() {
+    if ($this->id == '') $this->id = $this->name;
+
+    $html = "\n\t<input type=\"checkbox\"";
+    $html.= " id=\"$this->id\" name=\"$this->name\"";
+
+    if ($this->value)
+      $html.= " checked=\"true\"";
+
+               if ($this->on_change!="")
+                  $html .= " onchange=\"$this->on_change\"";
                   
-               if ($this->mStyle!="")
-                  $html .= " style=\"$this->mStyle\"";
+               if ($this->style!="")
+                  $html .= " style=\"$this->style\"";
+
 
-               if ($this->mChecked || (($this->mValue == $this->mOptions) && ($this->mValue != null)))
-                  $html .= " checked=\"true\"";
                   
-               if (!$this->isEnable())
+               if (!$this->isEnabled())
                   $html .= " disabled=\"disabled\"";
-                  
-               $html .= " value=\"".htmlspecialchars($this->mOptions)."\"";
+
+      // Provide a value so that we pass "1" for set checkboxes on form submit.
+      // Otherwise the default is "on" string, which is not what we want.
+      $html .= " value=\"1\"";
                
                $html .= "/>\n";   
                
                return $html;
        }
 }
-?>
\ No newline at end of file