From f19255f6f31b7256afb247d26affd53ee1e3467f Mon Sep 17 00:00:00 2001 From: FFNMaster Date: Sat, 23 Jan 2016 14:09:23 +0100 Subject: [PATCH] Implemented some basics of the admin module. Development underway --- .gitignore | 5 +- Modules/admin/class.main.php | 96 +++++++ .../admin/classes/class.admin_exception.php | 41 +++ Modules/admin/classes/class.admin_router.php | 41 +++ .../admin/classes/class.advertise_fetcher.php | 97 +++++++ .../admin/classes/class.layout_manager.php | 110 ++++++++ Modules/admin/classes/class.page.php | 38 +++ Modules/admin/classes/class.page_data.php | 212 +++++++++++++++ .../admin/classes/class.page_interface.php | 0 Modules/admin/classes/class.page_list.php | 67 +++++ Modules/admin/classes/class.page_loader.php | 123 +++++++++ .../classes/class.page_router_interface.php | 37 +++ Modules/admin/classes/class.theme_manager.php | 54 ++++ Modules/admin/moduleInfo.php | 51 ++++ Modules/admin/themes/adminlte2.1/view.404.php | 18 ++ Modules/admin/themes/adminlte2.1/view.500.php | 18 ++ .../admin/themes/adminlte2.1/view.panel.php | 253 ++++++++++++++++++ .../admin/themes/adminlte2.1/view.sidebar.php | 13 + 18 files changed, 1273 insertions(+), 1 deletion(-) create mode 100644 Modules/admin/class.main.php create mode 100644 Modules/admin/classes/class.admin_exception.php create mode 100644 Modules/admin/classes/class.admin_router.php create mode 100644 Modules/admin/classes/class.advertise_fetcher.php create mode 100644 Modules/admin/classes/class.layout_manager.php create mode 100644 Modules/admin/classes/class.page.php create mode 100644 Modules/admin/classes/class.page_data.php create mode 100644 Modules/admin/classes/class.page_interface.php create mode 100644 Modules/admin/classes/class.page_list.php create mode 100644 Modules/admin/classes/class.page_loader.php create mode 100644 Modules/admin/classes/class.page_router_interface.php create mode 100644 Modules/admin/classes/class.theme_manager.php create mode 100644 Modules/admin/moduleInfo.php create mode 100644 Modules/admin/themes/adminlte2.1/view.404.php create mode 100644 Modules/admin/themes/adminlte2.1/view.500.php create mode 100644 Modules/admin/themes/adminlte2.1/view.panel.php create mode 100644 Modules/admin/themes/adminlte2.1/view.sidebar.php diff --git a/.gitignore b/.gitignore index a8bf102..3ee2e9c 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,7 @@ Core/Logs/Error.log # Build Files vendor/ -build/ \ No newline at end of file +build/ +Modules/admin/themes/adminlte2.1/plugins/ +Modules/admin/themes/adminlte2.1/dist/ +Modules/admin/themes/adminlte2.1/bootstrap/ diff --git a/Modules/admin/class.main.php b/Modules/admin/class.main.php new file mode 100644 index 0000000..fb7fad9 --- /dev/null +++ b/Modules/admin/class.main.php @@ -0,0 +1,96 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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 + * @package net.techfuze.fuzeworks.admin + * @author Abel Hoogeveen + * @copyright Copyright (c) 2013 - 2016, Techfuze. (http://techfuze.net) + */ +class Main { + use Module; + + /** + * Loads the module and registers the events + * + * @access public + */ + public function onLoad() { + require_once(self::getModulePath() . "/classes/class.layout_manager.php"); + require_once(self::getModulePath() . "/classes/class.admin_exception.php"); + require_once(self::getModulePath() . "/classes/class.theme_manager.php"); + require_once(self::getModulePath() . "/classes/class.advertise_fetcher.php"); + require_once(self::getModulePath() . "/classes/class.page_loader.php"); + require_once(self::getModulePath() . "/classes/class.page_data.php"); + require_once(self::getModulePath() . "/classes/class.page.php"); + require_once(self::getModulePath() . "/classes/class.page_list.php"); + require_once(self::getModulePath() . "/classes/class.page_router_interface.php"); + require_once(self::getModulePath() . "/classes/class.page_interface.php"); + require_once(self::getModulePath() . "/classes/class.admin_router.php"); + } + + /** + * Gets called when the path matches the regex of this module. + * @access public + * @param array Regex matches + * @return void + */ + 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(); + } + +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.admin_exception.php b/Modules/admin/classes/class.admin_exception.php new file mode 100644 index 0000000..778ad79 --- /dev/null +++ b/Modules/admin/classes/class.admin_exception.php @@ -0,0 +1,41 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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; + +/** + * Class Exception + * @package net.techfuze.fuzeworks.admin + * @author Abel Hoogeveen + * @copyright Copyright (c) 2013 - 2015, Techfuze. (http://techfuze.net) + */ +class AdminException extends \Exception{} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.admin_router.php b/Modules/admin/classes/class.admin_router.php new file mode 100644 index 0000000..df33c16 --- /dev/null +++ b/Modules/admin/classes/class.admin_router.php @@ -0,0 +1,41 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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; + +class AdminRouter implements PageRouterInterface { + + public function route($pagePath) { + //echo $pagePath; + } + +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.advertise_fetcher.php b/Modules/admin/classes/class.advertise_fetcher.php new file mode 100644 index 0000000..ff30a0a --- /dev/null +++ b/Modules/admin/classes/class.advertise_fetcher.php @@ -0,0 +1,97 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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\Logger; + +class AdvertiseFetcher { + + /** + * Create a pageList using the advertisements from the admin module + * @param array $advertisements The advertisement repository + * @throws AdminException On fatal and/or missing data + * @return PageList An object oriented page list with details + * @todo Implement Unit Test + */ + public static function getPageList($advertisements) { + // Prepare a pageList + Logger::newLevel('Generating PageList'); + $pageList = new PageList(); + + // First get the modules + foreach ($advertisements as $module => $data) { + // Apple regular data + $identifier = (isset($data['identifier']) ? $data['identifier'] : null); + $pages = (isset($data['pages']) ? $data['pages'] : null); + + // Check if everything is set, if not shout out in terror + if (is_null($identifier) || is_null($pages)) + throw new AdminException("Incomplete data for module '".$module."'", 1); + + // And then the pages + foreach ($pages as $pageData) { + // Create page variable and add module and identifier + $page = new PageData(); + $page->setModule($module); + $page->setIdentifier($identifier); + + // First the required data for every page + $page_path = (isset($pageData['page_path']) ? $pageData['page_path'] : null); + $name = (isset($pageData['name']) ? $pageData['name'] : null); + + // And throw errors if non-existent + if (is_null($page_path) || is_null($name)) + throw new AdminException("Incomplete data for module '".$module."'", 1); + + // And set those values + $page->setPagePath($page_path); + $page->setName($name); + $unique_identifier = $identifier . "/" . $page_path; + Logger::log("Adding page '".$name."' on '".$unique_identifier."'"); + + + + // And at last for the optional values + $page->setIcon( (isset($pageData['icon']) ? $pageData['icon'] : '') ); + $page->setPermissionGroups( (isset($pageData['permissionGroups']) ? $pageData['permissionGroups'] : array()) ); + $page->setPriority( (isset($pageData['priority']) ? $pageData['priority'] : 1) ); + + // And finally add the page + $pageList->addPage($page, $unique_identifier); + } + } + + // And finally return the pageList\ + Logger::stopLevel(); + return $pageList; + } +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.layout_manager.php b/Modules/admin/classes/class.layout_manager.php new file mode 100644 index 0000000..6d27097 --- /dev/null +++ b/Modules/admin/classes/class.layout_manager.php @@ -0,0 +1,110 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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\Layout; +use \FuzeWorks\Config; + +class LayoutManager { + + private static $pageList; + private static $matches; + + /** + * Load the panel of this admin interface + * @throws AdminException + * @return string HTML + */ + public static function loadPanel() { + // First check if the pageList is set and valid + if (is_null(self::$pageList)) + throw new AdminException("Can not load panel. PageList is not set", 1); + + // Load the theme + ThemeManager::loadTheme(); + + // Set the PageLoader variables + PageLoader::setPageList(self::$pageList); + + // Get the page we are trying to load + $pageHTML = PageLoader::getPage(self::$matches); + $activePage = PageLoader::getActivePage(); + + // And add the pageList + Layout::assign('pageList', self::$pageList); + Layout::assign('activePage', $activePage); + Layout::assign('pageHTML', $pageHTML); + + // And add more basic variables + foreach (self::getVariables() as $key => $value) { + Layout::assign($key, $value); + } + + // And load the file + return Layout::get('panel'); + } + + public static function loadPanelAPI() { + + } + + public static function loadLogin() { + + } + + public static function loadLoginAPI() { + + } + + /** + * Set the pageList + * @param PageList $pageList PageList + */ + public static function setPageList($pageList) { + self::$pageList = $pageList; + } + + public static function setMatches($matches) { + self::$matches = $matches; + } + + /** + * Get all the basic variables required for every template + * @return array with settings + */ + private static function getVariables() { + $vars = array(); + $vars['adminURL'] = Config::get('main')->SITE_URL . "admin/"; + return $vars; + } + +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.page.php b/Modules/admin/classes/class.page.php new file mode 100644 index 0000000..0636ca1 --- /dev/null +++ b/Modules/admin/classes/class.page.php @@ -0,0 +1,38 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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; + +class Page { + public $pagePath; + public $data = array(); +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.page_data.php b/Modules/admin/classes/class.page_data.php new file mode 100644 index 0000000..31ab932 --- /dev/null +++ b/Modules/admin/classes/class.page_data.php @@ -0,0 +1,212 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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; + +class PageData { + + public $module; + public $identifier; + public $page_path; + public $icon; + public $permissionGroups = array(); + public $name; + public $priority; + + /** + * Gets the value of module. + * + * @return mixed + */ + public function getModule() + { + return $this->module; + } + + /** + * Sets the value of module. + * + * @param mixed $module the module + * + * @return self + */ + public function setModule($module) + { + $this->module = $module; + + return $this; + } + + /** + * Gets the value of identifier. + * + * @return mixed + */ + public function getIdentifier() + { + return $this->identifier; + } + + /** + * Sets the value of identifier. + * + * @param mixed $identifier the identifier + * + * @return self + */ + public function setIdentifier($identifier) + { + $this->identifier = $identifier; + + return $this; + } + + /** + * Gets the value of page_path. + * + * @return mixed + */ + public function getPagePath() + { + return $this->page_path; + } + + /** + * Sets the value of page_path. + * + * @param mixed $page_path the page path + * + * @return self + */ + public function setPagePath($page_path) + { + $this->page_path = $page_path; + + return $this; + } + + /** + * Gets the value of icon. + * + * @return mixed + */ + public function getIcon() + { + return $this->icon; + } + + /** + * Sets the value of icon. + * + * @param mixed $icon the icon + * + * @return self + */ + public function setIcon($icon) + { + $this->icon = $icon; + + return $this; + } + + /** + * Gets the value of permissionGroups. + * + * @return mixed + */ + public function getPermissionGroups() + { + return $this->permissionGroups; + } + + /** + * Sets the value of permissionGroups. + * + * @param mixed $permissionGroups the permission groups + * + * @return self + */ + public function setPermissionGroups($permissionGroups) + { + $this->permissionGroups = $permissionGroups; + + return $this; + } + + /** + * Gets the value of name. + * + * @return mixed + */ + public function getName() + { + return $this->name; + } + + /** + * Sets the value of name. + * + * @param mixed $name the name + * + * @return self + */ + public function setName($name) + { + $this->name = $name; + + return $this; + } + + /** + * Gets the value of priority. + * + * @return mixed + */ + public function getPriority() + { + return $this->priority; + } + + /** + * Sets the value of priority. + * + * @param mixed $priority the priority + * + * @return self + */ + public function setPriority($priority) + { + $this->priority = $priority; + + return $this; + } +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.page_interface.php b/Modules/admin/classes/class.page_interface.php new file mode 100644 index 0000000..e69de29 diff --git a/Modules/admin/classes/class.page_list.php b/Modules/admin/classes/class.page_list.php new file mode 100644 index 0000000..eaf995f --- /dev/null +++ b/Modules/admin/classes/class.page_list.php @@ -0,0 +1,67 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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; + +class PageList { + + public $pages = array(); + + /** + * Gets the value of pages. + * + * @return mixed + */ + public function getPages() + { + return $this->pages; + } + + /** + * Retrieve a page + * @param string $unique_identifier Unique name for the page + * @return PageData PageData Object + */ + public function getPage($unique_identifier) { + return $this->pages[$unique_identifier]; + } + + /** + * Add a page to the array + * @param PageData $page PageData Object + * + * @return void + */ + public function addPage($page, $unique_identifier) { + $this->pages[$unique_identifier] = $page; + } +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.page_loader.php b/Modules/admin/classes/class.page_loader.php new file mode 100644 index 0000000..25fafea --- /dev/null +++ b/Modules/admin/classes/class.page_loader.php @@ -0,0 +1,123 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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\Logger; +use \FuzeWorks\Layout; +use \FuzeWorks\Modules; + +class PageLoader { + + private static $pageList; + private static $activePage; + + /** + * Set the pageList + * @param PageList $pageList PageList + */ + public static function setPageList($pageList) { + self::$pageList = $pageList; + } + + public static function getPage($matches) { + // First check if any data is given at all + Logger::newLevel("Retrieving page from module"); + if (!isset($matches['identifier']) && !isset($matches['page'])) { + // If nothing is provided, load the dashboard + Logger::log("No input retrieved. Loading dashboard"); + $html = self::dashboard(); + } elseif (!isset($matches['identifier']) || !isset($matches['page'])) { + // If incomplete data is provided, load a 404 + Logger::log("Invalid input retrieved. Loading 404 not found page"); + return self::error404(); + } + + // If enough data is provided, try and load a page + Logger::log("Input received. Attempting to find page"); + $unique_identifier = $matches['identifier'] . '/' . $matches['page']; + if (isset(self::$pageList->pages[$unique_identifier])) { + // Page found, start loading process + $page = self::$pageList->getPage($unique_identifier); + + // Load the designated module + $module = Modules::get($page->getModule()); + + // Check if it implements the PageRouterInterface + if (method_exists($module, 'getAdminRouter')) { + $router = $module->getAdminRouter(); + + // Then check if the router is valid, if not, return 500 + if (!$router instanceof PageRouterInterface) { + Logger::logError("Could not load '".$unique_identifier."' on module '".$page->getModule()."'. ".get_class($router)." does not implement \Module\Admin\PageRouterInterface"); + return self::error500(); + } + + // Route the request into the module + Logger::log("Input valid and module loaded. Attempting to route request"); + $htmlPage = new Page(); + $router->route($matches['page']); + + Logger::stopLevel(); + return ''; + } else { + // Error, router does not exist + Logger::logError("Could not load '".$unique_identifier."' on module '".$page->getModule()."'. ".get_class($module)." does not implement method getAdminRouter()"); + Logger::stopLevel(); + return self::error500(); + } + } + + Logger::log("Matching page was not found. Loading 404 not found page"); + Logger::stopLevel(); + return self::error404(); + + + } + + public static function getActivePage() { + return 'fuzeadmin/testPage'; + } + + public static function dashboard() { + + } + + public static function error404() { + Logger::http_error(404, false); + return Layout::get('404'); + } + + public static function error500() { + Logger::http_error(500, false); + return Layout::get('500'); + } +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.page_router_interface.php b/Modules/admin/classes/class.page_router_interface.php new file mode 100644 index 0000000..79cc7d8 --- /dev/null +++ b/Modules/admin/classes/class.page_router_interface.php @@ -0,0 +1,37 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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; + +interface PageRouterInterface { + +} + +?> \ No newline at end of file diff --git a/Modules/admin/classes/class.theme_manager.php b/Modules/admin/classes/class.theme_manager.php new file mode 100644 index 0000000..659932a --- /dev/null +++ b/Modules/admin/classes/class.theme_manager.php @@ -0,0 +1,54 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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\Layout; +use \FuzeWorks\Logger; + +class ThemeManager { + + private static $themeDir = 'views/adminlte2.1/'; + + public static function loadTheme($theme = null) { + self::$themeDir = Main::getModulePath() . 'themes/adminlte2.1/'; + Layout::setDirectory(self::$themeDir); + } + + public static function getDirectory() { + // First check if the theme is actually loaded + if (empty(self::$themeDir)) + throw new AdminException("Could not load panel. Theme not loaded", 1); + // And then return the theme Directory + return self::$themeDir; + } + +} + +?> \ No newline at end of file diff --git a/Modules/admin/moduleInfo.php b/Modules/admin/moduleInfo.php new file mode 100644 index 0000000..2ebe8f8 --- /dev/null +++ b/Modules/admin/moduleInfo.php @@ -0,0 +1,51 @@ +. + * + * @author TechFuze + * @copyright Copyright (c) 2013 - 2015, 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 + */ + +return array( + + 'module_class' => 'Module\Admin\Main', + 'module_file' => 'class.main.php', + 'module_name' => 'Admin', + 'abstract' => false, + 'aliases' => array(), + 'dependencies' => array(), + 'events' => array(), + 'routes' => array('/^admin(|\/(?P.*?)(|\/(?.*?)(|\/(?P.*?))))$/'), + 'advertise' => array('admin' => array( 'identifier' => 'fuzeadmin', 'pages' => array( array( 'name' => 'TEST', 'page_path' => 'testPage', 'icon' => 'fa-plane')) )), + 'listenFor' => array('admin'), + 'name' => 'FuzeWorks Admin Panel', + 'description' => 'Control Panel for FuzeWorks Modules and FrameWork', + 'author' => 'core', + 'version' => '1.0.0', + 'website' => 'http://fuzeworks.techfuze.net/', + 'date_created' => '13-01-2016', + 'date_updated' => '17-01-2016', + 'enabled' => true +); diff --git a/Modules/admin/themes/adminlte2.1/view.404.php b/Modules/admin/themes/adminlte2.1/view.404.php new file mode 100644 index 0000000..ba0bf02 --- /dev/null +++ b/Modules/admin/themes/adminlte2.1/view.404.php @@ -0,0 +1,18 @@ +
+

