/exchange/code/trunk/administrator/components/com_exchange/models/transforms/expression.php
PHP | 45 lines | 23 code | 4 blank | 18 comment | 2 complexity | efea488a71fbc5e5d3b91fb77cfacab8 MD5 | raw file
- <?php
- /**
- * @version $Id: expression.php 280 2010-09-18 02:14:15Z eddieajau $
- * @package NewLifeInIT
- * @subpackage com_exchange
- * @copyright Copyright 2005 - 2010 New Life in IT Pty Ltd. All rights reserved.
- * @license GNU General Public License version 2 or later.
- * @link http://www.theartofjoomla.com
- */
- // no direct access
- defined('_JEXEC') or die;
- /**
- * @package NewLifeInIT
- * @subpackage com_exchange
- */
- class XMLTransformExpression extends XMLIterator
- {
- /**
- * Evaluates an expression
- * @param object The tag node
- * @param mixed The value of the field
- */
- function iterate(&$node, &$value)
- {
- $model = &$this->getModel();
- $debug = $model->getOption('debug_mode');
- $name = (string) $node->parent['name'];
- if ($name) {
- $self = $value[$name];
- }
- foreach ($value as $k => $v) {
- $$k = $v;
- }
- $code = 'return (' . (string) $node . ');';
- $result = eval($code);
- if ($debug) {
- ExchangeLog::add(200, '(' . (string) $node . ")\n= (".$result.')');
- }
- return $result;
- }
- }