BVB Source Codes

The latest thinkphp v5.2 work order system Show smarty_internal_compile_capture.php Source code

Return Download The latest thinkphp v5.2 work order system: download smarty_internal_compile_capture.php Source code - Download The latest thinkphp v5.2 work order system Source code - Type:.php
  1. <?php
  2. /**
  3.  * Smarty Internal Plugin Compile Capture
  4.  *
  5.  * Compiles the {capture} tag
  6.  *
  7.  * @package Smarty
  8.  * @subpackage Compiler
  9.  * @author Uwe Tews
  10.  */
  11.  
  12. /**
  13.  * Smarty Internal Plugin Compile Capture Class
  14.  *
  15.  * @package Smarty
  16.  * @subpackage Compiler
  17.  */
  18. class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase {
  19.  
  20.     /**
  21.      * Attribute definition: Overwrites base class.
  22.      *
  23.      * @var array
  24.      * @see Smarty_Internal_CompileBase
  25.      */
  26.     public $shorttag_order = array('name');
  27.     /**
  28.      * Attribute definition: Overwrites base class.
  29.      *
  30.      * @var array
  31.      * @see Smarty_Internal_CompileBase
  32.      */
  33.     public $optional_attributes = array('name', 'assign', 'append');
  34.  
  35.     /**
  36.      * Compiles code for the {capture} tag
  37.      *
  38.      * @param array  $args     array with attributes from parser
  39.      * @param object $compiler compiler object
  40.      * @return string compiled code
  41.      */
  42.     public function compile($args, $compiler)
  43.     {
  44.         // check and get attributes
  45.         $_attr = $this->getAttributes($compiler, $args);
  46.  
  47.         $buffer = isset($_attr['name']) ? $_attr['name'] : "'default'";
  48.         $assign = isset($_attr['assign']) ? $_attr['assign'] : 'null';
  49.         $append = isset($_attr['append']) ? $_attr['append'] : 'null';
  50.  
  51.         $compiler->_capture_stack[] = array($buffer, $assign, $append, $compiler->nocache);
  52.         // maybe nocache because of nocache variables
  53.         $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
  54.         $_output = "<?php \$_smarty_tpl->_capture_stack[] = array($buffer, $assign, $append); ob_start(); ?>";
  55.  
  56.         return $_output;
  57.     }
  58.  
  59. }
  60.  
  61. /**
  62.  * Smarty Internal Plugin Compile Captureclose Class
  63.  *
  64.  * @package Smarty
  65.  * @subpackage Compiler
  66.  */
  67. class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase {
  68.  
  69.     /**
  70.      * Compiles code for the {/capture} tag
  71.      *
  72.      * @param array  $args     array with attributes from parser
  73.      * @param object $compiler compiler object
  74.      * @return string compiled code
  75.      */
  76.     public function compile($args, $compiler)
  77.     {
  78.         // check and get attributes
  79.         $_attr = $this->getAttributes($compiler, $args);
  80.         // must endblock be nocache?
  81.         if ($compiler->nocache) {
  82.             $compiler->tag_nocache = true;
  83.         }
  84.  
  85.         list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack);
  86.  
  87.         $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_capture_stack);\n";
  88.         $_output .= "if (!empty(\$_capture_buffer)) {\n";
  89.         $_output .= " if (isset(\$_capture_assign)) \$_smarty_tpl->assign(\$_capture_assign, ob_get_contents());\n";
  90.         $_output .= " if (isset( \$_capture_append)) \$_smarty_tpl->append( \$_capture_append, ob_get_contents());\n";
  91.         $_output .= " Smarty::\$_smarty_vars['capture'][\$_capture_buffer]=ob_get_clean();\n";
  92.         $_output .= "} else \$_smarty_tpl->capture_error();?>";
  93.         return $_output;
  94.     }
  95.  
  96. }
  97.  
  98. ?>
downloadsmarty_internal_compile_capture.php Source code - Download The latest thinkphp v5.2 work order system Source code
Related Source Codes/Software:
V3.3.6 Workerman high-performance PHP Socket (framework) - High performance PHP Socket framework Workerman re... 2017-05-03
The phosphor meeting room reservation system MRBS (loop reservation v16.0) - The phosphor meeting room reservation system MRBS ... 2017-05-03
IDC v5.2.3 agent center - IDC Centre IDC for exploitation is a PHP+MySQL age... 2017-05-03
Zen master v9.0.1 project management software - Zen is the first domestic open source project mana... 2017-05-03
Ray speed v7.03 employee files management system - Employee files project is various, and some conten... 2017-05-03
HITCMS Haitian responsive electronic mechanical v3.0 foreign trade website source code - HITCMS Haitian response electronic machinery trade... 2017-05-03
Ray v7.02 speed survey system - Lightning speed survey system is a. NET+MSSQL deve... 2017-05-03
Cool HITCMS reactive black v3.0 enterprise website source code - HITCMS-Haitian response black enterprises website ... 2017-05-03
WebOA v17.2 network office automation system - WebOA network using b/s structure development of o... 2017-05-03
Pure imitation of han site source code, one a 】 【 c9cms kernel v1.0 - Generic http://www.wufazhuce.com/Han one · Config... 2017-05-04
zone.js - Implements Zones for JavaScript ... 2017-05-11
dragonfly - A Ruby gem for on-the-fly processing - suitable fo... 2017-05-11
oh-my-fish - The Fishshell Framework. 2017-05-11
canvas-lms - The open LMS by Instructure, Inc. 2017-05-11
ledger - Double-entry accounting system with a command-line... 2017-05-11
Python - My Python Examples http://w... 2017-05-11
blade - 2017-05-11
LaZagne - Credentials recovery project 2017-05-10
Pull-to-Refresh.Rentals-iOS - This project aims to provide a simple and customiz... 2017-05-10
spoon - Distributing instrumentation tests to all your And... 2017-05-10

 Back to top