From cd098e48b352549657a4c789977a45f25cf8ff52 Mon Sep 17 00:00:00 2001 From: carlgmathisen <> Date: Wed, 12 Nov 2008 16:52:25 +0000 Subject: Issue 51 - Additional template tag --- HISTORY | 1 + framework/Web/UI/TTemplateManager.php | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index ba56284d..2d9963a9 100644 --- a/HISTORY +++ b/HISTORY @@ -5,6 +5,7 @@ BUG: Issue#61 - TLogRouter throws exception when using external config file (Mic BUG: Issue#62 - Some mistyping: TJavascript or TJavaScript? (Carl) ENH: Issue#36 - Refactored TRatingList/TActiveRatingList, and added some docs (Bradley) ENH: Issue#52 - Upgraded to TinyMCE 3.2.1 +NEW: Issue#51 - Additional template tag (Carl) Version 3.1.3 November 1, 2008 ============================== diff --git a/framework/Web/UI/TTemplateManager.php b/framework/Web/UI/TTemplateManager.php index 919239d5..3b03cf30 100644 --- a/framework/Web/UI/TTemplateManager.php +++ b/framework/Web/UI/TTemplateManager.php @@ -4,7 +4,7 @@ * * @author Qiang Xue * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft + * @copyright Copyright © 2005-2008 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Web.UI @@ -174,10 +174,10 @@ class TTemplate extends TApplicationComponent implements ITemplate * '<\/?com:([\w\.]+)((?:\s*[\w\.]+\s*=\s*\'.*?\'|\s*[\w\.]+\s*=\s*".*?"|\s*[\w\.]+\s*=\s*<%.*?%>)*)\s*\/?>' - component tags * '<\/?prop:([\w\.]+)\s*>' - property tags * '<%@\s*((?:\s*[\w\.]+\s*=\s*\'.*?\'|\s*[\w\.]+\s*=\s*".*?")*)\s*%>' - directives - * '<%[%#~\\$=\\[](.*?)%>' - expressions + * '<%[%#&~\/\\$=\\[](.*?)%>' - expressions * ')*)\s*\/>' - group subproperty tags */ - const REGEX_RULES='/||<\/?com:([\w\.]+)((?:\s*[\w\.]+\s*=\s*\'.*?\'|\s*[\w\.]+\s*=\s*".*?"|\s*[\w\.]+\s*=\s*<%.*?%>)*)\s*\/?>|<\/?prop:([\w\.]+)\s*>|<%@\s*((?:\s*[\w\.]+\s*=\s*\'.*?\'|\s*[\w\.]+\s*=\s*".*?")*)\s*%>|<%[%#~\\$=\\[](.*?)%>|)*)\s*\/>/msS'; + const REGEX_RULES='/||<\/?com:([\w\.]+)((?:\s*[\w\.]+\s*=\s*\'.*?\'|\s*[\w\.]+\s*=\s*".*?"|\s*[\w\.]+\s*=\s*<%.*?%>)*)\s*\/?>|<\/?prop:([\w\.]+)\s*>|<%@\s*((?:\s*[\w\.]+\s*=\s*\'.*?\'|\s*[\w\.]+\s*=\s*".*?")*)\s*%>|<%[%#~\/\\$=\\[](.*?)%>|)*)\s*\/>/msS'; /** * Different configurations of component property/event/attribute @@ -661,6 +661,8 @@ class TTemplate extends TApplicationComponent implements ITemplate $tpl[$c++]=array($container,array(TCompositeLiteral::TYPE_EXPRESSION,"\$this->getApplication()->getParameters()->itemAt('$literal')")); else if($str[2]==='~') $tpl[$c++]=array($container,array(TCompositeLiteral::TYPE_EXPRESSION,"\$this->publishFilePath('$this->_contextPath/$literal')")); + else if($str[2]==='/') + $tpl[$c++]=array($container,array(TCompositeLiteral::TYPE_EXPRESSION,"dirname(\$this->getApplication()->getRequest()->getApplicationUrl()).'/$literal'")); else if($str[2]==='[') { $literal=strtr(trim(substr($literal,0,strlen($literal)-1)),array("'"=>"\'","\\"=>"\\\\")); -- cgit v1.2.3