function handleFinalSave(array $data) { try { $runner = new Math_Formula_Runner(array('Math_Formula_Function_' => '')); $runner->setFormula($this->getOption('calculation')); $runner->setVariables($data); return $runner->evaluate(); } catch (Math_Formula_Exception $e) { return $e->getMessage(); } }
/** * This is called to evaluate a given expression. * @param $expr * @param $args * @param string $default * @return bool|float|void */ function evaluateExpression($expr, $args, $default = "str") { if (0 !== strpos($expr, "(")) { $expr = "({$default} {$expr})"; } $runner = new Math_Formula_Runner(array('Math_Formula_Function_' => '', 'Tiki_Formula_Function_' => '')); try { $runner->setVariables($args); $runner->setFormula($expr); return $runner->evaluate(); } catch (Math_Formula_Exception $e) { return; } }