forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.7 KiB
67 lines
1.7 KiB
<?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"); |
|
} |
|
} |
|
}
|
|
|