/home/sharedstore/public_html/prestashop.sharedstore.ma/classes/Smarty
NameSizeModeActions
SmartyCustom.php114500644editdlrm
SmartyCustomTemplate.php20580644editdlrm
SmartyDev.php16290644editdlrm
SmartyDevTemplate.php20740644editdlrm
SmartyLazyRegister.php27480644editdlrm
SmartyResourceModule.php23010644editdlrm
SmartyResourceParent.php21930644editdlrm
TemplateFinder.php60160644editdlrm
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/classes/Smarty/SmartyLazyRegister.php (2748B)
* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ /** * Used to delay loading of external classes with smarty->register_plugin. */ class SmartyLazyRegister { protected $registry = []; protected static $instances = []; /** * Register a function or method to be dynamically called later. * * @param string|array $params function name or array(object name, method name) */ public function register($params) { if (is_array($params)) { $this->registry[$params[1]] = $params; } else { $this->registry[$params] = $params; } } public function isRegistered($params) { if (is_array($params)) { $params = $params[1]; } return isset($this->registry[$params]); } /** * Dynamically call static function or method. * * @param string $name function name * @param mixed $arguments function argument * * @return mixed function return */ public function __call($name, $arguments) { $item = $this->registry[$name]; // case 1: call to static method // case 2 : call to static function $args = []; foreach ($arguments as $a => $argument) { if ($a == 0) { $args[] = $arguments[0]; } else { $args[] = &$arguments[$a]; } } return call_user_func_array($item, $args); } public static function getInstance($smarty) { $hash = spl_object_hash($smarty); if (!isset(self::$instances[$hash])) { self::$instances[$hash] = new self(); } return self::$instances[$hash]; } }