Rewrote all Compile and Compiler classes to PSR-4

This commit is contained in:
Simon Wisselink
2022-12-20 23:47:18 +01:00
parent 1524f11c8e
commit 6ba059dea8
67 changed files with 2219 additions and 2269 deletions

View File

@@ -15,12 +15,12 @@
* @author Rodney Rehm * @author Rodney Rehm
* *
* @param array $params parameters * @param array $params parameters
* @param Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @return string with compiled code * @return string with compiled code
* @throws SmartyException * @throws SmartyException
*/ */
function smarty_modifiercompiler_escape($params, Smarty_Internal_TemplateCompilerBase $compiler) function smarty_modifiercompiler_escape($params, \Smarty\Compiler\Template $compiler)
{ {
try { try {
$esc_type = smarty_literal_compiler_param($params, 1, 'html'); $esc_type = smarty_literal_compiler_param($params, 1, 'html');

View File

@@ -14,11 +14,11 @@
* @author Rodney Rehm * @author Rodney Rehm
* *
* @param array $params parameters * @param array $params parameters
* @param Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @return string with compiled code * @return string with compiled code
*/ */
function smarty_modifiercompiler_unescape($params, Smarty_Internal_TemplateCompilerBase $compiler) function smarty_modifiercompiler_unescape($params, \Smarty\Compiler\Template $compiler)
{ {
$esc_type = smarty_literal_compiler_param($params, 1, 'html'); $esc_type = smarty_literal_compiler_param($params, 1, 'html');

View File

@@ -15,12 +15,12 @@
* @author Uwe Tews * @author Uwe Tews
* *
* @param array $params parameters * @param array $params parameters
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @return string with compiled code * @return string with compiled code
* @throws \SmartyException * @throws \SmartyException
*/ */
function smarty_modifiercompiler_wordwrap($params, Smarty_Internal_TemplateCompilerBase $compiler) function smarty_modifiercompiler_wordwrap($params, \Smarty\Compiler\Template $compiler)
{ {
if (!isset($params[ 1 ])) { if (!isset($params[ 1 ])) {
$params[ 1 ] = 80; $params[ 1 ] = 80;

View File

@@ -5,83 +5,82 @@
* @package Smarty * @package Smarty
* @subpackage PluginsShared * @subpackage PluginsShared
*/ */
if (!function_exists('smarty_mb_str_replace')) {
/** /**
* Multibyte string replace * Multibyte string replace
* *
* @param string|string[] $search the string to be searched * @param string|string[] $search the string to be searched
* @param string|string[] $replace the replacement string * @param string|string[] $replace the replacement string
* @param string $subject the source string * @param string $subject the source string
* @param int &$count number of matches found * @param int &$count number of matches found
* *
* @return string replaced string * @return string replaced string
* @author Rodney Rehm * @author Rodney Rehm
*/ */
function smarty_mb_str_replace($search, $replace, $subject, &$count = 0) function smarty_mb_str_replace($search, $replace, $subject, &$count = 0)
{ {
if (!is_array($search) && is_array($replace)) { if (!is_array($search) && is_array($replace)) {
return false; return false;
}
if (is_array($subject)) {
// call mb_replace for each single string in $subject
foreach ($subject as &$string) {
$string = smarty_mb_str_replace($search, $replace, $string, $c);
$count += $c;
} }
if (is_array($subject)) { } elseif (is_array($search)) {
// call mb_replace for each single string in $subject if (!is_array($replace)) {
foreach ($subject as &$string) { foreach ($search as &$string) {
$string = smarty_mb_str_replace($search, $replace, $string, $c); $subject = smarty_mb_str_replace($string, $replace, $subject, $c);
$count += $c; $count += $c;
} }
} elseif (is_array($search)) {
if (!is_array($replace)) {
foreach ($search as &$string) {
$subject = smarty_mb_str_replace($string, $replace, $subject, $c);
$count += $c;
}
} else {
$n = max(count($search), count($replace));
while ($n--) {
$subject = smarty_mb_str_replace(current($search), current($replace), $subject, $c);
$count += $c;
next($search);
next($replace);
}
}
} else { } else {
$mb_reg_charset = mb_regex_encoding(); $n = max(count($search), count($replace));
// Check if mbstring regex is using UTF-8 while ($n--) {
$reg_is_unicode = !strcasecmp($mb_reg_charset, "UTF-8"); $subject = smarty_mb_str_replace(current($search), current($replace), $subject, $c);
if(!$reg_is_unicode) { $count += $c;
// ...and set to UTF-8 if not next($search);
mb_regex_encoding("UTF-8"); next($replace);
}
// See if charset used by Smarty is matching one used by regex...
$current_charset = mb_regex_encoding();
$convert_result = (bool)strcasecmp(\Smarty\Smarty::$_CHARSET, $current_charset);
if($convert_result) {
// ...convert to it if not.
$subject = mb_convert_encoding($subject, $current_charset, \Smarty\Smarty::$_CHARSET);
$search = mb_convert_encoding($search, $current_charset, \Smarty\Smarty::$_CHARSET);
$replace = mb_convert_encoding($replace, $current_charset, \Smarty\Smarty::$_CHARSET);
}
$parts = mb_split(preg_quote($search), $subject ?? "") ?: array();
// If original regex encoding was not unicode...
if(!$reg_is_unicode) {
// ...restore original regex encoding to avoid breaking the system.
mb_regex_encoding($mb_reg_charset);
}
if($parts === false) {
// This exception is thrown if call to mb_split failed.
// Usually it happens, when $search or $replace are not valid for given mb_regex_encoding().
// There may be other cases for it to fail, please file an issue if you find a reproducible one.
throw new SmartyException("Source string is not a valid $current_charset sequence (probably)");
}
$count = count($parts) - 1;
$subject = implode($replace, $parts);
// Convert results back to charset used by Smarty, if needed.
if($convert_result) {
$subject = mb_convert_encoding($subject, \Smarty\Smarty::$_CHARSET, $current_charset);
} }
} }
return $subject; } else {
$mb_reg_charset = mb_regex_encoding();
// Check if mbstring regex is using UTF-8
$reg_is_unicode = !strcasecmp($mb_reg_charset, "UTF-8");
if(!$reg_is_unicode) {
// ...and set to UTF-8 if not
mb_regex_encoding("UTF-8");
}
// See if charset used by Smarty is matching one used by regex...
$current_charset = mb_regex_encoding();
$convert_result = (bool)strcasecmp(\Smarty\Smarty::$_CHARSET, $current_charset);
if($convert_result) {
// ...convert to it if not.
$subject = mb_convert_encoding($subject, $current_charset, \Smarty\Smarty::$_CHARSET);
$search = mb_convert_encoding($search, $current_charset, \Smarty\Smarty::$_CHARSET);
$replace = mb_convert_encoding($replace, $current_charset, \Smarty\Smarty::$_CHARSET);
}
$parts = mb_split(preg_quote($search), $subject ?? "") ?: array();
// If original regex encoding was not unicode...
if(!$reg_is_unicode) {
// ...restore original regex encoding to avoid breaking the system.
mb_regex_encoding($mb_reg_charset);
}
if($parts === false) {
// This exception is thrown if call to mb_split failed.
// Usually it happens, when $search or $replace are not valid for given mb_regex_encoding().
// There may be other cases for it to fail, please file an issue if you find a reproducible one.
throw new SmartyException("Source string is not a valid $current_charset sequence (probably)");
}
$count = count($parts) - 1;
$subject = implode($replace, $parts);
// Convert results back to charset used by Smarty, if needed.
if($convert_result) {
$subject = mb_convert_encoding($subject, \Smarty\Smarty::$_CHARSET, $current_charset);
}
} }
} return $subject;
}

View File

@@ -23,13 +23,13 @@ class Append extends Assign
* Compiles code for the {append} tag * Compiles code for the {append} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null) public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null)
{ {
// the following must be assigned at runtime because it will be overwritten in parent class // the following must be assigned at runtime because it will be overwritten in parent class
$this->required_attributes = array('var', 'value'); $this->required_attributes = array('var', 'value');

View File

@@ -28,14 +28,14 @@ class Assign extends CompileBase
* @var array * @var array
* @see Base * @see Base
*/ */
public $option_flags = array('nocache', 'noscope'); protected $option_flags = array('nocache', 'noscope');
/** /**
* Valid scope names * Valid scope names
* *
* @var array * @var array
*/ */
public $valid_scopes = array( protected $valid_scopes = array(
'local' => Smarty::SCOPE_LOCAL, 'parent' => Smarty::SCOPE_PARENT, 'local' => Smarty::SCOPE_LOCAL, 'parent' => Smarty::SCOPE_PARENT,
'root' => Smarty::SCOPE_ROOT, 'global' => Smarty::SCOPE_GLOBAL, 'root' => Smarty::SCOPE_ROOT, 'global' => Smarty::SCOPE_GLOBAL,
'tpl_root' => Smarty::SCOPE_TPL_ROOT, 'smarty' => Smarty::SCOPE_SMARTY 'tpl_root' => Smarty::SCOPE_TPL_ROOT, 'smarty' => Smarty::SCOPE_SMARTY
@@ -45,13 +45,13 @@ class Assign extends CompileBase
* Compiles code for the {assign} tag * Compiles code for the {assign} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null) public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null)
{ {
// the following must be assigned at runtime because it will be overwritten in Append // the following must be assigned at runtime because it will be overwritten in Append
$this->required_attributes = array('var', 'value'); $this->required_attributes = array('var', 'value');

View File

@@ -202,11 +202,11 @@ abstract class Base {
* Compiles code for the tag * Compiles code for the tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
abstract public function compile($args, \Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null); abstract public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null);
} }

View File

@@ -11,7 +11,6 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\ParseTree\Template; use Smarty\ParseTree\Template;
use Smarty_Internal_TemplateCompilerBase;
/** /**
* Smarty Internal Plugin Compile Block Class * Smarty Internal Plugin Compile Block Class
@@ -42,7 +41,7 @@ class Block extends Inheritance {
* @var array * @var array
* @see Base * @see Base
*/ */
public $option_flags = ['hide', 'nocache']; protected $option_flags = ['hide', 'nocache'];
/** /**
* Attribute definition: Overwrites base class. * Attribute definition: Overwrites base class.
@@ -56,10 +55,10 @@ class Block extends Inheritance {
* Compiles code for the {block} tag * Compiles code for the {block} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null) public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null)
{ {
if (!isset($compiler->_cache['blockNesting'])) { if (!isset($compiler->_cache['blockNesting'])) {
$compiler->_cache['blockNesting'] = 0; $compiler->_cache['blockNesting'] = 0;

View File

@@ -3,7 +3,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\ParseTree\Template; use Smarty\ParseTree\Template;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile BlockClose Class * Smarty Internal Plugin Compile BlockClose Class
@@ -14,12 +14,12 @@ class BlockClose extends Inheritance {
* Compiles code for the {/block} tag * Compiles code for the {/block} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return bool true * @return bool true
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null) public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null)
{ {
[$_attr, $_nocache, $_buffer, $_has_nocache_code, $_caching] = $this->closeTag($compiler, ['block']); [$_attr, $_nocache, $_buffer, $_has_nocache_code, $_caching] = $this->closeTag($compiler, ['block']);
// init block parameter // init block parameter

View File

@@ -10,9 +10,6 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compile\ForeachTag;
use Smarty_Internal_TemplateCompilerBase;
/** /**
* Smarty Internal Plugin Compile Break Class * Smarty Internal Plugin Compile Break Class
* *
@@ -48,12 +45,12 @@ class BreakTag extends Base {
* Compiles code for the {break} tag * Compiles code for the {break} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null) public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null)
{ {
[$levels, $foreachLevels] = $this->checkLevels($args, $compiler); [$levels, $foreachLevels] = $this->checkLevels($args, $compiler);
$output = "<?php "; $output = "<?php ";
@@ -73,12 +70,12 @@ class BreakTag extends Base {
* check attributes and return array of break and foreach levels * check attributes and return array of break and foreach levels
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return array * @return array
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function checkLevels($args, Smarty_Internal_TemplateCompilerBase $compiler) { public function checkLevels($args, \Smarty\Compiler\Template $compiler) {
static $_is_loopy = ['for' => true, 'foreach' => true, 'while' => true, 'section' => true]; static $_is_loopy = ['for' => true, 'foreach' => true, 'while' => true, 'section' => true];
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);

View File

@@ -50,7 +50,7 @@ class Call extends Base
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = array(), $tag = null, $function = null) public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = array(), $tag = null, $function = null)
{ {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);

View File

@@ -2,8 +2,6 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase;
/** /**
* Smarty Internal Plugin Compile Capture Class * Smarty Internal Plugin Compile Capture Class
* *
@@ -31,13 +29,13 @@ class Capture extends Base {
/** /**
* Compiles code for the {$smarty.capture.xxx} * Compiles code for the {$smarty.capture.xxx}
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
*/ */
public static function compileSpecialVariable( public static function compileSpecialVariable(
Smarty_Internal_TemplateCompilerBase $compiler, \Smarty\Compiler\Template $compiler,
$parameter = null $parameter = null
) { ) {
return '$_smarty_tpl->smarty->ext->_capture->getBuffer($_smarty_tpl' . return '$_smarty_tpl->smarty->ext->_capture->getBuffer($_smarty_tpl' .
@@ -48,12 +46,12 @@ class Capture extends Base {
* Compiles code for the {capture} tag * Compiles code for the {capture} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param null $parameter * @param null $parameter
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args, $parameter, 'capture'); $_attr = $this->getAttributes($compiler, $args, $parameter, 'capture');
$buffer = $_attr['name'] ?? "'default'"; $buffer = $_attr['name'] ?? "'default'";

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Captureclose Class * Smarty Internal Plugin Compile Captureclose Class
@@ -24,12 +24,12 @@ class CaptureClose extends Base {
* Compiles code for the {/capture} tag * Compiles code for the {/capture} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param null $parameter * @param null $parameter
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args, $parameter, '/capture'); $_attr = $this->getAttributes($compiler, $args, $parameter, '/capture');
// must endblock be nocache? // must endblock be nocache?

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Child Class * Smarty Internal Plugin Compile Child Class
@@ -45,13 +45,13 @@ class Child extends Base {
* Compiles code for the {child} tag * Compiles code for the {child} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
$tag = isset($parameter[0]) ? "'{$parameter[0]}'" : "'{{$this->tag}}'"; $tag = isset($parameter[0]) ? "'{$parameter[0]}'" : "'{{$this->tag}}'";

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Smarty; use Smarty\Smarty;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Config Load Class * Smarty Internal Plugin Compile Config Load Class
@@ -68,12 +68,12 @@ class ConfigLoad extends Base {
* Compiles code for the {config_load} tag * Compiles code for the {config_load} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) { if ($_attr['nocache'] === true) {

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Debug Class * Smarty Internal Plugin Compile Debug Class
@@ -29,7 +29,7 @@ class Debug extends Base {
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes, may trigger errors // check and get attributes, may trigger errors
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile ElseIf Class * Smarty Internal Plugin Compile ElseIf Class
@@ -16,13 +16,13 @@ class ElseIfTag extends Base {
* Compiles code for the {elseif} tag * Compiles code for the {elseif} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
[$nesting, $compiler->tag_nocache] = $this->closeTag($compiler, ['if', 'elseif']); [$nesting, $compiler->tag_nocache] = $this->closeTag($compiler, ['if', 'elseif']);

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Else Class * Smarty Internal Plugin Compile Else Class
@@ -16,11 +16,11 @@ class ElseTag extends Base {
* Compiles code for the {else} tag * Compiles code for the {else} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
[$nesting, $compiler->tag_nocache] = $this->closeTag($compiler, ['if', 'elseif']); [$nesting, $compiler->tag_nocache] = $this->closeTag($compiler, ['if', 'elseif']);
$this->openTag($compiler, 'else', [$nesting, $compiler->tag_nocache]); $this->openTag($compiler, 'else', [$nesting, $compiler->tag_nocache]);
return '<?php } else { ?>'; return '<?php } else { ?>';

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Eval Class * Smarty Internal Plugin Compile Eval Class
@@ -53,7 +53,7 @@ class EvalTag extends Base {
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
if (isset($_attr['assign'])) { if (isset($_attr['assign'])) {

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_Template; use Smarty_Internal_Template;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile extend Class * Smarty Internal Plugin Compile extend Class
@@ -49,13 +49,13 @@ class ExtendsTag extends Inheritance {
* Compiles code for the {extends} tag extends: resource * Compiles code for the {extends} tag extends: resource
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) { if ($_attr['nocache'] === true) {
@@ -96,13 +96,13 @@ class ExtendsTag extends Inheritance {
/** /**
* Add code for inheritance endChild() method to end of template * Add code for inheritance endChild() method to end of template
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* @param null|string $template optional inheritance parent template * @param null|string $template optional inheritance parent template
* *
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
private function compileEndChild(Smarty_Internal_TemplateCompilerBase $compiler, $template = null) { private function compileEndChild(\Smarty\Compiler\Template $compiler, $template = null) {
$inlineUids = ''; $inlineUids = '';
if (isset($template) && $compiler->smarty->merge_compiled_includes) { if (isset($template) && $compiler->smarty->merge_compiled_includes) {
$code = $compiler->compileTag('include', [$template, ['scope' => 'parent']]); $code = $compiler->compileTag('include', [$template, ['scope' => 'parent']]);
@@ -122,13 +122,13 @@ class ExtendsTag extends Inheritance {
/** /**
* Add code for including subtemplate to end of template * Add code for including subtemplate to end of template
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* @param string $template subtemplate name * @param string $template subtemplate name
* *
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
private function compileInclude(Smarty_Internal_TemplateCompilerBase $compiler, $template) { private function compileInclude(\Smarty\Compiler\Template $compiler, $template) {
$compiler->parser->template_postfix[] = new \Smarty\ParseTree\Tag( $compiler->parser->template_postfix[] = new \Smarty\ParseTree\Tag(
$compiler->parser, $compiler->parser,
$compiler->compileTag( $compiler->compileTag(

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Forclose Class * Smarty Internal Plugin Compile Forclose Class
@@ -29,7 +29,7 @@ class ForClose extends Base {
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting--; $compiler->loopNesting--;
// check and get attributes // check and get attributes
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Forelse Class * Smarty Internal Plugin Compile Forelse Class
@@ -21,7 +21,7 @@ class ForElse extends Base {
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);
[$openTag, $nocache] = $this->closeTag($compiler, ['for']); [$openTag, $nocache] = $this->closeTag($compiler, ['for']);

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile For Class * Smarty Internal Plugin Compile For Class
@@ -28,7 +28,7 @@ class ForTag extends Base {
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting++; $compiler->loopNesting++;
if ($parameter === 0) { if ($parameter === 0) {
$this->required_attributes = ['start', 'to']; $this->required_attributes = ['start', 'to'];

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_Compile_Foreach; use Smarty_Internal_Compile_Foreach;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Foreachclose Class * Smarty Internal Plugin Compile Foreachclose Class
@@ -25,12 +25,12 @@ class ForeachClose extends Base {
* Compiles code for the {/foreach} tag * Compiles code for the {/foreach} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting--; $compiler->loopNesting--;
// must endblock be nocache? // must endblock be nocache?
if ($compiler->nocache) { if ($compiler->nocache) {

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Foreachelse Class * Smarty Internal Plugin Compile Foreachelse Class
@@ -16,11 +16,11 @@ class ForeachElse extends Base {
* Compiles code for the {foreachelse} tag * Compiles code for the {foreachelse} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);
[$openTag, $nocache, $local, $itemVar, $restore] = $this->closeTag($compiler, ['foreach']); [$openTag, $nocache, $local, $itemVar, $restore] = $this->closeTag($compiler, ['foreach']);

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile ForeachSection Class * Smarty Internal Plugin Compile ForeachSection Class
@@ -78,11 +78,11 @@ abstract class ForeachSection extends Base {
* Scan sources for used tag attributes * Scan sources for used tag attributes
* *
* @param array $attributes * @param array $attributes
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @throws \SmartyException * @throws \SmartyException
*/ */
protected function scanForProperties($attributes, Smarty_Internal_TemplateCompilerBase $compiler) { protected function scanForProperties($attributes, \Smarty\Compiler\Template $compiler) {
$this->propertyPreg = '~('; $this->propertyPreg = '~(';
$this->startOffset = 1; $this->startOffset = 1;
$this->resultOffsets = []; $this->resultOffsets = [];
@@ -151,20 +151,20 @@ abstract class ForeachSection extends Base {
/** /**
* Find matches in template source * Find matches in template source
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
*/ */
private function matchTemplateSource(Smarty_Internal_TemplateCompilerBase $compiler) { private function matchTemplateSource(\Smarty\Compiler\Template $compiler) {
$this->matchProperty($compiler->parser->lex->data); $this->matchProperty($compiler->parser->lex->data);
} }
/** /**
* Find matches in all parent template source * Find matches in all parent template source
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @throws \SmartyException * @throws \SmartyException
*/ */
private function matchParentTemplateSource(Smarty_Internal_TemplateCompilerBase $compiler) { private function matchParentTemplateSource(\Smarty\Compiler\Template $compiler) {
// search parent compiler template source // search parent compiler template source
$nextCompiler = $compiler; $nextCompiler = $compiler;
while ($nextCompiler !== $nextCompiler->parent_compiler) { while ($nextCompiler !== $nextCompiler->parent_compiler) {
@@ -190,13 +190,13 @@ abstract class ForeachSection extends Base {
/** /**
* Compiles code for the {$smarty.foreach.xxx} or {$smarty.section.xxx}tag * Compiles code for the {$smarty.foreach.xxx} or {$smarty.section.xxx}tag
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compileSpecialVariable(Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { public function compileSpecialVariable(\Smarty\Compiler\Template $compiler, $parameter) {
$tag = smarty_strtolower_ascii(trim($parameter[0], '"\'')); $tag = smarty_strtolower_ascii(trim($parameter[0], '"\''));
$name = isset($parameter[1]) ? $compiler->getId($parameter[1]) : false; $name = isset($parameter[1]) ? $compiler->getId($parameter[1]) : false;
if (!$name) { if (!$name) {

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Foreach Class * Smarty Internal Plugin Compile Foreach Class
@@ -75,13 +75,13 @@ class ForeachTag extends ForeachSection {
* Compiles code for the {foreach} tag * Compiles code for the {foreach} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting++; $compiler->loopNesting++;
// init // init
$this->isNamed = false; $this->isNamed = false;

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Functionclose Class * Smarty Internal Plugin Compile Functionclose Class
@@ -31,11 +31,11 @@ class FunctionClose extends Base {
* Compiles code for the {/function} tag * Compiles code for the {/function} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param object|\Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param object|\Smarty\Compiler\Template $compiler compiler object
* *
* @return bool true * @return bool true
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$this->compiler = $compiler; $this->compiler = $compiler;
$saved_data = $this->closeTag($compiler, ['function']); $saved_data = $this->closeTag($compiler, ['function']);
$_attr = $saved_data[0]; $_attr = $saved_data[0];

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Function Class * Smarty Internal Plugin Compile Function Class
@@ -40,12 +40,12 @@ class FunctionTag extends Base {
* Compiles code for the {function} tag * Compiles code for the {function} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return bool true * @return bool true
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) { if ($_attr['nocache'] === true) {

View File

@@ -12,7 +12,7 @@ namespace Smarty\Compile;
use Smarty\Compile\Assign; use Smarty\Compile\Assign;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Ifclose Class * Smarty Internal Plugin Compile Ifclose Class
@@ -26,11 +26,11 @@ class IfClose extends Base {
* Compiles code for the {/if} tag * Compiles code for the {/if} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// must endblock be nocache? // must endblock be nocache?
if ($compiler->nocache) { if ($compiler->nocache) {
$compiler->tag_nocache = true; $compiler->tag_nocache = true;

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile If Class * Smarty Internal Plugin Compile If Class
@@ -16,13 +16,13 @@ class IfTag extends Base {
* Compiles code for the {if} tag * Compiles code for the {if} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
$this->openTag($compiler, 'if', [1, $compiler->nocache]); $this->openTag($compiler, 'if', [1, $compiler->nocache]);

View File

@@ -10,10 +10,10 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compiler\Template;
use Smarty\Smarty; use Smarty\Smarty;
use Smarty_Internal_SmartyTemplateCompiler;
use Smarty_Internal_Template; use Smarty_Internal_Template;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
use Smarty_Resource; use Smarty_Resource;
use Smarty_Template_Compiled; use Smarty_Template_Compiled;
@@ -77,14 +77,14 @@ class IncludeTag extends Base {
* Compiles code for the {include} tag * Compiles code for the {include} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param Smarty_Internal_SmartyTemplateCompiler $compiler compiler object * @param Template $compiler compiler object
* *
* @return string * @return string
* @throws \Exception * @throws \Exception
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$uid = $t_hash = null; $uid = $t_hash = null;
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
@@ -288,7 +288,7 @@ class IncludeTag extends Base {
/** /**
* Compile inline sub template * Compile inline sub template
* *
* @param \Smarty_Internal_SmartyTemplateCompiler $compiler * @param \Smarty\Compiler\Template $compiler
* @param \Smarty_Internal_Template $tpl * @param \Smarty_Internal_Template $tpl
* @param string $t_hash * @param string $t_hash
* *
@@ -297,9 +297,9 @@ class IncludeTag extends Base {
* @throws \SmartyException * @throws \SmartyException
*/ */
private function compileInlineTemplate( private function compileInlineTemplate(
Smarty_Internal_SmartyTemplateCompiler $compiler, Template $compiler,
Smarty_Internal_Template $tpl, Smarty_Internal_Template $tpl,
$t_hash $t_hash
) { ) {
$uid = $tpl->source->type . $tpl->source->uid; $uid = $tpl->source->type . $tpl->source->uid;
if (!($tpl->source->handler->uncompiled) && $tpl->source->exists) { if (!($tpl->source->handler->uncompiled) && $tpl->source->exists) {

View File

@@ -22,10 +22,10 @@ abstract class Inheritance extends \Smarty\Compile\Base
/** /**
* Compile inheritance initialization code as prefix * Compile inheritance initialization code as prefix
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* @param bool|false $initChildSequence if true force child template * @param bool|false $initChildSequence if true force child template
*/ */
public static function postCompile(\Smarty_Internal_TemplateCompilerBase $compiler, $initChildSequence = false) public static function postCompile(\Smarty\Compiler\Template $compiler, $initChildSequence = false)
{ {
$compiler->prefixCompiledCode .= "<?php \$_smarty_tpl->_loadInheritance();\n\$_smarty_tpl->inheritance->init(\$_smarty_tpl, " . $compiler->prefixCompiledCode .= "<?php \$_smarty_tpl->_loadInheritance();\n\$_smarty_tpl->inheritance->init(\$_smarty_tpl, " .
var_export($initChildSequence, true) . ");\n?>\n"; var_export($initChildSequence, true) . ");\n?>\n";
@@ -34,10 +34,10 @@ abstract class Inheritance extends \Smarty\Compile\Base
/** /**
* Register post compile callback to compile inheritance initialization code * Register post compile callback to compile inheritance initialization code
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* @param bool|false $initChildSequence if true force child template * @param bool|false $initChildSequence if true force child template
*/ */
public function registerInit(\Smarty_Internal_TemplateCompilerBase $compiler, $initChildSequence = false) public function registerInit(\Smarty\Compiler\Template $compiler, $initChildSequence = false)
{ {
if ($initChildSequence || !isset($compiler->_cache[ 'inheritanceInit' ])) { if ($initChildSequence || !isset($compiler->_cache[ 'inheritanceInit' ])) {
$compiler->registerPostCompileCallback( $compiler->registerPostCompileCallback(

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Variable; use Smarty\Variable;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Insert Class * Smarty Internal Plugin Compile Insert Class
@@ -49,13 +49,13 @@ class Insert extends Base {
* Compiles code for the {insert} tag * Compiles code for the {insert} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
$nocacheParam = $compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache); $nocacheParam = $compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache);

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Ldelim Class * Smarty Internal Plugin Compile Ldelim Class
@@ -25,12 +25,12 @@ class Ldelim extends Base {
* This tag does output the left delimiter * This tag does output the left delimiter
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) { if ($_attr['nocache'] === true) {
$compiler->trigger_template_error('nocache option not allowed', null, true); $compiler->trigger_template_error('nocache option not allowed', null, true);

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Make_Nocache Class * Smarty Internal Plugin Compile Make_Nocache Class
@@ -47,11 +47,11 @@ class MakeNocache extends Base {
* Compiles code for the {make_nocache} tag * Compiles code for the {make_nocache} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
if ($compiler->template->caching) { if ($compiler->template->caching) {

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Nocache Class * Smarty Internal Plugin Compile Nocache Class
@@ -17,18 +17,18 @@ class Nocache extends Base {
* *
* @var array * @var array
*/ */
public $option_flags = []; protected $option_flags = [];
/** /**
* Compiles code for the {nocache} tag * Compiles code for the {nocache} tag
* This tag does not generate compiled output. It only sets a compiler flag. * This tag does not generate compiled output. It only sets a compiler flag.
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return bool * @return bool
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);
$this->openTag($compiler, 'nocache', [$compiler->nocache]); $this->openTag($compiler, 'nocache', [$compiler->nocache]);
// enter nocache mode // enter nocache mode

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Nocacheclose Class * Smarty Internal Plugin Compile Nocacheclose Class
@@ -25,11 +25,11 @@ class NocacheClose extends Base {
* This tag does not generate compiled output. It only sets a compiler flag. * This tag does not generate compiled output. It only sets a compiler flag.
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return bool * @return bool
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
// leave nocache mode // leave nocache mode
[$compiler->nocache] = $this->closeTag($compiler, ['nocache']); [$compiler->nocache] = $this->closeTag($compiler, ['nocache']);

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Block Plugin Class * Smarty Internal Plugin Compile Block Plugin Class
@@ -39,7 +39,7 @@ class PrivateBlockPlugin extends Base {
* Compiles code for the execution of block plugin * Compiles code for the execution of block plugin
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* @param string $tag name of block plugin * @param string $tag name of block plugin
* @param string $function PHP function name * @param string $function PHP function name
@@ -48,7 +48,7 @@ class PrivateBlockPlugin extends Base {
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
if (!isset($tag[5]) || substr($tag, -5) !== 'close') { if (!isset($tag[5]) || substr($tag, -5) !== 'close') {
// opening tag of block plugin // opening tag of block plugin
// check and get attributes // check and get attributes
@@ -104,14 +104,14 @@ class PrivateBlockPlugin extends Base {
/** /**
* Setup callback and parameter array * Setup callback and parameter array
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* @param array $_attr attributes * @param array $_attr attributes
* @param string $tag * @param string $tag
* @param string $function * @param string $function
* *
* @return array * @return array
*/ */
protected function setup(Smarty_Internal_TemplateCompilerBase $compiler, $_attr, $tag, $function) { protected function setup(\Smarty\Compiler\Template $compiler, $_attr, $tag, $function) {
$_paramsArray = []; $_paramsArray = [];
foreach ($_attr as $_key => $_value) { foreach ($_attr as $_key => $_value) {
if (is_int($_key)) { if (is_int($_key)) {

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Function Plugin Class * Smarty Internal Plugin Compile Function Plugin Class
@@ -41,7 +41,7 @@ class PrivateFunctionPlugin extends Base {
* Compiles code for the execution of function plugin * Compiles code for the execution of function plugin
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* @param string $tag name of function plugin * @param string $tag name of function plugin
* @param string $function PHP function name * @param string $function PHP function name
@@ -50,7 +50,7 @@ class PrivateFunctionPlugin extends Base {
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
unset($_attr['nocache']); unset($_attr['nocache']);

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Modifier Class * Smarty Internal Plugin Compile Modifier Class
@@ -24,14 +24,14 @@ class PrivateModifier extends Base {
* Compiles code for modifier execution * Compiles code for modifier execution
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
$output = $parameter['value']; $output = $parameter['value'];

View File

@@ -10,8 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compile\PrivateBlockPlugin; use Smarty\Compiler\Template;
use Smarty_Internal_TemplateCompilerBase;
/** /**
* Smarty Internal Plugin Compile Object Block Function Class * Smarty Internal Plugin Compile Object Block Function Class
@@ -24,14 +23,14 @@ class PrivateObjectBlockFunction extends PrivateBlockPlugin {
/** /**
* Setup callback and parameter array * Setup callback and parameter array
* *
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param Template $compiler
* @param array $_attr attributes * @param array $_attr attributes
* @param string $tag * @param string $tag
* @param string $function * @param string $function
* *
* @return array * @return array
*/ */
protected function setup(Smarty_Internal_TemplateCompilerBase $compiler, $_attr, $tag, $function) { protected function setup(Template $compiler, $_attr, $tag, $function) {
$_paramsArray = []; $_paramsArray = [];
foreach ($_attr as $_key => $_value) { foreach ($_attr as $_key => $_value) {
if (is_int($_key)) { if (is_int($_key)) {

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Object Function Class * Smarty Internal Plugin Compile Object Function Class
@@ -32,7 +32,7 @@ class PrivateObjectFunction extends Base {
* Compiles code for the execution of function plugin * Compiles code for the execution of function plugin
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* @param string $tag name of function * @param string $tag name of function
* @param string $function name of method to call * @param string $function name of method to call
@@ -41,7 +41,7 @@ class PrivateObjectFunction extends Base {
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
unset($_attr['nocache']); unset($_attr['nocache']);

View File

@@ -11,7 +11,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Print Expression Class * Smarty Internal Plugin Compile Print Expression Class
@@ -35,19 +35,19 @@ class PrivatePrintExpression extends Base {
* @var array * @var array
* @see Base * @see Base
*/ */
public $option_flags = ['nocache', 'nofilter']; protected $option_flags = ['nocache', 'nofilter'];
/** /**
* Compiles code for generating output from any expression * Compiles code for generating output from any expression
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string * @return string
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
$output = $parameter['value']; $output = $parameter['value'];
@@ -133,14 +133,14 @@ class PrivatePrintExpression extends Base {
} }
/** /**
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param string $name name of variable filter * @param string $name name of variable filter
* @param string $output embedded output * @param string $output embedded output
* *
* @return string * @return string
* @throws \SmartyException * @throws \SmartyException
*/ */
private function compile_variable_filter(Smarty_Internal_TemplateCompilerBase $compiler, $name, $output) { private function compile_variable_filter(\Smarty\Compiler\Template $compiler, $name, $output) {
$function = $compiler->getPlugin($name, 'variablefilter'); $function = $compiler->getPlugin($name, 'variablefilter');
if ($function) { if ($function) {
return "{$function}({$output},\$_smarty_tpl)"; return "{$function}({$output},\$_smarty_tpl)";

View File

@@ -10,7 +10,8 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
use Smarty\Smarty;
/** /**
* Smarty Internal Plugin Compile Registered Function Class * Smarty Internal Plugin Compile Registered Function Class
@@ -32,7 +33,7 @@ class PrivateRegisteredFunction extends Base {
* Compiles code for the execution of a registered function * Compiles code for the execution of a registered function
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* @param string $tag name of function * @param string $tag name of function
* *
@@ -40,15 +41,15 @@ class PrivateRegisteredFunction extends Base {
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);
unset($_attr['nocache']); unset($_attr['nocache']);
if (isset($compiler->smarty->registered_plugins[\Smarty\Smarty::PLUGIN_FUNCTION][$tag])) { if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag])) {
$tag_info = $compiler->smarty->registered_plugins[\Smarty\Smarty::PLUGIN_FUNCTION][$tag]; $tag_info = $compiler->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag];
$is_registered = true; $is_registered = true;
} else { } else {
$tag_info = $compiler->default_handler_plugins[\Smarty\Smarty::PLUGIN_FUNCTION][$tag]; $tag_info = $compiler->default_handler_plugins[Smarty::PLUGIN_FUNCTION][$tag];
$is_registered = false; $is_registered = false;
} }
// not cacheable? // not cacheable?

View File

@@ -14,7 +14,7 @@ use Smarty\Compile\Capture;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty\Compile\ForeachTag; use Smarty\Compile\ForeachTag;
use Smarty\Compile\Section; use Smarty\Compile\Section;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile special Smarty Variable Class * Smarty Internal Plugin Compile special Smarty Variable Class
@@ -28,13 +28,13 @@ class PrivateSpecialVariable extends Base {
* Compiles code for the special $smarty variables * Compiles code for the special $smarty variables
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param $parameter * @param $parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$_index = preg_split("/\]\[/", substr($parameter, 1, strlen($parameter) - 2)); $_index = preg_split("/\]\[/", substr($parameter, 1, strlen($parameter) - 2));
$variable = smarty_strtolower_ascii($compiler->getId($_index[0])); $variable = smarty_strtolower_ascii($compiler->getId($_index[0]));
if ($variable === false) { if ($variable === false) {

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Rdelim Class * Smarty Internal Plugin Compile Rdelim Class
@@ -25,12 +25,12 @@ class Rdelim extends Ldelim {
* This tag does output the right delimiter. * This tag does output the right delimiter.
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
parent::compile($args, $compiler); parent::compile($args, $compiler);
return $compiler->smarty->right_delimiter; return $compiler->smarty->right_delimiter;
} }

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Section Class * Smarty Internal Plugin Compile Section Class
@@ -78,13 +78,13 @@ class Section extends ForeachSection {
* Compiles code for the {section} tag * Compiles code for the {section} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
* @throws \SmartyException * @throws \SmartyException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting++; $compiler->loopNesting++;
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);

View File

@@ -12,7 +12,7 @@ namespace Smarty\Compile;
use Smarty\Compile\ForeachSection; use Smarty\Compile\ForeachSection;
use Smarty\Compile\Base; use Smarty\Compile\Base;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Sectionclose Class * Smarty Internal Plugin Compile Sectionclose Class
@@ -26,11 +26,11 @@ class SectionClose extends Base {
* Compiles code for the {/section} tag * Compiles code for the {/section} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting--; $compiler->loopNesting--;
// must endblock be nocache? // must endblock be nocache?
if ($compiler->nocache) { if ($compiler->nocache) {

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Sectionelse Class * Smarty Internal Plugin Compile Sectionelse Class
@@ -16,11 +16,11 @@ class SectionElse extends Base {
* Compiles code for the {sectionelse} tag * Compiles code for the {sectionelse} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
// check and get attributes // check and get attributes
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);
[$openTag, $nocache, $local, $sectionVar] = $this->closeTag($compiler, ['section']); [$openTag, $nocache, $local, $sectionVar] = $this->closeTag($compiler, ['section']);

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Setfilter Class * Smarty Internal Plugin Compile Setfilter Class
@@ -16,12 +16,12 @@ class Setfilter extends Base {
* Compiles code for setfilter tag * Compiles code for setfilter tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->variable_filter_stack[] = $compiler->variable_filters; $compiler->variable_filter_stack[] = $compiler->variable_filters;
$compiler->variable_filters = $parameter['modifier_list']; $compiler->variable_filters = $parameter['modifier_list'];
// this tag does not return compiled code // this tag does not return compiled code

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Setfilterclose Class * Smarty Internal Plugin Compile Setfilterclose Class
@@ -25,11 +25,11 @@ class SetfilterClose extends Base {
* This tag does not generate compiled output. It resets variable filter. * This tag does not generate compiled output. It resets variable filter.
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$this->getAttributes($compiler, $args); $this->getAttributes($compiler, $args);
// reset variable filter to previous state // reset variable filter to previous state
if (count($compiler->variable_filter_stack)) { if (count($compiler->variable_filter_stack)) {

View File

@@ -10,7 +10,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile Whileclose Class * Smarty Internal Plugin Compile Whileclose Class
@@ -24,11 +24,11 @@ class WhileClose extends Base {
* Compiles code for the {/while} tag * Compiles code for the {/while} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* *
* @return string compiled code * @return string compiled code
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting--; $compiler->loopNesting--;
// must endblock be nocache? // must endblock be nocache?
if ($compiler->nocache) { if ($compiler->nocache) {

View File

@@ -2,7 +2,7 @@
namespace Smarty\Compile; namespace Smarty\Compile;
use Smarty_Internal_TemplateCompilerBase; use Smarty\Compiler\Template;
/** /**
* Smarty Internal Plugin Compile While Class * Smarty Internal Plugin Compile While Class
@@ -16,13 +16,13 @@ class WhileTag extends Base {
* Compiles code for the {while} tag * Compiles code for the {while} tag
* *
* @param array $args array with attributes from parser * @param array $args array with attributes from parser
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object * @param \Smarty\Compiler\Template $compiler compiler object
* @param array $parameter array with compilation parameter * @param array $parameter array with compilation parameter
* *
* @return string compiled code * @return string compiled code
* @throws \SmartyCompilerException * @throws \SmartyCompilerException
*/ */
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = [], $tag = null, $function = null) { public function compile($args, \Smarty\Compiler\Template $compiler, $parameter = [], $tag = null, $function = null) {
$compiler->loopNesting++; $compiler->loopNesting++;
// check and get attributes // check and get attributes
$_attr = $this->getAttributes($compiler, $args); $_attr = $this->getAttributes($compiler, $args);

208
src/Compiler/ConfigFile.php Normal file
View File

@@ -0,0 +1,208 @@
<?php
/**
* Smarty Internal Plugin Config File Compiler
* This is the config file compiler class. It calls the lexer and parser to
* perform the compiling.
*
* @package Smarty
* @subpackage Config
* @author Uwe Tews
*/
namespace Smarty\Compiler;
use Smarty;
use Smarty_Internal_ConfigFileLexer;
use Smarty_Internal_ConfigFileParser;
use Smarty_Internal_Template;
use SmartyCompilerException;
/**
* Main config file compiler class
*
* @package Smarty
* @subpackage Config
*/
class ConfigFile {
/**
* Lexer class name
*
* @var string
*/
public $lexer_class;
/**
* Parser class name
*
* @var string
*/
public $parser_class;
/**
* Lexer object
*
* @var object
*/
public $lex;
/**
* Parser object
*
* @var object
*/
public $parser;
/**
* Smarty object
*
* @var Smarty object
*/
public $smarty;
/**
* Smarty object
*
* @var Smarty_Internal_Template object
*/
public $template;
/**
* Compiled config data sections and variables
*
* @var array
*/
public $config_data = [];
/**
* Initialize compiler
*
* @param string $lexer_class class name
* @param string $parser_class class name
* @param Smarty $smarty global instance
*/
public function __construct($lexer_class, $parser_class, Smarty $smarty) {
$this->smarty = $smarty;
// get required plugins
$this->lexer_class = $lexer_class;
$this->parser_class = $parser_class;
$this->smarty = $smarty;
$this->config_data['sections'] = [];
$this->config_data['vars'] = [];
}
/**
* Method to compile Smarty config source.
*
* @param Smarty_Internal_Template $template
*
* @return bool true if compiling succeeded, false if it failed
* @throws \SmartyException
*/
public function compileTemplate(Smarty_Internal_Template $template) {
$this->template = $template;
$this->template->compiled->file_dependency[$this->template->source->uid] =
[
$this->template->source->filepath,
$this->template->source->getTimeStamp(),
$this->template->source->type,
];
if ($this->smarty->debugging) {
if (!isset($this->smarty->_debug)) {
$this->smarty->_debug = new \Smarty\Debug();
}
$this->smarty->_debug->start_compile($this->template);
}
// init the lexer/parser to compile the config file
/* @var Smarty_Internal_ConfigFileLexer $this- >lex */
$this->lex = new $this->lexer_class(
str_replace(
[
"\r\n",
"\r",
],
"\n",
$template->source->getContent()
) . "\n",
$this
);
/* @var Smarty_Internal_ConfigFileParser $this- >parser */
$this->parser = new $this->parser_class($this->lex, $this);
if (function_exists('mb_internal_encoding')
&& function_exists('ini_get')
&& ((int)ini_get('mbstring.func_overload')) & 2
) {
$mbEncoding = mb_internal_encoding();
mb_internal_encoding('ASCII');
} else {
$mbEncoding = null;
}
if ($this->smarty->_parserdebug) {
$this->parser->PrintTrace();
}
// get tokens from lexer and parse them
while ($this->lex->yylex()) {
if ($this->smarty->_parserdebug) {
echo "<br>Parsing {$this->parser->yyTokenName[$this->lex->token]} Token {$this->lex->value} Line {$this->lex->line} \n";
}
$this->parser->doParse($this->lex->token, $this->lex->value);
}
// finish parsing process
$this->parser->doParse(0, 0);
if ($mbEncoding) {
mb_internal_encoding($mbEncoding);
}
if ($this->smarty->debugging) {
$this->smarty->_debug->end_compile($this->template);
}
// template header code
$template_header = sprintf(
"<?php /* Smarty version %s, created on %s\n compiled from '%s' */ ?>\n",
\Smarty\Smarty::SMARTY_VERSION,
date("Y-m-d H:i:s"),
str_replace('*/', '* /', $this->template->source->filepath)
);
$code = '<?php $_smarty_tpl->smarty->ext->configLoad->_loadConfigVars($_smarty_tpl, ' .
var_export($this->config_data, true) . '); ?>';
return $template_header . $this->createCodeFrame($code);
}
/**
* display compiler error messages without dying
* If parameter $args is empty it is a parser detected syntax error.
* In this case the parser is called to obtain information about expected tokens.
* If parameter $args contains a string this is used as error message
*
* @param string $args individual error message or null
*
* @throws SmartyCompilerException
*/
public function trigger_config_file_error($args = null) {
// get config source line which has error
$line = $this->lex->line;
if (isset($args)) {
// $line--;
}
$match = preg_split("/\n/", $this->lex->data);
$error_text =
"Syntax error in config file '{$this->template->source->filepath}' on line {$line} '{$match[$line - 1]}' ";
if (isset($args)) {
// individual error message
$error_text .= $args;
} else {
// expected token from parser
foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
$exp_token = $this->parser->yyTokenName[$token];
if (isset($this->lex->smarty_token_names[$exp_token])) {
// token type from lexer
$expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"';
} else {
// otherwise internal token name
$expect[] = $this->parser->yyTokenName[$token];
}
}
// output parser error message
$error_text .= ' - Unexpected "' . $this->lex->value . '", expected one of: ' . implode(' , ', $expect);
}
throw new SmartyCompilerException($error_text);
}
}

1744
src/Compiler/Template.php Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,211 +0,0 @@
<?php
/**
* Smarty Internal Plugin Config File Compiler
* This is the config file compiler class. It calls the lexer and parser to
* perform the compiling.
*
* @package Smarty
* @subpackage Config
* @author Uwe Tews
*/
/**
* Main config file compiler class
*
* @package Smarty
* @subpackage Config
*/
class Smarty_Internal_Config_File_Compiler
{
/**
* Lexer class name
*
* @var string
*/
public $lexer_class;
/**
* Parser class name
*
* @var string
*/
public $parser_class;
/**
* Lexer object
*
* @var object
*/
public $lex;
/**
* Parser object
*
* @var object
*/
public $parser;
/**
* Smarty object
*
* @var Smarty object
*/
public $smarty;
/**
* Smarty object
*
* @var Smarty_Internal_Template object
*/
public $template;
/**
* Compiled config data sections and variables
*
* @var array
*/
public $config_data = array();
/**
* compiled config data must always be written
*
* @var bool
*/
public $write_compiled_code = true;
/**
* Initialize compiler
*
* @param string $lexer_class class name
* @param string $parser_class class name
* @param Smarty $smarty global instance
*/
public function __construct($lexer_class, $parser_class, Smarty $smarty)
{
$this->smarty = $smarty;
// get required plugins
$this->lexer_class = $lexer_class;
$this->parser_class = $parser_class;
$this->smarty = $smarty;
$this->config_data[ 'sections' ] = array();
$this->config_data[ 'vars' ] = array();
}
/**
* Method to compile Smarty config source.
*
* @param Smarty_Internal_Template $template
*
* @return bool true if compiling succeeded, false if it failed
* @throws \SmartyException
*/
public function compileTemplate(Smarty_Internal_Template $template)
{
$this->template = $template;
$this->template->compiled->file_dependency[ $this->template->source->uid ] =
array(
$this->template->source->filepath,
$this->template->source->getTimeStamp(),
$this->template->source->type
);
if ($this->smarty->debugging) {
if (!isset($this->smarty->_debug)) {
$this->smarty->_debug = new \Smarty\Debug();
}
$this->smarty->_debug->start_compile($this->template);
}
// init the lexer/parser to compile the config file
/* @var Smarty_Internal_ConfigFileLexer $this->lex */
$this->lex = new $this->lexer_class(
str_replace(
array(
"\r\n",
"\r"
),
"\n",
$template->source->getContent()
) . "\n",
$this
);
/* @var Smarty_Internal_ConfigFileParser $this->parser */
$this->parser = new $this->parser_class($this->lex, $this);
if (function_exists('mb_internal_encoding')
&& function_exists('ini_get')
&& ((int)ini_get('mbstring.func_overload')) & 2
) {
$mbEncoding = mb_internal_encoding();
mb_internal_encoding('ASCII');
} else {
$mbEncoding = null;
}
if ($this->smarty->_parserdebug) {
$this->parser->PrintTrace();
}
// get tokens from lexer and parse them
while ($this->lex->yylex()) {
if ($this->smarty->_parserdebug) {
echo "<br>Parsing {$this->parser->yyTokenName[$this->lex->token]} Token {$this->lex->value} Line {$this->lex->line} \n";
}
$this->parser->doParse($this->lex->token, $this->lex->value);
}
// finish parsing process
$this->parser->doParse(0, 0);
if ($mbEncoding) {
mb_internal_encoding($mbEncoding);
}
if ($this->smarty->debugging) {
$this->smarty->_debug->end_compile($this->template);
}
// template header code
$template_header = sprintf(
"<?php /* Smarty version %s, created on %s\n compiled from '%s' */ ?>\n",
\Smarty\Smarty::SMARTY_VERSION,
date("Y-m-d H:i:s"),
str_replace('*/', '* /' , $this->template->source->filepath)
);
$code = '<?php $_smarty_tpl->smarty->ext->configLoad->_loadConfigVars($_smarty_tpl, ' .
var_export($this->config_data, true) . '); ?>';
return $template_header . $this->createCodeFrame($code);
}
/**
* display compiler error messages without dying
* If parameter $args is empty it is a parser detected syntax error.
* In this case the parser is called to obtain information about expected tokens.
* If parameter $args contains a string this is used as error message
*
* @param string $args individual error message or null
*
* @throws SmartyCompilerException
*/
public function trigger_config_file_error($args = null)
{
// get config source line which has error
$line = $this->lex->line;
if (isset($args)) {
// $line--;
}
$match = preg_split("/\n/", $this->lex->data);
$error_text =
"Syntax error in config file '{$this->template->source->filepath}' on line {$line} '{$match[$line - 1]}' ";
if (isset($args)) {
// individual error message
$error_text .= $args;
} else {
// expected token from parser
foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
$exp_token = $this->parser->yyTokenName[ $token ];
if (isset($this->lex->smarty_token_names[ $exp_token ])) {
// token type from lexer
$expect[] = '"' . $this->lex->smarty_token_names[ $exp_token ] . '"';
} else {
// otherwise internal token name
$expect[] = $this->parser->yyTokenName[ $token ];
}
}
// output parser error message
$error_text .= ' - Unexpected "' . $this->lex->value . '", expected one of: ' . implode(' , ', $expect);
}
throw new SmartyCompilerException($error_text);
}
}

View File

@@ -1,184 +0,0 @@
<?php
/**
* Smarty Internal Plugin Smarty Template Compiler Base
* This file contains the basic classes and methods for compiling Smarty templates with lexer/parser
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
/**
* Class SmartyTemplateCompiler
*
* @package Smarty
* @subpackage Compiler
*/
class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCompilerBase
{
/**
* Lexer class name
*
* @var string
*/
public $lexer_class;
/**
* Parser class name
*
* @var string
*/
public $parser_class;
/**
* array of vars which can be compiled in local scope
*
* @var array
*/
public $local_var = array();
/**
* array of callbacks called when the normal compile process of template is finished
*
* @var array
*/
public $postCompileCallbacks = array();
/**
* prefix code
*
* @var string
*/
public $prefixCompiledCode = '';
/**
* postfix code
*
* @var string
*/
public $postfixCompiledCode = '';
/**
* Initialize compiler
*
* @param string $lexer_class class name
* @param string $parser_class class name
* @param Smarty $smarty global instance
*/
public function __construct($lexer_class, $parser_class, Smarty $smarty)
{
parent::__construct($smarty);
// get required plugins
$this->lexer_class = $lexer_class;
$this->parser_class = $parser_class;
}
/**
* method to compile a Smarty template
*
* @param mixed $_content template source
* @param bool $isTemplateSource
*
* @return bool true if compiling succeeded, false if it failed
* @throws \SmartyCompilerException
*/
protected function doCompile($_content, $isTemplateSource = false)
{
/* here is where the compiling takes place. Smarty
tags in the templates are replaces with PHP code,
then written to compiled files. */
// init the lexer/parser to compile the template
$this->parser =
new $this->parser_class(
new $this->lexer_class(
str_replace(
array(
"\r\n",
"\r"
),
"\n",
$_content
),
$this
),
$this
);
if ($isTemplateSource && $this->template->caching) {
$this->parser->insertPhpCode("<?php\n\$_smarty_tpl->compiled->nocache_hash = '{$this->nocache_hash}';\n?>\n");
}
if (function_exists('mb_internal_encoding')
&& function_exists('ini_get')
&& ((int)ini_get('mbstring.func_overload')) & 2
) {
$mbEncoding = mb_internal_encoding();
mb_internal_encoding('ASCII');
} else {
$mbEncoding = null;
}
if ($this->smarty->_parserdebug) {
$this->parser->PrintTrace();
$this->parser->lex->PrintTrace();
}
// get tokens from lexer and parse them
while ($this->parser->lex->yylex()) {
if ($this->smarty->_parserdebug) {
echo "<pre>Line {$this->parser->lex->line} Parsing {$this->parser->yyTokenName[$this->parser->lex->token]} Token " .
htmlentities($this->parser->lex->value) . "</pre>";
}
$this->parser->doParse($this->parser->lex->token, $this->parser->lex->value);
}
// finish parsing process
$this->parser->doParse(0, 0);
if ($mbEncoding) {
mb_internal_encoding($mbEncoding);
}
// check for unclosed tags
if (count($this->_tag_stack) > 0) {
// get stacked info
list($openTag, $_data) = array_pop($this->_tag_stack);
$this->trigger_template_error(
"unclosed {$this->smarty->left_delimiter}" . $openTag .
"{$this->smarty->right_delimiter} tag"
);
}
// call post compile callbacks
foreach ($this->postCompileCallbacks as $cb) {
$parameter = $cb;
$parameter[ 0 ] = $this;
call_user_func_array($cb[ 0 ], $parameter);
}
// return compiled code
return $this->prefixCompiledCode . $this->parser->retvalue . $this->postfixCompiledCode;
}
/**
* Register a post compile callback
* - when the callback is called after template compiling the compiler object will be inserted as first parameter
*
* @param callback $callback
* @param array $parameter optional parameter array
* @param string $key optional key for callback
* @param bool $replace if true replace existing keyed callback
*/
public function registerPostCompileCallback($callback, $parameter = array(), $key = null, $replace = false)
{
array_unshift($parameter, $callback);
if (isset($key)) {
if ($replace || !isset($this->postCompileCallbacks[ $key ])) {
$this->postCompileCallbacks[ $key ] = $parameter;
}
} else {
$this->postCompileCallbacks[] = $parameter;
}
}
/**
* Remove a post compile callback
*
* @param string $key callback key
*/
public function unregisterPostCompileCallback($key)
{
unset($this->postCompileCallbacks[ $key ]);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -70,7 +70,7 @@ class Smarty_Internal_Configfilelexer
/** /**
* compiler object * compiler object
* *
* @var Smarty_Internal_Config_File_Compiler * @var Smarty\Compiler\ConfigFile
*/ */
private $compiler = null; private $compiler = null;
/** /**
@@ -122,9 +122,9 @@ class Smarty_Internal_Configfilelexer
* constructor * constructor
* *
* @param string $data template source * @param string $data template source
* @param Smarty_Internal_Config_File_Compiler $compiler * @param Smarty\Compiler\ConfigFile $compiler
*/ */
public function __construct($data, Smarty_Internal_Config_File_Compiler $compiler) public function __construct($data, Smarty\Compiler\ConfigFile $compiler)
{ {
$this->data = $data . "\n"; //now all lines are \n-terminated $this->data = $data . "\n"; //now all lines are \n-terminated
$this->dataLength = strlen($data); $this->dataLength = strlen($data);

View File

@@ -84,7 +84,7 @@ class Smarty_Internal_Templatelexer
/** /**
* compiler object * compiler object
* *
* @var Smarty_Internal_TemplateCompilerBase * @var \Smarty\Compiler\Template
*/ */
public $compiler = null; public $compiler = null;
@@ -219,9 +219,9 @@ class Smarty_Internal_Templatelexer
* constructor * constructor
* *
* @param string $source template source * @param string $source template source
* @param Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
*/ */
public function __construct($source, Smarty_Internal_TemplateCompilerBase $compiler) public function __construct($source, \Smarty\Compiler\Template $compiler)
{ {
$this->data = $source; $this->data = $source;
$this->dataLength = strlen($this->data); $this->dataLength = strlen($this->data);

View File

@@ -59,7 +59,7 @@ class Configfile
/** /**
* compiler object * compiler object
* *
* @var Smarty_Internal_Config_File_Compiler * @var Smarty\Compiler\ConfigFile
*/ */
public $compiler = null; public $compiler = null;
/** /**
@@ -92,9 +92,9 @@ class Configfile
* constructor * constructor
* *
* @param Lexer $lex * @param Lexer $lex
* @param Smarty_Internal_Config_File_Compiler $compiler * @param Smarty\Compiler\ConfigFile $compiler
*/ */
public function __construct(Lexer $lex, Smarty_Internal_Config_File_Compiler $compiler) public function __construct(Lexer $lex, Smarty\Compiler\ConfigFile $compiler)
{ {
$this->lex = $lex; $this->lex = $lex;
$this->smarty = $compiler->smarty; $this->smarty = $compiler->smarty;

View File

@@ -94,7 +94,7 @@ class Smarty_Internal_Templateparser
/** /**
* compiler object * compiler object
* *
* @var Smarty_Internal_TemplateCompilerBase * @var \Smarty\Compiler\Template
*/ */
public $compiler = null; public $compiler = null;
@@ -144,9 +144,9 @@ class Smarty_Internal_Templateparser
* constructor * constructor
* *
* @param Smarty_Internal_Templatelexer $lex * @param Smarty_Internal_Templatelexer $lex
* @param Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
*/ */
public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler) public function __construct(Smarty_Internal_Templatelexer $lex, \Smarty\Compiler\Template $compiler)
{ {
$this->lex = $lex; $this->lex = $lex;
$this->compiler = $compiler; $this->compiler = $compiler;

View File

@@ -24,7 +24,7 @@ class CodeFrame
* @param string $content optional template content * @param string $content optional template content
* @param string $functions compiled template function and block code * @param string $functions compiled template function and block code
* @param bool $cache flag for cache file * @param bool $cache flag for cache file
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @return string * @return string
*/ */
@@ -33,7 +33,7 @@ class CodeFrame
$content = '', $content = '',
$functions = '', $functions = '',
$cache = false, $cache = false,
\Smarty_Internal_TemplateCompilerBase $compiler = null \Smarty\Compiler\Template $compiler = null
) { ) {
// build property code // build property code
$properties[ 'version' ] = \Smarty::SMARTY_VERSION; $properties[ 'version' ] = \Smarty::SMARTY_VERSION;

View File

@@ -43,7 +43,7 @@ class Smarty_Template_Config extends Smarty_Template_Source
* *
* @var string * @var string
*/ */
public $compiler_class = 'Smarty_Internal_Config_File_Compiler'; public $compiler_class = 'Smarty\Compiler\ConfigFile';
/** /**
* Name of the Class to tokenize this resource's contents with * Name of the Class to tokenize this resource's contents with

View File

@@ -106,7 +106,7 @@ class Smarty_Template_Source
* *
* @var string * @var string
*/ */
public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler'; public $compiler_class = 'Smarty\Compiler\Template';
/** /**
* Name of the Class to tokenize this resource's contents with * Name of the Class to tokenize this resource's contents with

View File

@@ -16,7 +16,7 @@
* *
* @property Smarty_Template_Compiled $compiled * @property Smarty_Template_Compiled $compiled
* @property Smarty_Template_Cached $cached * @property Smarty_Template_Cached $cached
* @property Smarty_Internal_TemplateCompilerBase $compiler * @property \Smarty\Compiler\Template $compiler
* @property mixed|\Smarty_Template_Cached registered_plugins * @property mixed|\Smarty_Template_Cached registered_plugins
* *
* The following methods will be dynamically loaded by the extension handler when they are called. * The following methods will be dynamically loaded by the extension handler when they are called.
@@ -624,11 +624,11 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase
* @param string $content optional template content * @param string $content optional template content
* @param string $functions compiled template function and block code * @param string $functions compiled template function and block code
* @param bool $cache flag for cache file * @param bool $cache flag for cache file
* @param \Smarty_Internal_TemplateCompilerBase $compiler * @param \Smarty\Compiler\Template $compiler
* *
* @return string * @return string
*/ */
public function createCodeFrame($content = '', $functions = '', $cache = false, Smarty_Internal_TemplateCompilerBase $compiler = null) { public function createCodeFrame($content = '', $functions = '', $cache = false, \Smarty\Compiler\Template $compiler = null) {
return \Smarty\Template\CodeFrame::create($this, $content, $functions, $cache, $compiler); return \Smarty\Template\CodeFrame::create($this, $content, $functions, $cache, $compiler);
} }