* **/ // No direct access. defined('_JEXEC') or die; /** * Detecting negative numbers **/ class SupportgroupsExpression { protected $expression; protected $result; public function __construct($expression) { $this->expression = $expression; } public function evaluate() { $this->result = eval("return ".$this->expression.";"); return $this; } public function getResult() { return $this->result; } } class SupportgroupsNegativeFinder { protected $expressionObj; public function __construct(SupportgroupsExpression $expressionObj) { $this->expressionObj = $expressionObj; } public function isItNegative() { $result = $this->expressionObj->evaluate()->getResult(); if($this->hasMinusSign($result)) { return true; } else { return false; } } protected function hasMinusSign($value) { return (substr(strval($value), 0, 1) == "-"); } }