mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-06 03:14:27 +02:00
- improvment better error message for undefined templates at {include}
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
- removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application
|
- removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application
|
||||||
- optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable
|
- optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable
|
||||||
- added compile_dir and cache_dir to list of muted directories
|
- added compile_dir and cache_dir to list of muted directories
|
||||||
|
- improvment better error message for undefined templates at {include}
|
||||||
|
|
||||||
23.09.2011
|
23.09.2011
|
||||||
- remove unused properties
|
- remove unused properties
|
||||||
|
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Smarty Internal Plugin Resource PHP
|
* Smarty Internal Plugin Resource PHP
|
||||||
*
|
*
|
||||||
* Implements the file system as resource for PHP templates
|
* Implements the file system as resource for PHP templates
|
||||||
*
|
*
|
||||||
* @package Smarty
|
* @package Smarty
|
||||||
* @subpackage TemplateResources
|
* @subpackage TemplateResources
|
||||||
* @author Uwe Tews
|
* @author Uwe Tews
|
||||||
* @author Rodney Rehm
|
* @author Rodney Rehm
|
||||||
*/
|
*/
|
||||||
class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
||||||
@@ -16,7 +16,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $short_open_tag;
|
protected $short_open_tag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new PHP Resource
|
* Create a new PHP Resource
|
||||||
*
|
*
|
||||||
@@ -24,8 +24,8 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->short_open_tag = ini_get( 'short_open_tag' );
|
$this->short_open_tag = ini_get( 'short_open_tag' );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* populate Source Object with meta data from Resource
|
* populate Source Object with meta data from Resource
|
||||||
*
|
*
|
||||||
@@ -41,7 +41,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
if (is_object($source->smarty->security_policy)) {
|
if (is_object($source->smarty->security_policy)) {
|
||||||
$source->smarty->security_policy->isTrustedResourceDir($source->filepath);
|
$source->smarty->security_policy->isTrustedResourceDir($source->filepath);
|
||||||
}
|
}
|
||||||
|
|
||||||
$source->uid = sha1($source->filepath);
|
$source->uid = sha1($source->filepath);
|
||||||
if ($source->smarty->compile_check) {
|
if ($source->smarty->compile_check) {
|
||||||
$source->timestamp = @filemtime($source->filepath);
|
$source->timestamp = @filemtime($source->filepath);
|
||||||
@@ -49,7 +49,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* populate Source Object with timestamp and exists from Resource
|
* populate Source Object with timestamp and exists from Resource
|
||||||
*
|
*
|
||||||
@@ -64,7 +64,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Load template's source from file into current template object
|
* Load template's source from file into current template object
|
||||||
*
|
*
|
||||||
* @param Smarty_Template_Source $source source object
|
* @param Smarty_Template_Source $source source object
|
||||||
* @return string template source
|
* @return string template source
|
||||||
* @throws SmartyException if source cannot be loaded
|
* @throws SmartyException if source cannot be loaded
|
||||||
@@ -75,7 +75,7 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
|
throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render and output the template (without using the compiler)
|
* Render and output the template (without using the compiler)
|
||||||
@@ -88,22 +88,27 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
|
|||||||
public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template)
|
public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template)
|
||||||
{
|
{
|
||||||
$_smarty_template = $_template;
|
$_smarty_template = $_template;
|
||||||
|
|
||||||
if (!$source->smarty->allow_php_templates) {
|
if (!$source->smarty->allow_php_templates) {
|
||||||
throw new SmartyException("PHP templates are disabled");
|
throw new SmartyException("PHP templates are disabled");
|
||||||
}
|
}
|
||||||
if (!$source->exists) {
|
if (!$source->exists) {
|
||||||
throw new SmartyException("Unable to load template \"{$source->type} : {$source->name}\"");
|
if ($_template->parent instanceof Smarty_Internal_Template) {
|
||||||
}
|
$parent_resource = " in '{$_template->parent->template_resource}'";
|
||||||
|
} else {
|
||||||
|
$parent_resource = '';
|
||||||
|
}
|
||||||
|
throw new SmartyException("Unable to load template {$source->type} '{$source->name}'{$parent_resource}");
|
||||||
|
}
|
||||||
|
|
||||||
// prepare variables
|
// prepare variables
|
||||||
extract($_template->getTemplateVars());
|
extract($_template->getTemplateVars());
|
||||||
|
|
||||||
// include PHP template with short open tags enabled
|
// include PHP template with short open tags enabled
|
||||||
ini_set( 'short_open_tag', '1' );
|
ini_set( 'short_open_tag', '1' );
|
||||||
include($source->filepath);
|
include($source->filepath);
|
||||||
ini_set( 'short_open_tag', $this->short_open_tag );
|
ini_set( 'short_open_tag', $this->short_open_tag );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
@@ -137,7 +137,12 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
|
|||||||
public function mustCompile()
|
public function mustCompile()
|
||||||
{
|
{
|
||||||
if (!$this->source->exists) {
|
if (!$this->source->exists) {
|
||||||
throw new SmartyException("Unable to load template {$this->source->type} '{$this->source->name}'");
|
if ($this->parent instanceof Smarty_Internal_Template) {
|
||||||
|
$parent_resource = " in '$this->parent->template_resource}'";
|
||||||
|
} else {
|
||||||
|
$parent_resource = '';
|
||||||
|
}
|
||||||
|
throw new SmartyException("Unable to load template {$this->source->type} '{$this->source->name}'{$parent_resource}");
|
||||||
}
|
}
|
||||||
if ($this->mustCompile === null) {
|
if ($this->mustCompile === null) {
|
||||||
$this->mustCompile = (!$this->source->uncompiled && ($this->smarty->force_compile || $this->source->recompiled || $this->compiled->timestamp === false ||
|
$this->mustCompile = (!$this->source->uncompiled && ($this->smarty->force_compile || $this->source->recompiled || $this->compiled->timestamp === false ||
|
||||||
|
@@ -116,7 +116,12 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
|
|||||||
}
|
}
|
||||||
// checks if template exists
|
// checks if template exists
|
||||||
if (!$_template->source->exists) {
|
if (!$_template->source->exists) {
|
||||||
throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'");
|
if ($_template->parent instanceof Smarty_Internal_Template) {
|
||||||
|
$parent_resource = " in '{$_template->parent->template_resource}'";
|
||||||
|
} else {
|
||||||
|
$parent_resource = '';
|
||||||
|
}
|
||||||
|
throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}");
|
||||||
}
|
}
|
||||||
// read from cache or render
|
// read from cache or render
|
||||||
if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || !$_template->cached->valid) {
|
if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || !$_template->cached->valid) {
|
||||||
|
Reference in New Issue
Block a user