Changeset 2549
- Timestamp:
- 12/06/07 13:17:01 (5 years ago)
- Files:
-
- 1 modified
-
lang/php/mumu/trunk/GunyaTemplate.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/php/mumu/trunk/GunyaTemplate.php
r2548 r2549 41 41 // block.super : �ƥƥ�졼�Ȥ�lock��������������ä��������� 42 42 43 // �� 44 // find_endtags�ϸ��Ĥ����parse�⤷�ơ�$sposư�����Ƥ⤤�������� 45 43 46 class GTContext { 44 47 // �ƥ�졼�Ȥ��Ϥ���ξ�����饹 … … 91 94 array_shift($this->dicts); 92 95 } 96 function update($other_array) { 97 array_unshift($this->dicts, $other_array); 98 } 93 99 } 94 100 … … 264 270 265 271 class GTFilterNode extends GTNode { 272 private $filter_expr; 273 private $nodelist; 274 function __construct($filter_expr, $nodelist) { 275 $this->filter_expr = $filter_expr; 276 $this->nodelist = $nodelist; 277 } 278 function _render($context) { 279 $output = $this->nodelist->_render($context); 280 $context->update(array('var' => $output)); 281 $filtered = $this->filter_expr->resolve($context); 282 $context->pop(); 283 return $filtered; 284 } 266 285 } 267 286 … … 308 327 } 309 328 $context->pop(); 310 var_dump($rnodelist);311 329 return implode('', $rnodelist); 312 330 } … … 735 753 $spos = $lpos + 2; 736 754 break; 737 case 'filter': 738 // TODO: implement 739 $spos = $lpos + 2; 755 case 'filter': // endfilter 756 if (count($in) != 2) { 757 $this->errorStr = 'filter�Υѥ���������������; 758 return FALSE; 759 } 760 $lpos += 2; 761 if ((list($bepos, $blpos) = $this->find_endtags($lpos, $epos, array('endfilter'))) === FALSE) { 762 return FALSE; 763 } 764 $filter_expr = new GTFilterExpression('var|'. $in[1]); 765 $nodelist = $this->_parse($lpos, $bepos); 766 $node = new GTFilterNode($filter_expr, $nodelist); 767 $spos = $blpos; 740 768 break; 741 769 default:
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)