/**
 * 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;
    }
}
Beispiel #2
0
/**
 * 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;
    }
}