mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 10:24:26 +02:00
- bugfix {extends} with relative file path did not work https://github.com/smarty-php/smarty/issues/154
https://github.com/smarty-php/smarty/issues/158
This commit is contained in:
@@ -4,7 +4,9 @@
|
||||
- bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
|
||||
update of yesterdays fix
|
||||
- bugfix string resource could inject code at {block} or inline subtemplates through PHP comments https://github.com/smarty-php/smarty/issues/157
|
||||
- bugfix output filters did not observe nocache code flag https://github.com/smarty-php/smarty/issues/160
|
||||
- bugfix output filters did not observe nocache code flhttps://github.com/smarty-php/smarty/issues/154g https://github.com/smarty-php/smarty/issues/160
|
||||
- bugfix {extends} with relative file path did not work https://github.com/smarty-php/smarty/issues/154
|
||||
https://github.com/smarty-php/smarty/issues/158
|
||||
|
||||
26.01.2016
|
||||
- improvement observe Smarty::$_CHARSET in debugging console https://github.com/smarty-php/smarty/issues/169
|
||||
|
@@ -121,7 +121,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
/**
|
||||
* smarty version
|
||||
*/
|
||||
const SMARTY_VERSION = '3.1.30-dev/23';
|
||||
const SMARTY_VERSION = '3.1.30-dev/24';
|
||||
|
||||
/**
|
||||
* define variable scopes
|
||||
|
@@ -200,6 +200,7 @@ class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_Compile_Shared_
|
||||
if ($compiler->template->compiled->has_nocache_code) {
|
||||
$output .= "\$_smarty_tpl->cached->hashes['{$compiler->template->compiled->nocache_hash}'] = true;\n";
|
||||
}
|
||||
$output .= "\$_smarty_tpl->ext->_inheritance->blockNesting++;\n";
|
||||
if (isset($_assign)) {
|
||||
$output .= "ob_start();\n";
|
||||
}
|
||||
@@ -213,6 +214,7 @@ class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_Compile_Shared_
|
||||
$output .= "\$_smarty_tpl->tpl_vars[{$_assign}] = new Smarty_Variable(ob_get_clean());\n";
|
||||
}
|
||||
//$output .= "/*%%SmartyNocache:{$compiler->template->compiled->nocache_hash}%%*/\n";
|
||||
$output .= "\$_smarty_tpl->ext->_inheritance->blockNesting--;\n";
|
||||
$output .= "}\n";
|
||||
$output .= "}\n";
|
||||
$output .= "/* {/block '{$_name}'} */\n\n";
|
||||
|
@@ -43,7 +43,12 @@ class Smarty_Internal_Resource_File extends Smarty_Resource
|
||||
) {
|
||||
throw new SmartyException("Template '{$file}' cannot be relative to template of resource type '{$_template->parent->source->type}'");
|
||||
}
|
||||
$path = dirname($_template->parent->source->filepath) . DS . $file;
|
||||
// if we are inside an {block} tag the path must be relative to current template
|
||||
if (isset($_template->ext->_inheritance) && $_template->ext->_inheritance->blockNesting && $_template->parent->parent->_objType == 2) {
|
||||
$path = dirname($_template->parent->parent->source->filepath) . DS . $file;
|
||||
} else {
|
||||
$path = dirname($_template->parent->source->filepath) . DS . $file;
|
||||
}
|
||||
// normalize path
|
||||
$path = $source->smarty->_realpath($path);
|
||||
// files relative to a template only get one shot
|
||||
|
@@ -44,6 +44,13 @@ class Smarty_Internal_Runtime_Inheritance
|
||||
*/
|
||||
public $tplIndex = - 1;
|
||||
|
||||
/**
|
||||
* current block nesting level
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public $blockNesting = 0;
|
||||
|
||||
/**
|
||||
* Array of source template names
|
||||
* - key template index
|
||||
|
Reference in New Issue
Block a user