diff --git a/app/class/Utilities.php b/app/class/Utilities.php index 378c867..b45fef7 100644 --- a/app/class/Utilities.php +++ b/app/class/Utilities.php @@ -107,4 +107,36 @@ class Utilities { return $count . ( ( $count == 1 ) ? ( " $text" ) : ( " ${text}s" ) ); } + + function checkOperator($value1, $operator, $value2) { + switch ($operator) { + case '<': // Less than + return $value1 < $value2; + case '<=': // Less than or equal to + return $value1 <= $value2; + case '>': // Greater than + return $value1 > $value2; + case '>=': // Greater than or equal to + return $value1 >= $value2; + case '==': // Equal + return $value1 == $value2; + case '===': // Identical + return $value1 === $value2; + case '!==': // Not Identical + return $value1 !== $value2; + case '!=': // Not equal + case '<>': // Not equal + return $value1 != $value2; + case '||': // Or + case 'or': // Or + return $value1 || $value2; + case '&&': // And + case 'and': // And + return $value1 && $value2; + case 'xor': // Or + return $value1 xor $value2; + default: + return FALSE; + } // end switch + } } diff --git a/app/views/Home.php b/app/views/Home.php index 224fbc9..debb423 100644 --- a/app/views/Home.php +++ b/app/views/Home.php @@ -60,21 +60,33 @@ class Home extends Template case 'on/off': $replacementTrue = 'On'; $replacementFalse = 'Off'; + $operator = '=='; + $breakValue = 1; break; case 'door': $replacementTrue = 'Closed'; $replacementFalse = 'Open'; + $operator = '=='; + $breakValue = 1; break; case 'light': $replacementTrue = 'Light'; $replacementFalse = 'Dark'; + $operator = '=='; + $breakValue = 1; + if ($lastValue != 1 || $lastValue != 0) { //Digital Light Senzor + $operator = '<='; + $breakValue = 810; + } break; case 'water': $replacementTrue = 'Wet'; $replacementFalse = 'Dry'; + $operator = '=='; + $breakValue = 1; break; default: @@ -86,14 +98,15 @@ class Home extends Template if ($replacementTrue != '' && $replacementFalse != '') { //parsing last values $parsedValue = $replacementFalse; - if ($lastValue == 1) { + + if (Utilities::checkOperator($lastValue, $operator, $breakValue)) { $parsedValue = $replacementTrue; } //parsing last events values foreach ($events as $key => $value) { $events[$key]['value'] = $replacementFalse; - if ($value == 1) { + if (Utilities::checkOperator($lastValue, $operator, $breakValue)) { $events[$key]['value'] = $replacementTrue; } }