51 lines
1.7 KiB
PHP
51 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Smarty Method MustCompile
|
|
*
|
|
* Smarty_Internal_Template::mustCompile() method
|
|
*
|
|
* @package Smarty
|
|
* @subpackage PluginsInternal
|
|
* @author Uwe Tews
|
|
*/
|
|
class Smarty_Internal_Method_MustCompile
|
|
{
|
|
/**
|
|
* Valid for template object
|
|
*
|
|
* @var int
|
|
*/
|
|
public $objMap = 2;
|
|
|
|
/**
|
|
* Returns if the current template must be compiled by the Smarty compiler
|
|
* It does compare the timestamps of template source and the compiled templates and checks the force compile
|
|
* configuration
|
|
*
|
|
* @param \Smarty_Internal_Template $_template
|
|
*
|
|
* @return bool
|
|
* @throws \SmartyException
|
|
*/
|
|
public function mustCompile(Smarty_Internal_Template $_template)
|
|
{
|
|
if (!$_template->source->exists) {
|
|
if ($_template->_isSubTpl()) {
|
|
$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}");
|
|
}
|
|
if ($_template->mustCompile === null) {
|
|
$_template->mustCompile = (!$_template->source->handler->uncompiled &&
|
|
($_template->smarty->force_compile || $_template->source->handler->recompiled ||
|
|
!$_template->compiled->exists || ($_template->compile_check &&
|
|
$_template->compiled->getTimeStamp() <
|
|
$_template->source->getTimeStamp())));
|
|
}
|
|
return $_template->mustCompile;
|
|
}
|
|
}
|