���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/netphim/vendor/smarty/smarty/libs/sysplugins/ |
<?php /** * Smarty Internal Plugin Templateparser Parse Tree * These are classes to build parse tree in the template parser * * @package Smarty * @subpackage Compiler * @author Thue Kristensen * @author Uwe Tews */ /** * Template element * * @package Smarty * @subpackage Compiler * @ignore */ class Smarty_Internal_ParseTree_Template extends Smarty_Internal_ParseTree { /** * Array of template elements * * @var array */ public $subtrees = array(); /** * Create root of parse tree for template elements */ public function __construct() { } /** * Append buffer to subtree * * @param \Smarty_Internal_Templateparser $parser * @param Smarty_Internal_ParseTree $subtree */ public function append_subtree(Smarty_Internal_Templateparser $parser, Smarty_Internal_ParseTree $subtree) { if (!empty($subtree->subtrees)) { $this->subtrees = array_merge($this->subtrees, $subtree->subtrees); } else { if ($subtree->data !== '') { $this->subtrees[] = $subtree; } } } /** * Append array to subtree * * @param \Smarty_Internal_Templateparser $parser * @param \Smarty_Internal_ParseTree[] $array */ public function append_array(Smarty_Internal_Templateparser $parser, $array = array()) { if (!empty($array)) { $this->subtrees = array_merge($this->subtrees, (array)$array); } } /** * Prepend array to subtree * * @param \Smarty_Internal_Templateparser $parser * @param \Smarty_Internal_ParseTree[] $array */ public function prepend_array(Smarty_Internal_Templateparser $parser, $array = array()) { if (!empty($array)) { $this->subtrees = array_merge((array)$array, $this->subtrees); } } /** * Sanitize and merge subtree buffers together * * @param \Smarty_Internal_Templateparser $parser * * @return string template code content */ public function to_smarty_php(Smarty_Internal_Templateparser $parser) { $code = ''; foreach ($this->getChunkedSubtrees() as $chunk) { $text = ''; switch ($chunk['mode']) { case 'textstripped': foreach ($chunk['subtrees'] as $subtree) { $text .= $subtree->to_smarty_php($parser); } $code .= preg_replace( '/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/', "<?php echo '\$1'; ?>\n", $parser->compiler->processText($text) ); break; case 'text': foreach ($chunk['subtrees'] as $subtree) { $text .= $subtree->to_smarty_php($parser); } $code .= preg_replace( '/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/', "<?php echo '\$1'; ?>\n", $text ); break; case 'tag': foreach ($chunk['subtrees'] as $subtree) { $text = $parser->compiler->appendCode($text, $subtree->to_smarty_php($parser)); } $code .= $text; break; default: foreach ($chunk['subtrees'] as $subtree) { $text = $subtree->to_smarty_php($parser); } $code .= $text; } } return $code; } private function getChunkedSubtrees() { $chunks = array(); $currentMode = null; $currentChunk = array(); for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key++) { if ($this->subtrees[ $key ]->data === '' && in_array($currentMode, array('textstripped', 'text', 'tag'))) { continue; } if ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Text && $this->subtrees[ $key ]->isToBeStripped()) { $newMode = 'textstripped'; } elseif ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Text) { $newMode = 'text'; } elseif ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Tag) { $newMode = 'tag'; } else { $newMode = 'other'; } if ($newMode == $currentMode) { $currentChunk[] = $this->subtrees[ $key ]; } else { $chunks[] = array( 'mode' => $currentMode, 'subtrees' => $currentChunk ); $currentMode = $newMode; $currentChunk = array($this->subtrees[ $key ]); } } if ($currentMode && $currentChunk) { $chunks[] = array( 'mode' => $currentMode, 'subtrees' => $currentChunk ); } return $chunks; } }