
Comparing changes: https://github.com/smarty-php/smarty/compare/v4.3.1...v4.4.1 It is noticeable that Smarty 4.3.1 does not officially support PHP 8.3. Is only supported with 4.4.0. Remark: During tests with Smarty 4.5.1, it was noticed that the following warning occurs: Deprecated: Using the unregistered function "function_exists" in a template is deprecated and will be removed in a future version. Use Smarty::registerPlugin to explicitly register a custom modifier. As of Smarty 5.X.X, templates must be revised again. The Smarty release 5.0.2 is already officially available. However, integration into FlatPress is not entirely trivial.
68 lines
1.7 KiB
PHP
68 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Smarty Internal Undefined
|
|
*
|
|
* Class to handle undefined method calls or calls to obsolete runtime extensions
|
|
*
|
|
* @package Smarty
|
|
* @subpackage PluginsInternal
|
|
* @author Uwe Tews
|
|
*/
|
|
class Smarty_Internal_Undefined
|
|
{
|
|
/**
|
|
* Name of undefined extension class
|
|
*
|
|
* @var string|null
|
|
*/
|
|
public $class = null;
|
|
|
|
/**
|
|
* Smarty_Internal_Undefined constructor.
|
|
*
|
|
* @param null|string $class name of undefined extension class
|
|
*/
|
|
public function __construct($class = null)
|
|
{
|
|
$this->class = $class;
|
|
}
|
|
|
|
/**
|
|
* Wrapper for obsolete class Smarty_Internal_Runtime_ValidateCompiled
|
|
*
|
|
* @param \Smarty_Internal_Template $tpl
|
|
* @param array $properties special template properties
|
|
* @param bool $cache flag if called from cache file
|
|
*
|
|
* @return bool false
|
|
*/
|
|
public function decodeProperties(Smarty_Internal_Template $tpl, $properties, $cache = false)
|
|
{
|
|
if ($cache) {
|
|
$tpl->cached->valid = false;
|
|
} else {
|
|
$tpl->mustCompile = true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Call error handler for undefined method
|
|
*
|
|
* @param string $name unknown method-name
|
|
* @param array $args argument array
|
|
*
|
|
* @return mixed
|
|
* @throws SmartyException
|
|
*/
|
|
public function __call($name, $args)
|
|
{
|
|
if (isset($this->class)) {
|
|
throw new SmartyException("undefined extension class '{$this->class}'");
|
|
} else {
|
|
throw new SmartyException(get_class($args[ 0 ]) . "->{$name}() undefined method");
|
|
}
|
|
}
|
|
}
|