4 * Smarty Internal Undefined
6 * Class to handle undefined method calls or calls to obsolete runtime extensions
9 * @subpackage PluginsInternal
12 class Smarty_Internal_Undefined
16 * Name of undefined extension class
23 * Smarty_Internal_Undefined constructor.
25 * @param null|string $class name of undefined extension class
27 public function __construct($class = null)
29 $this->class = $class;
33 * Wrapper for obsolete class Smarty_Internal_Runtime_ValidateCompiled
35 * @param \Smarty_Internal_Template $tpl
36 * @param array $properties special template properties
37 * @param bool $cache flag if called from cache file
41 public function decodeProperties(Smarty_Internal_Template $tpl, $properties, $cache = false)
44 $tpl->cached->valid = false;
46 $tpl->mustCompile = true;
52 * Call error handler for undefined method
54 * @param string $name unknown method-name
55 * @param array $args argument array
58 * @throws SmartyException
60 public function __call($name, $args)
62 if (isset($this->class)) {
63 throw new SmartyException("undefined extension class '{$this->class}'");
65 throw new SmartyException(get_class($args[ 0 ]) . "->{$name}() undefined method");