diff --git a/classes/expressions/LimeExpressionManager.php b/classes/expressions/LimeExpressionManager.php index 64a5b1d14bf..5cf613c2933 100644 --- a/classes/expressions/LimeExpressionManager.php +++ b/classes/expressions/LimeExpressionManager.php @@ -7770,25 +7770,33 @@ public static function SetVariableValue($op,$name,$value) } } + if (isset($_SESSION[$name])) + { + $_result = $_SESSION[$name]; + } + else + { + $_result = (isset($LEM->knownVars[$name]['default']) ? $LEM->knownVars[$name]['default'] : 0); + } + switch($op) { case '=': - $LEM->knownVars[$name]['code'] = $value; + $_result = $value; break; case '*=': - $LEM->knownVars[$name]['code'] *= $value; + $_result *= $value; break; case '/=': - $LEM->knownVars[$name]['code'] /= $value; + $_result /= $value; break; case '+=': - $LEM->knownVars[$name]['code'] += $value; + $_result += $value; break; case '-=': - $LEM->knownVars[$name]['code'] -= $value; + $_result -= $value; break; } - $_result = $LEM->knownVars[$name]['code']; $_SESSION[$name] = $_result; $_type = $LEM->knownVars[$name]['type']; $LEM->updatedValues[$name] = array(