Further refactoring of the FormElement class.
authoranuko <support@anuko.com>
Wed, 1 Mar 2017 19:30:28 +0000 (19:30 +0000)
committeranuko <support@anuko.com>
Wed, 1 Mar 2017 19:30:28 +0000 (19:30 +0000)
12 files changed:
WEB-INF/lib/form/ActionForm.class.php
WEB-INF/lib/form/Calendar.class.php
WEB-INF/lib/form/CheckboxGroup.class.php
WEB-INF/lib/form/DateField.class.php
WEB-INF/lib/form/FloatField.class.php
WEB-INF/lib/form/Form.class.php
WEB-INF/lib/form/FormElement.class.php
WEB-INF/templates/footer.tpl
mobile/user_add.php
mobile/user_edit.php
user_add.php
user_edit.php

index ee30f7d..edc1570 100644 (file)
@@ -186,7 +186,7 @@ class ActionForm {
                        import('form.'.$ref_el["class"]);
                        $class_name = $ref_el["class"];
                        $el = new $class_name($ref_el["name"]);
-                       if (isset($GLOBALS["I18N"])) $el->setLocalization($GLOBALS["I18N"]);
+                       if (isset($GLOBALS["I18N"])) $el->localize($GLOBALS["I18N"]);
                        $el->setValueSafe(@$_SESSION[$this->mSessionCell . "_" .$el->getName()]);
                        
                                if ($this->mForm && !isset($this->mForm->elements[$ref_el["name"]])) {
index 01bd354..f4a50a8 100644 (file)
@@ -58,11 +58,10 @@ class Calendar extends FormElement {
          $this->highlight = $highlight;
     }
 
-    function setLocalization($i18n) {
+    function localize($i18n) {
       global $user;
       
-      FormElement::setLocalization($i18n);
-      $this->mMonthNames    = $i18n->monthNames;
+      $this->mMonthNames = $i18n->monthNames;
       $this->mWeekDayShortNames = $i18n->weekdayShortNames;
       if (is_array($i18n->holidays)) {
         foreach ($i18n->holidays as $fday) {
index 9f5cc05..136cc06 100644 (file)
@@ -60,8 +60,7 @@ class CheckboxGroup extends FormElement {
        function setGroupIn($value)     { $this->mGroupIn = $value; if ($this->mGroupIn<1) $this->mGroupIn = 1;}
        function getGroupIn() { return $this->mGroupIn; }
        
-       function setLocalization($i18n) {
-               FormElement::setLocalization($i18n);
+       function localize($i18n) {
                $this->lSelAll = $i18n->getKey('label.select_all');
                $this->lSelNone = $i18n->getKey('label.select_none');
        }
index 46ff7b8..320d524 100644 (file)
@@ -44,14 +44,13 @@ class DateField extends TextField {
     $this->mDateObj  = new DateAndTime();
 
     if (isset($GLOBALS["I18N"])) {
-      $this->setLocalization($GLOBALS["I18N"]);
+      $this->localize($GLOBALS["I18N"]);
     }
   }
 
-  function setLocalization($i18n)  {
-       global $user;
+  function localize($i18n)  {
+    global $user;
        
-    FormElement::setLocalization($i18n);
     $this->mDateObj->setFormat($user->date_format);
 
     $this->mMonthNames = $i18n->monthNames;
index c4e9d9e..6bbfd64 100644 (file)
@@ -38,8 +38,7 @@ class FloatField extends TextField {
     $this->name = $name;
   }
 
-  function setLocalization($i18n) {
-    FormElement::setLocalization($i18n);
+  function localize($i18n) {
     global $user;
     $this->mDelimiter = $user->decimal_mark;
   }
index ceaed43..cd506ae 100644 (file)
@@ -141,7 +141,7 @@ class Form {
                if ($el!=null) {
                        $el->setFormName($this->name);
                        if (isset($arguments["id"])) $el->setId($arguments["id"]);
-                       if (isset($GLOBALS["I18N"])) $el->setLocalization($GLOBALS["I18N"]);
+                       if (isset($GLOBALS["I18N"])) $el->localize($GLOBALS["I18N"]);
                        if (isset($arguments["enable"])) $el->setEnabled($arguments["enable"]);
                        
                        if (isset($arguments["style"])) $el->setStyle($arguments["style"]);
@@ -159,7 +159,7 @@ class Form {
        
        function addInputElement(&$el) {
                if ($el && is_object($el)) {
-                       if (isset($GLOBALS["I18N"])) $el->setLocalization($GLOBALS["I18N"]);
+                       if (isset($GLOBALS["I18N"])) $el->localize($GLOBALS["I18N"]);
                
                        $el->setFormName($this->name);
                        $this->elements[$el->name] = &$el;
index cf43b8d..f3d26a4 100644 (file)
@@ -60,30 +60,40 @@ class FormElement {
   function setValueSafe($value) { $this->value = $value;}
   function getValueSafe() { return $this->value; }
 
+  function setId($id) { $this->id = $id; }
+  function getId() { return $this->id; }
+
+  function setSize($value) { $this->size = $value; }
+  function getSize() { return $this->size; }
+
+  function setLabel($label) { $this->label = $label; }
+  function getLabel() { return $this->label; }
+
+  function setMaxLength($value) { $this->max_length = $value; }
+  function getMaxLength() { return $this->max_length; }
+
+  function setStyle($value) { $this->style = $value; }
+  function getStyle() { return $this->style; }
+
+  function setEnabled($flag) { $this->enabled = $flag; }
+  function isEnabled() { return $this->enabled; }
+
+  function setOnChange($str) { $this->on_change = $str; }
+  function setOnClick($str) { $this->on_click = $str; }
+
+  function localize($i18n) {} // Localization occurs in derived classes and is dependent on control type.
+                              // For example, in calendar control we need to localize day and month names.
+
   // TODO: refactoring ongoing down from here.
-       function setId($id) { $this->id = $id;  }
-       function getId() { return $this->id; }
-       
-       function setSize($value) { $this->size = $value; }
-       function getSize() { return $this->size; }
 
-       function setLabel($label) { $this->label = $label; }
-       function getLabel() { return $this->label; }
-       
-       function setMaxLength($value) { $this->max_length = $value; }
-       function getMaxLength() { return $this->max_length; }
 
-       function setStyle($value) { $this->style = $value; }
-       function getStyle() { return $this->style; }
 
-       function setEnabled($flag) { $this->enabled = $flag; }
-       function isEnabled() { return $this->enabled; }
+
+
        
-       function setOnChange($str) { $this->on_change = $str; }
-       function setOnClick($str) { $this->on_click = $str; }
 
-       function setLocalization($i18n) {
-        }
+
+
        
        function toStringControl()      {
                return "";
index 06b606c..14dadd5 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.10.38.3611 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.10.38.3612 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index 34c4822..eec9662 100644 (file)
@@ -107,7 +107,7 @@ class RateCellRenderer extends DefaultCellRenderer {
     global $assigned_projects;
     $field = new FloatField('rate_'.$table->getValueAtName($row, 'id'));
     $field->setFormName($table->getFormName());
-    $field->setLocalization($GLOBALS['I18N']);
+    $field->localize($GLOBALS['I18N']);
     $field->setSize(5);
     $field->setFormat('.2');
     foreach ($assigned_projects as $p) {
index 4f3b9aa..96532d9 100644 (file)
@@ -137,7 +137,7 @@ class RateCellRenderer extends DefaultCellRenderer {
     global $assigned_projects;
     $field = new FloatField('rate_'.$table->getValueAtName($row,'id'));
     $field->setFormName($table->getFormName());
-    $field->setLocalization($GLOBALS['I18N']);
+    $field->localize($GLOBALS['I18N']);
     $field->setSize(5);
     $field->setFormat('.2');
     foreach ($assigned_projects as $p) {
index 08d66a7..6b5befe 100644 (file)
@@ -107,7 +107,7 @@ class RateCellRenderer extends DefaultCellRenderer {
     global $assigned_projects;
     $field = new FloatField('rate_'.$table->getValueAtName($row, 'id'));
     $field->setFormName($table->getFormName());
-    $field->setLocalization($GLOBALS['I18N']);
+    $field->localize($GLOBALS['I18N']);
     $field->setSize(5);
     $field->setFormat('.2');
     foreach ($assigned_projects as $p) {
index 8f71e55..b3f4111 100644 (file)
@@ -137,7 +137,7 @@ class RateCellRenderer extends DefaultCellRenderer {
     global $assigned_projects;
     $field = new FloatField('rate_'.$table->getValueAtName($row,'id'));
     $field->setFormName($table->getFormName());
-    $field->setLocalization($GLOBALS['I18N']);
+    $field->localize($GLOBALS['I18N']);
     $field->setSize(5);
     $field->setFormat('.2');
     foreach ($assigned_projects as $p) {