Some improvements in ttConfigHelper class.
authorNik Okuntseff <support@anuko.com>
Sat, 1 Dec 2018 14:23:31 +0000 (14:23 +0000)
committerNik Okuntseff <support@anuko.com>
Sat, 1 Dec 2018 14:23:31 +0000 (14:23 +0000)
WEB-INF/lib/ttConfigHelper.class.php
WEB-INF/templates/footer.tpl

index 20af19a..6790e21 100644 (file)
@@ -38,13 +38,15 @@ class ttConfigHelper {
 
   // Constructor.
   function __construct($config) {
-    $this->config = $config;
-    $this->config_array = explode(',', $this->config);
+    $this->config = trim($config, ' ,');
+    if ($this->config)
+      $this->config_array = explode(',', $this->config);
   }
 
   // getDefinedValue determines if a value identified by name is defined.
   function getDefinedValue($name) {
-    return in_array($name, $this->config_array);
+    $defined = $this->config_array ? in_array($name, $this->config_array) : false;
+    return $defined;
   }
 
   // setDefinedValue either sets or deletes a defined value identified by name.
@@ -58,29 +60,32 @@ class ttConfigHelper {
       }
     } else {
       // Deleting part.
-      foreach ($this->config_array as $key => $value) {
-        if ($value === $name) {
-          unset($this->config_array[$key]);
-          $this->config = implode(',', $this->config_array);
-          return;
+      if ($this->config_array) {
+        foreach ($this->config_array as $key => $value) {
+          if ($value === $name) {
+            unset($this->config_array[$key]);
+            $this->config = implode(',', $this->config_array);
+            return;
+          }
         }
       }
     }
   }
 
-  // The getIntValue parses an integer value from the source config string.
+  // The getIntValue parses an integer value from the source config array.
   function getIntValue($name) {
     $name_with_colon = $name.':';
     $len = strlen($name_with_colon);
 
-    foreach ($this->config_array as $unparsed_value) {
-      if (substr($unparsed_value, 0, $len) === $name_with_colon) {
-        // Found value.
-        $unparsed_len = strlen($unparsed_value);
-        $int_value = (int) substr($unparsed_value, -($unparsed_len - $len));
-        return $int_value;
+    if ($this->config_array) {
+      foreach ($this->config_array as $unparsed_value) {
+        if (substr($unparsed_value, 0, $len) === $name_with_colon) {
+          // Found value.
+          $unparsed_len = strlen($unparsed_value);
+          $int_value = (int) substr($unparsed_value, -($unparsed_len - $len));
+          return $int_value;
+        }
       }
-        
     }
     return false;
   }
@@ -91,18 +96,20 @@ class ttConfigHelper {
     $name_with_colon = $name.':';
     $len = strlen($name_with_colon);
 
-    foreach ($this->config_array as $key => $unparsed_value) {
-      if (substr($unparsed_value, 0, $len) === $name_with_colon) {
-        // Found an already existing value.
-        if ($value !== null) {
-          // Replace value.
-          $this->config_array[$key] = $name.':'.$value;
-        } else {
-          // Remove value if our new value is NULL.
-          unset($this->config_array[$key]);
+    if ($this->config_array) {
+      foreach ($this->config_array as $key => $unparsed_value) {
+        if (substr($unparsed_value, 0, $len) === $name_with_colon) {
+          // Found an already existing value.
+          if ($value !== null) {
+            // Replace value.
+            $this->config_array[$key] = $name.':'.$value;
+          } else {
+            // Remove value if our new value is NULL.
+            unset($this->config_array[$key]);
+          }
+          $this->config = implode(',', $this->config_array);
+          return;
         }
-        $this->config = implode(',', $this->config_array);
-        return;
       }
     }
     // If we get here, the value was not found, so add it.
@@ -113,6 +120,6 @@ class ttConfigHelper {
 
   // The getConfig returns the config string.
   function getConfig() {
-    return $this->config;
+    return trim($this->config, ' ,');
   }
 }
index d942b96..90b3e90 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.18.29.4553 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.18.29.4554 | 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>