. * * @author TechFuze * @copyright Copyright (c) 2013 - 2016, Techfuze. (http://techfuze.net) * @copyright Copyright (c) 1996 - 2015, Free Software Foundation, Inc. (http://www.fsf.org/) * @license http://opensource.org/licenses/GPL-3.0 GPLv3 License * * @link http://fuzeworks.techfuze.net * @since Version 0.0.1 * * @version Version 0.0.1 */ namespace Module\Admin; use FuzeWorks\Module; /** * Admin Module. * * Admin panel module controller * * @author Abel Hoogeveen * @copyright Copyright (c) 2013 - 2016, Techfuze. (http://techfuze.net) */ class Main { use Module; /** * Loads the module and registers the events. */ public function onLoad() { include_once self::getModulePath().'/classes/class.layout_manager.php'; include_once self::getModulePath().'/classes/class.admin_exception.php'; include_once self::getModulePath().'/classes/class.theme_manager.php'; include_once self::getModulePath().'/classes/class.advertise_fetcher.php'; include_once self::getModulePath().'/classes/class.page_loader.php'; include_once self::getModulePath().'/classes/class.page_data.php'; include_once self::getModulePath().'/classes/class.page.php'; include_once self::getModulePath().'/classes/class.page_list.php'; include_once self::getModulePath().'/classes/class.page_router_interface.php'; include_once self::getModulePath().'/classes/class.page_interface.php'; include_once self::getModulePath().'/classes/class.admin_router.php'; } /** * Gets called when the path matches the regex of this module. * * @param array Regex matches */ public function route($matches = array()) { // First create a pageList based on the advertisements $advertisements = self::getAdvertisements('admin'); if (!is_array($advertisements)) { throw new AdminException('Could not load advertised modules. Malformed object retrieved', 1); } $pageList = AdvertiseFetcher::getPageList($advertisements); // After that, load the authenticator and check if user is logged in // @TODO IMPLEMENT // After that, load the theme that is set LayoutManager::setPageList($pageList); LayoutManager::setMatches($matches); $html = LayoutManager::loadPanel(); // And print it echo $html; } public function getAdminRouter() { return new AdminRouter(); } }