1 <?php
defined('IN_CMS') or die('No direct access allowed.');
5 private static $stack = array();
7 private static function parse($page) {
10 if(strpos($page, '.') !== false) {
11 list($page, $name) = explode('.', $page);
14 return array($page, $name);
17 public static function bind($page, $fn) {
18 list($page, $name) = static::parse($page);
20 if(!isset(static::$stack[$page])) {
21 static::$stack[$page] = array();
24 static::$stack[$page][$name] = $fn;
27 public static function call($name = '') {
28 $page = basename(Request
::uri());
34 if($func = isset(static::$stack[$page][$name]) ?
static::$stack[$page][$name] : false) {
35 return is_callable($func) ?
$func() : '';