/** * Register a page handler for administrator; * @pages: * administrator, * administrator/dasbhoard, * administrator/component, * administrator/components, * administrator/com_installer, * administrator/theme_installer, * administrator/settings/<page>, * administrator/cache, * administrator/users, * administrator/edituser * * @return bool */ function ossn_administrator_pagehandler($pages) { $page = $pages[0]; if (empty($page)) { $page = 'dashboard'; } switch ($page) { case 'dashboard': $title = ossn_print('admin:dashboard'); $contents['contents'] = ossn_view('pages/administrator/contents/dashboard'); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'component': global $Ossn; if (isset($pages[1]) && in_array($pages[1], ossn_registered_com_panel())) { $com['com'] = OssnComponents::getCom($pages[1]); $com['settings'] = ossn_components()->getComSettings($pages[1]); $title = $com['com']->com_name; $contents['contents'] = ossn_view("components/{$pages[1]}/administrator/{$Ossn->com_panel[$pages[1]]}", $com); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); } break; case 'components': $title = 'Components'; $contents['contents'] = ossn_view("pages/administrator/contents/components"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'themes': $title = 'Themes'; $contents['contents'] = ossn_view("pages/administrator/contents/themes"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'com_installer': $title = 'Component Installer'; $contents['contents'] = ossn_view("pages/administrator/contents/com_installer"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'theme_installer': $title = 'Theme Installer'; $contents['contents'] = ossn_view("pages/administrator/contents/theme_installer"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'settings': global $Ossn; if (isset($pages[1]) && in_array($pages[1], ossn_registered_settings_pages())) { $title = ossn_print("{$pages[1]}:settings"); $contents['contents'] = ossn_view($Ossn->adminSettingsPage[$pages[1]]); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); } break; case 'cache': $title = 'Cache Settings'; $contents['contents'] = ossn_view("pages/administrator/contents/cache"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'adduser': $title = 'Add User'; $contents['contents'] = ossn_view("pages/administrator/contents/adduser"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'users': $title = 'Users List'; $contents['contents'] = ossn_view("pages/administrator/contents/users/list"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'edituser': if (isset($pages[1])) { $user['user'] = ossn_user_by_username($pages[1]); } $title = 'Edit User'; $contents['contents'] = ossn_view("pages/administrator/contents/user/edit", $user); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; default: echo 403; break; } }
/** * Register a page handler for administrator; * @pages: * administrator, * administrator/dasbhoard, * administrator/component, * administrator/components, * administrator/com_installer, * administrator/theme_installer, * administrator/settings/<page>, * administrator/cache, * administrator/users, * administrator/edituser * * @return boolean|null */ function ossn_administrator_pagehandler($pages) { $page = $pages[0]; if (empty($page)) { $page = 'dashboard'; } switch ($page) { case 'dashboard': $title = ossn_print('admin:dashboard'); $contents['contents'] = ossn_plugin_view('pages/administrator/contents/dashboard'); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'component': global $Ossn; if (isset($pages[1]) && in_array($pages[1], ossn_registered_com_panel())) { $com['com'] = OssnComponents::getCom($pages[1]); $com['settings'] = ossn_components()->getComSettings($pages[1]); $title = $com['com']->name; $contents['contents'] = ossn_plugin_view("settings/administrator/{$pages[1]}/{$Ossn->com_panel[$pages[1]]}", $com); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); } break; case 'components': $title = ossn_print('admin:components'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/components"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'themes': $title = ossn_print('admin:themes'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/themes"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'com_installer': $title = ossn_print('admin:com:installer'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/com_installer"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'theme_installer': $title = ossn_print('admin:theme:installer'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/theme_installer"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'settings': global $Ossn; if (isset($pages[1]) && in_array($pages[1], ossn_registered_settings_pages())) { $title = ossn_print("{$pages[1]}:settings"); //file should be in plugins/views/default/settings/<file> $arsalanshah $contents['contents'] = ossn_plugin_view($Ossn->adminSettingsPage[$pages[1]]); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); } break; case 'cache': $title = ossn_print('admin:cache:settings'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/cache"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'adduser': $title = ossn_print('admin:add:user'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/adduser"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'users': $title = ossn_print('admin:user:list'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/users/list"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'unvalidated_users': $title = ossn_print('admin:users:unvalidated'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/users/unvalidated"); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'edituser': if (isset($pages[1])) { $user['user'] = ossn_user_by_username($pages[1]); } $title = ossn_print('admin:edit:user'); $contents['contents'] = ossn_plugin_view("pages/administrator/contents/user/edit", $user); $contents['title'] = $title; $content = ossn_set_page_layout('administrator/administrator', $contents); echo ossn_view_page($title, $content, 'administrator'); break; case 'version': header('Content-Type: application/json'); $version = array('version' => ossn_check_update()); echo json_encode($version); break; default: ossn_error_page(); break; } }