37 lines
967 B
PHP
37 lines
967 B
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Smarty method Register_Block
|
||
|
*
|
||
|
* Registers a PHP function as Smarty block function plugin
|
||
|
*
|
||
|
* @package Smarty
|
||
|
* @subpackage SmartyMethod
|
||
|
* @author Uwe Tews
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Register a PHP function as Smarty block function plugin
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Registers block function to be used in templates
|
||
|
*
|
||
|
* @param string $block_tag name of template block
|
||
|
* @param string $block_impl PHP function to register
|
||
|
* @param boolean $cacheable if true (default) this fuction is cachable
|
||
|
*/
|
||
|
function register_block($smarty, $block_tag, $block_impl, $cacheable = true, $cache_attr = array())
|
||
|
{
|
||
|
if (isset($smarty->registered_plugins[$block_tag])) {
|
||
|
throw new Exception("Plugin tag \"{$block_tag}\" already registered");
|
||
|
} elseif (!is_callable($block_impl)) {
|
||
|
throw new Exception("Plugin \"{$block_tag}\" not callable");
|
||
|
} else {
|
||
|
$smarty->registered_plugins[$block_tag] =
|
||
|
array('block', $block_impl, $cacheable, $cache_attr);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
?>
|