Example #1
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     // end of if PROCEED
     $codewriter->doEnd();
     // if trigger found, notify the end of the node
     $codewriter->doIf($this->var);
     $codewriter->pushCode($this->var . '->end(' . $codewriter->str($this->expression) . ', $tpl)');
     $codewriter->doEnd();
     $codewriter->recycleTempVariable($this->var);
 }
Example #2
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     if ($this->function_name !== null) {
         $codewriter->doEnd();
         $codewriter->pushCode('$ctx->fillSlotCallback(' . $codewriter->str($this->expression) . ', ' . $codewriter->str($this->function_name) . ', $_thistpl, clone $tpl)');
     } else {
         $codewriter->pushCode('$ctx->fillSlot(' . $codewriter->str($this->expression) . ', ob_get_clean())');
     }
 }
Example #3
0
 public function before(PHPTAL_Php_CodeWriter $codewriter)
 {
     // ensure a domain stack exists or create it
     $codewriter->doIf('!isset($_i18n_domains)');
     $codewriter->pushCode('$_i18n_domains = array()');
     $codewriter->doEnd('if');
     $expression = $codewriter->interpolateTalesVarsInString($this->expression);
     // push current domain and use new domain
     $code = '$_i18n_domains[] = ' . $codewriter->getTranslatorReference() . '->useDomain(' . $expression . ')';
     $codewriter->pushCode($code);
 }
    function testFunctionsGeneration()
    {
        $state = new PHPTAL_Php_State($this->newPHPTAL());
        $codewriter = new PHPTAL_Php_CodeWriter($state);
        $codewriter->doFunction('test1', '$tpl');
        $codewriter->pushHTML($codewriter->interpolateHTML('test1'));
        $codewriter->doFunction('test2', '$tpl');
        $codewriter->pushHTML('test2');
        $codewriter->doEnd();
        $codewriter->pushHTML('test1');
        $codewriter->doEnd();
        $res = $codewriter->getResult();
        $exp = <<<EOS
<?php function test2(\$tpl) {?>test2<?php}?>
<?php function test1(\$tpl) {?>test1test1<?php}?>
EOS;
        $res = normalize_phpsource($res, true);
        $exp = normalize_phpsource($exp, true);
        $this->assertEquals($exp, $res);
    }
Example #5
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     $codewriter->doEnd('if');
     $codewriter->recycleTempVariable($this->tmp_var);
 }
Example #6
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     $codewriter->doEval('file_put_contents(' . $this->cache_filename_var . ', ob_get_flush())');
     $codewriter->doElse();
     $codewriter->doEval('readfile(' . $this->cache_filename_var . ')');
     $codewriter->doEnd('if');
     $codewriter->recycleTempVariable($this->cache_filename_var);
 }
Example #7
0
 public function generateFoot(PHPTAL_Php_CodeWriter $codewriter)
 {
     if ($this->headFootDisabled) {
         return;
     }
     if ($this->isEmptyNode($codewriter->getOutputMode())) {
         return;
     }
     if ($this->footPrintCondition) {
         $codewriter->doIf($this->footPrintCondition);
     }
     if ($codewriter->getOutputMode() === PHPTAL::HTML5) {
         $codewriter->pushHTML('</' . $this->getLocalName() . '>');
     } else {
         $codewriter->pushHTML('</' . $this->getQualifiedName() . '>');
     }
     if ($this->footPrintCondition) {
         $codewriter->doEnd('if');
     }
 }
Example #8
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     $codewriter->doEnd();
 }
Example #9
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     $codewriter->doEval('file_put_contents(' . $codewriter->str($codewriter->getCacheFilesBaseName()) . '.md5(' . $this->cache_tag . '), ob_get_flush())');
     $codewriter->doElse();
     $codewriter->doEval('readfile(' . $codewriter->str($codewriter->getCacheFilesBaseName()) . '.md5(' . $this->cache_tag . '))');
     $codewriter->doEnd('if');
 }
Example #10
0
 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     $codewriter->doEnd();
     $codewriter->popContext();
     $codewriter->recycleTempVariable($this->var);
 }