From 7085a0c2f7104a56a7e946c43ba0b5736be5f4e7 Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 27 Dec 2016 14:47:01 +0100 Subject: * smarty bundled --- .../smarty_internal_method_registerobject.php | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 lib/smarty3/sysplugins/smarty_internal_method_registerobject.php (limited to 'lib/smarty3/sysplugins/smarty_internal_method_registerobject.php') diff --git a/lib/smarty3/sysplugins/smarty_internal_method_registerobject.php b/lib/smarty3/sysplugins/smarty_internal_method_registerobject.php new file mode 100644 index 0000000..dcebd92 --- /dev/null +++ b/lib/smarty3/sysplugins/smarty_internal_method_registerobject.php @@ -0,0 +1,72 @@ +smarty) ? $obj->smarty : $obj; + // 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; + } +} \ No newline at end of file -- cgit v1.2.3