404

+
+

Oops! Page not found.

+

+ We could not find the page you were looking for. + Meanwhile, you may return to dashboard or try using the search form. +

+
+
+ +
+ +
+
+
+
+
\ No newline at end of file diff --git a/Modules/admin/themes/adminlte2.1/view.500.php b/Modules/admin/themes/adminlte2.1/view.500.php new file mode 100644 index 0000000..d72f32a --- /dev/null +++ b/Modules/admin/themes/adminlte2.1/view.500.php @@ -0,0 +1,18 @@ +
+

500

+
+

Oops! Something went wrong.

+

+ We will work on fixing that right away. + Meanwhile, you may return to dashboard or try using the search form. +

+
+
+ +
+ +
+
+
+
+
\ No newline at end of file diff --git a/Modules/admin/themes/adminlte2.1/view.panel.php b/Modules/admin/themes/adminlte2.1/view.panel.php new file mode 100644 index 0000000..7190728 --- /dev/null +++ b/Modules/admin/themes/adminlte2.1/view.panel.php @@ -0,0 +1,253 @@ + + + + + + FuzeDev | @todo: Implement + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + +
+ + + + +
+ +
+

+ Page Header + Optional description +

+ +
+ + +
+ + + +
+
+ + +
+ + + + Copyright © 2016 FuzeDev. All rights reserved. +
+ + + + +
+
+ + + + + + + + + + + + + + + + diff --git a/Modules/admin/themes/adminlte2.1/view.sidebar.php b/Modules/admin/themes/adminlte2.1/view.sidebar.php new file mode 100644 index 0000000..6faeb13 --- /dev/null +++ b/Modules/admin/themes/adminlte2.1/view.sidebar.php @@ -0,0 +1,13 @@ +getPages() as $page) { + echo("
  • getIdentifier()."/".$page->getPagePath()."'> + getIcon())."'> ".$page->getName()."
  • "); + } + + +?> \ No newline at end of file