You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ch...@apache.org on 2009/08/01 16:49:21 UTC
svn commit: r799878 -
/incubator/shindig/trunk/php/src/gadgets/templates/TemplateParser.php
Author: chabotc
Date: Sat Aug 1 14:49:21 2009
New Revision: 799878
URL: http://svn.apache.org/viewvc?rev=799878&view=rev
Log:
Evaluate expressions on os:Html nodes too
Modified:
incubator/shindig/trunk/php/src/gadgets/templates/TemplateParser.php
Modified: incubator/shindig/trunk/php/src/gadgets/templates/TemplateParser.php
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/gadgets/templates/TemplateParser.php?rev=799878&r1=799877&r2=799878&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/gadgets/templates/TemplateParser.php (original)
+++ incubator/shindig/trunk/php/src/gadgets/templates/TemplateParser.php Sat Aug 1 14:49:21 2009
@@ -396,7 +396,15 @@
if (! $node->getAttribute('code')) {
throw new ExpressionException("Invalid os:Html tag, missing code attribute");
}
- $node->parentNode->insertBefore($node->ownerDocument->createTextNode($node->getAttribute('code')), $node);
+ preg_match_all('/(\$\{)(.*)(\})/imsxU', $node->getAttribute('code'), $expressions);
+ if (count($expressions[2])) {
+ $expression = $expressions[2][0];
+ $code = ExpressionParser::evaluate($expression, $this->dataContext);
+ } else {
+ $code = $node->getAttribute('code');
+ }
+ $node->parentNode->insertBefore($node->ownerDocument->createTextNode($code), $node);
+
return $node;
break;
@@ -413,20 +421,6 @@
case 'osx:navigatetoperson':
break;
-
- /****** Extension - Functions ******/
-
- case 'osx:parsejson':
- break;
-
- case 'osx:decodebase64':
- break;
-
- case 'osx:urlencode':
- break;
-
- case 'osx:urldecode':
- break;
}
return false;
}