2015-08-17 21:52:32 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
2015-12-27 07:18:35 +01:00
|
|
|
* Smarty Method MustCompile
|
2015-08-17 21:52:32 +02:00
|
|
|
*
|
|
|
|
* 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) {
|
2016-09-11 04:35:52 +02:00
|
|
|
if ($_template->_isSubTpl()) {
|
2022-09-21 21:54:41 +02:00
|
|
|
$parent_resource = " in '{$_template->parent->template_resource}'";
|
2015-08-17 21:52:32 +02:00
|
|
|
} else {
|
|
|
|
$parent_resource = '';
|
|
|
|
}
|
|
|
|
throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}");
|
|
|
|
}
|
|
|
|
if ($_template->mustCompile === null) {
|
2015-08-23 01:46:30 +02:00
|
|
|
$_template->mustCompile = (!$_template->source->handler->uncompiled &&
|
2016-02-09 01:27:15 +01:00
|
|
|
($_template->smarty->force_compile || $_template->source->handler->recompiled ||
|
2017-11-06 01:02:56 +01:00
|
|
|
!$_template->compiled->exists || ($_template->compile_check &&
|
2016-02-09 01:27:15 +01:00
|
|
|
$_template->compiled->getTimeStamp() <
|
|
|
|
$_template->source->getTimeStamp())));
|
2015-08-17 21:52:32 +02:00
|
|
|
}
|
|
|
|
return $_template->mustCompile;
|
|
|
|
}
|
2018-06-12 09:58:15 +02:00
|
|
|
}
|