From ab5d8d4e07bb3c8230d0285ef8902ef1979fce51 Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 18 Oct 2018 02:39:34 +0200 Subject: Updating Smarty --- .../smarty_internal_method_registerobject.php | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 lib/smarty/sysplugins/smarty_internal_method_registerobject.php (limited to 'lib/smarty/sysplugins/smarty_internal_method_registerobject.php') diff --git a/lib/smarty/sysplugins/smarty_internal_method_registerobject.php b/lib/smarty/sysplugins/smarty_internal_method_registerobject.php new file mode 100644 index 0000000..4646e4f --- /dev/null +++ b/lib/smarty/sysplugins/smarty_internal_method_registerobject.php @@ -0,0 +1,84 @@ +_getSmartyObj(); + // test if allowed methods callable + if (!empty($allowed_methods_properties)) { + foreach ((array)$allowed_methods_properties as $method) { + if (!is_callable(array($object, $method)) && !property_exists($object, $method)) { + throw new SmartyException("Undefined method or property '$method' in registered object"); + } + } + } + // test if block methods callable + if (!empty($block_methods)) { + foreach ((array)$block_methods as $method) { + if (!is_callable(array($object, $method))) { + throw new SmartyException("Undefined method '$method' in registered object"); + } + } + } + // register the object + $smarty->registered_objects[ $object_name ] = + array($object, (array)$allowed_methods_properties, (boolean)$format, (array)$block_methods); + return $obj; + } +} -- cgit v1.2.3