aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php')
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php29
1 files changed, 18 insertions, 11 deletions
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php
index 83cb80500..37bf8dd3f 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_extends.php
@@ -64,18 +64,18 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_Compile_Shared_Inh
// add code to initialize inheritance
$this->registerInit($compiler, true);
$file = trim($_attr[ 'file' ], '\'"');
- if (strlen($file) > 8 && substr($file, 0, 8) == 'extends:') {
+ if (strlen($file) > 8 && substr($file, 0, 8) === 'extends:') {
// generate code for each template
$files = array_reverse(explode('|', substr($file, 8)));
$i = 0;
foreach ($files as $file) {
- if ($file[ 0 ] == '"') {
+ if ($file[ 0 ] === '"') {
$file = trim($file, '".');
} else {
$file = "'{$file}'";
}
$i ++;
- if ($i == count($files) && isset($_attr[ 'extends_resource' ])) {
+ if ($i === count($files) && isset($_attr[ 'extends_resource' ])) {
$this->compileEndChild($compiler);
}
$this->compileInclude($compiler, $file);
@@ -95,21 +95,24 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_Compile_Shared_Inh
*
* @param \Smarty_Internal_TemplateCompilerBase $compiler
* @param null|string $template optional inheritance parent template
+ *
+ * @throws \SmartyCompilerException
+ * @throws \SmartyException
*/
private function compileEndChild(Smarty_Internal_TemplateCompilerBase $compiler, $template = null)
{
$inlineUids = '';
if (isset($template) && $compiler->smarty->merge_compiled_includes) {
$code = $compiler->compileTag('include', array($template, array('scope' => 'parent')));
- if (preg_match("/([,][\s]*['][a-z0-9]+['][,][\s]*[']content.*['])[)]/", $code, $match)) {
+ if (preg_match('/([,][\s]*[\'][a-z0-9]+[\'][,][\s]*[\']content.*[\'])[)]/', $code, $match)) {
$inlineUids = $match[ 1 ];
}
}
$compiler->parser->template_postfix[] = new Smarty_Internal_ParseTree_Tag($compiler->parser,
- "<?php \$_smarty_tpl->inheritance->endChild(\$_smarty_tpl" .
+ '<?php $_smarty_tpl->inheritance->endChild($_smarty_tpl' .
(isset($template) ?
- ', ' . $template . $inlineUids :
- '') . ");\n?>\n");
+ ", {$template}{$inlineUids}" :
+ '') . ");\n?>");
}
/**
@@ -117,6 +120,9 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_Compile_Shared_Inh
*
* @param \Smarty_Internal_TemplateCompilerBase $compiler
* @param string $template subtemplate name
+ *
+ * @throws \SmartyCompilerException
+ * @throws \SmartyException
*/
private function compileInclude(Smarty_Internal_TemplateCompilerBase $compiler, $template)
{
@@ -129,16 +135,17 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_Compile_Shared_Inh
/**
* Create source code for {extends} from source components array
*
- * @param []\Smarty_Internal_Template_Source $components
+ * @param \Smarty_Internal_Template $template
*
* @return string
*/
- public static function extendsSourceArrayCode($components)
+ public static function extendsSourceArrayCode(Smarty_Internal_Template $template)
{
$resources = array();
- foreach ($components as $source) {
+ foreach ($template->source->components as $source) {
$resources[] = $source->resource;
}
- return '{extends file=\'extends:' . join('|', $resources) . '\' extends_resource=true}';
+ return $template->smarty->left_delimiter . 'extends file=\'extends:' . join('|', $resources) .
+ '\' extends_resource=true' . $template->smarty->right_delimiter;
}
}