<?php spl_autoload_register('autoload'); function autoload($className) { //one of the global classes? if (file_exists(ROOT . DS . 'inc'. DS. 'classes' . DS . $className . '.class.php')) require_once(ROOT . DS . 'inc'. DS. 'classes' . DS . $className . '.class.php'); else if (file_exists(ROOT . DS . 'pages' . DS . strtolower($className) . DS . 'controller.php')) require_once(ROOT . DS . 'pages' . DS . strtolower($className) . DS . 'controller.php'); } function includeManagement() { require_once(ROOT.DS.'inc'.DS.'helpers.php'); require_once(ROOT.DS.'inc'.DS.'config.inc.php'); //settings from config if(defined('DEV') && DEV===true) ini_set("display_errors", 1); else ini_set("display_errors", 0); if(file_exists(ROOT.DS.'inc'.DS.'vendor'.DS.'autoload.php')) require_once(ROOT.DS.'inc'.DS.'vendor'.DS.'autoload.php'); //DB if(defined('REDIS_SERVER') && REDIS_SERVER !='') $GLOBALS['redis'] = new Redis(); else $GLOBALS['redis'] = false; } function callHook($url) { $queryString = array(); if (!$url[0]) { $component = 'home'; $action = 'index'; } else { $urlArray = $url; $component = $urlArray[0]; array_shift($urlArray); $params = $urlArray; if (isset($urlArray[0])) { $action = $urlArray[0]; array_shift($urlArray); } else $action = 'index'; // Default Action $queryString = $urlArray; } if (!file_exists(ROOT . DS . 'pages' . DS . $component . DS . 'controller.php')) { $component = 'err'; $action = 'notfound'; $queryString = array($url); } $componentName = ucfirst($component); $dispatch = new $componentName($component, $action, false); if (!$dispatch->maySeeThisPage()) { $componentName = 'err'; $action = 'notallowed'; $dispatch = new $componentName('error', $action, true); } else $dispatch = new $componentName($component, $action, true, $queryString); if (method_exists($componentName, $action)) { $response = call_user_func_array(array($dispatch, $action), $queryString); } else if (method_exists($componentName, 'catchAll')) $response = call_user_func_array(array($dispatch, 'catchAll'), array($params)); if(is_string($response)) return $response; else return $dispatch->renderPagecontent(); }