Example #1
0
    function main($module_id, $mode)
    {
        global $db, $user, $auth, $template, $cache, $request;
        global $config, $SID, $phpbb_root_path, $phpbb_admin_path, $phpEx, $k_config, $table_prefix, $cache;
        include_once $phpbb_root_path . 'ext/phpbbireland/portal/config/constants.' . $phpEx;
        if (!function_exists('obtain_k_config')) {
            include $phpbb_root_path . 'ext/phpbbireland/portal/includes/functions.' . $phpEx;
            $k_config = obtain_k_config();
        }
        $img_path = $phpbb_root_path . 'ext/phpbbireland/portal/images/block_images/block/';
        $img_path_acp = $phpbb_root_path . 'ext/phpbbireland/portal/adm/images/';
        $portal_js = $phpbb_root_path . 'ext/phpbbireland/portal/js/portal.js';
        $user->add_lang_ext('phpbbireland/portal', 'k_pages');
        $this->tpl_name = 'acp_pages';
        $this->page_title = $user->lang['ACP_PAGES'];
        add_form_key('pages');
        if (!class_exists('sgp_functions_admin')) {
            require $phpbb_root_path . 'ext/phpbbireland/portal/includes/sgp_functions_admin.' . $phpEx;
            $sgp_functions_admin = new sgp_functions_admin();
        }
        $mode = $request->variable('mode', '');
        $page_id = $request->variable('page_id', 0);
        $action = $request->variable('config', '');
        $tag_id = $request->variable('tag_id', '');
        $current_pages = array();
        $submit = false;
        if ($request->is_set_post('submit')) {
            if (!check_form_key('pages')) {
                $submit = false;
                $mode = '';
                trigger_error('FORM_INVALID');
            }
            $submit = true;
        }
        if ($tag_id != '') {
            $mode = 'add';
        }
        switch ($action) {
            case 'config':
                $template->assign_var('MESSAGE', $user->lang['SWITCHING']);
                meta_refresh(1, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=k_vars&mode=config&switch=k_pages"));
                break;
            default:
                break;
        }
        if ($submit && !check_form_key('pages')) {
            $submit = false;
            $mode = '';
            trigger_error($user->lang['FORM_INVALID'] . basename(dirname(__FILE__)) . '/' . basename(__FILE__) . $user->lang['LINE'] . __LINE__);
        }
        if ($submit) {
            $mod_pages = $request->variable('k_mod_folders', '');
            // trap trailing commas in mod pages //
            if ($mod_pages && $mod_pages[strlen($mod_pages) - 1] == ',') {
                trigger_error($user->lang['TRAILING_COMMA'] . adm_back_link(append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage")), E_USER_WARNING);
            }
            //  We check to see  the mod folder exists, if not return... //
            $mod_pages = str_replace(' ', '', $mod_pages);
            // has mod folder been updated/modified //
            if (strcmp($mod_pages, $k_config['k_mod_folders'] != 0)) {
                $mods_folder_array = explode(',', $mod_pages);
                foreach ($mods_folder_array as $folder) {
                    $folder = trim($folder);
                    if (!file_exists($phpbb_root_path . $folder)) {
                        $submit = false;
                        $mod_pages = '';
                        trigger_error($user->lang['NO_MOD_FOLDER'] . $folder . adm_back_link(append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage")), E_USER_WARNING);
                    }
                }
                $template->assign_vars(array('MESSAGE' => $user->lang['FOLDER_ADDED']));
            }
            $sgp_functions_admin->sgp_acp_set_config('k_mod_folders', $mod_pages);
        }
        $template->assign_vars(array('U_BACK' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"), 'U_ADD' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=add"), 'U_MANAGE' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"), 'S_OPT' => 'S_MANAGE', 'S_PAGE' => isset($k_config['k_landing_page']) ? $k_config['k_landing_page'] : 'portal', 'IMG_PATH_ACP' => $img_path_acp));
        switch ($mode) {
            case 'delete':
                $page_name = get_page_filename($page_id);
                if (confirm_box(true)) {
                    $sql = 'DELETE FROM ' . K_PAGES_TABLE . '
						WHERE page_id = ' . (int) $page_id;
                    if (!($result = $db->sql_query($sql))) {
                        trigger_error($user->lang['ERROR_PORTAL_PAGES'] . basename(dirname(__FILE__)) . '/' . basename(__FILE__) . $user->lang['LINE'] . __LINE__);
                    }
                    $cache->destroy('sql', K_PAGES_TABLE);
                    $template->assign_vars(array('S_OPTION' => 'processing', 'MESSAGE' => $user->lang['REMOVING_PAGES'] . $page_name));
                    meta_refresh(1, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"));
                    break;
                } else {
                    confirm_box(false, sprintf("%s (%s)", $user->lang['DELETE_FROM_LIST'], $page_name), build_hidden_fields(array('id' => $page_id, 'mode' => $mode, 'action' => 'delete')));
                }
                $template->assign_var('MESSAGE', $user->lang['ACTION_CANCELLED']);
                meta_refresh(1, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"));
                break;
            case 'add':
                if ($submit) {
                    // drop extension
                    $tag_id = str_replace('.php', '', $tag_id);
                    // skip the spacer //
                    if ($tag_id == '..') {
                        $template->assign_vars(array('S_OPTION' => 'processing', 'MESSAGE' => sprintf($user->lang['ERROR_PAGE'], $tag_id)));
                        meta_refresh(2, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"));
                        return;
                    }
                    if (in_array($tag_id, $current_pages)) {
                        break;
                    }
                    $sql_array = array('page_name' => $tag_id);
                    $db->sql_query('INSERT INTO ' . K_PAGES_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_array));
                    meta_refresh(1, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"));
                    $template->assign_vars(array('S_OPTION' => 'processing', 'MESSAGE' => $user->lang['ADDING_PAGES']));
                    $cache->destroy('sql', K_PAGES_TABLE);
                    break;
                }
                break;
            case 'land':
                $page_name = get_page_filename($page_id);
                $sgp_functions_admin->sgp_acp_set_config('k_landing_page', $page_name, 1);
                $template->assign_vars(array('S_OPTION' => 'processing', 'MESSAGE' => $user->lang['LANDING_PAGE_SET'] . ': ' . $page_name));
                $cache->destroy('k_config');
                $cache->destroy('sql', K_VARS_TABLE);
                meta_refresh(1, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&mode=manage"));
                break;
            case 'config':
                break;
            case 'manage':
                get_all_available_files();
                get_pages_data();
                break;
            case 'default':
                break;
        }
        $template->assign_var('U_ACTION', $this->u_action);
    }
Example #2
0
    function main($module_id, $mode)
    {
        global $db, $user, $auth, $template, $cache, $request;
        global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx, $k_config, $table_prefix, $phpEx, $sgp_functions_admin;
        include_once $phpbb_root_path . 'ext/phpbbireland/portal/config/constants.' . $phpEx;
        include_once $phpbb_root_path . 'ext/phpbbireland/portal/helpers/tables.' . $phpEx;
        if (!class_exists($sgp_functions_admin)) {
            include_once $phpbb_root_path . 'ext/phpbbireland/portal/includes/sgp_functions_admin.' . $phpEx;
        }
        $sgp_functions_admin = new sgp_functions_admin();
        $user->add_lang_ext('phpbbireland/portal', 'k_variables');
        $this->tpl_name = 'acp_vars';
        $this->page_title = $user->lang['ACP_VARS_TITLE'];
        add_form_key('blocks_vars');
        if ($request->is_set_post('submit')) {
            if (!check_form_key('blocks_vars')) {
                $submit = false;
                $mode = '';
                trigger_error('FORM_INVALID');
            }
            $submit = true;
        }
        $choice = $request->variable('switch', '');
        $block = $request->variable('block', 0);
        $mode = $request->variable('mode', '');
        $switch = $request->variable('switch', '');
        if ($mode = 'manage' && $choice == '') {
            $choice = 'manage';
        }
        if (isset($block)) {
            $sql = "SELECT id, title, var_file_name\n\t\t\t\tFROM " . K_BLOCKS_TABLE . "\n\t\t\t\tWHERE id = " . (int) $block;
            $result = $db->sql_query($sql);
            $row = $db->sql_fetchrow($result);
            $title = strtoupper($row['title']);
            $title = str_replace(' ', '_', $row['title']);
            $block_id = $row['id'];
            $var_file_name = $row['var_file_name'];
            $db->sql_freeresult($result);
            $sgp_functions_admin->get_all_groups();
            $sgp_functions_admin->get_teams_sort();
        }
        $block = !empty($block) ? $block : 0;
        $action = $request->variable('action', '');
        $submit = isset($_POST['submit']) ? true : false;
        // swicth to other var setups 11 March 2010
        if ($switch) {
            $sgp_functions_admin->get_reserved_words();
            $var_file_name = $switch;
        }
        $template->assign_vars(array('S_SWITCH' => $var_file_name));
        if ($submit && !check_form_key('blocks_vars')) {
            trigger_error($user->lang['FORM_INVALID']);
        }
        $sql = 'SELECT config_name, config_value
			FROM ' . K_VARS_TABLE;
        $result = $db->sql_query($sql);
        while ($row = $db->sql_fetchrow($result)) {
            $k_config[$row['config_name']] = $row['config_value'];
            $template->assign_var('S_' . strtoupper($row['config_name']), $row['config_value']);
        }
        $db->sql_freeresult($result);
        $template->assign_vars(array('S_OPT' => 'manage', 'MESSAGE' => ''));
        if ($submit) {
            $mode = 'save';
        } else {
            $mode = 'reset';
        }
        switch ($mode) {
            case 'save':
                $k_allow_acronyms = $request->variable('k_allow_acronyms', 0);
                $k_allow_rand_avatar = $request->variable('k_allow_rand_avatar', 0);
                $k_allow_rotating_logos = $request->variable('k_allow_rotating_logos', 1);
                $k_blocks_display_globally = $request->variable('k_blocks_display_globally', 1);
                $k_footer_images_allow = $request->variable('k_footer_images_allow', 1);
                $k_links_forum_id = $request->variable('k_links_forum_id', '');
                $k_ma_avatar_max_width = $request->variable('k_ma_avatar_max_width', '90');
                $k_ma_columns = $request->variable('k_ma_columns', '5');
                $k_ma_display_logged_in_only = $request->variable('k_ma_display_logged_in_only', '0');
                $k_ma_max_avatars = $request->variable('k_ma_max_avatars', '0');
                $k_ma_rows = $request->variable('k_ma_rows', '1');
                $k_ma_user_active = $request->variable('k_ma_user_active', '0');
                $k_ma_user_has_posted = $request->variable('k_ma_user_has_posted', '0');
                $k_max_block_avatar_height = $request->variable('k_max_block_avatar_height', 0);
                $k_max_block_avatar_width = $request->variable('k_max_block_avatar_width', 0);
                $k_max_block_avatar_width = $request->variable('k_max_block_avatar_width', 0);
                $k_post_types = $request->variable('k_post_types', '');
                $k_recent_topics_search_exclude = $request->variable('k_recent_topics_search_exclude', '');
                $k_quick_reply = $request->variable('k_quick_reply', 1);
                $k_smilies_show = $request->variable('k_smilies_show', 1);
                $k_tooltips_active = $request->variable('k_tooltips_active', 1);
                $k_tooltips_which = $request->variable('k_tooltips_which', 0);
                $k_announce_type = $request->variable('k_announce_type', '');
                $k_announce_allow = $request->variable('k_announce_allow', 1);
                $k_announce_item_max_length = $request->variable('k_announce_item_max_length', 0);
                $k_announce_to_display = $request->variable('k_announce_to_display', 5);
                $k_bots_to_display = $request->variable('k_bots_to_display', 10);
                $k_block_cache_time_default = $request->variable('k_block_cache_time_default', 600);
                $k_block_cache_time_fast = $request->variable('k_block_cache_time_fast', 10);
                $k_block_cache_time_short = $request->variable('k_block_cache_time_short', 10);
                $k_bot_display_allow = $request->variable('k_bot_display_allow', 1);
                $k_donations_max = $request->variable('k_donations_max', '100');
                $k_donations_years = $request->variable('k_donations_years', '2000');
                $k_last_online_max = $request->variable('k_last_online_max', 5);
                $k_links_to_display = $request->variable('k_links_to_display', 5);
                $k_news_type = $request->variable('k_news_type', '');
                $k_news_allow = $request->variable('k_news_allow', 1);
                $k_news_items_to_display = $request->variable('k_news_items_to_display', 5);
                $k_news_item_max_length = $request->variable('k_news_item_max_length', 0);
                $k_recent_topics_to_display = $request->variable('k_recent_topics_to_display', 10);
                $k_recent_topics_per_forum = $request->variable('k_recent_topics_per_forum', 5);
                $k_recent_search_days = $request->variable('k_recent_search_days', 7);
                $k_referrals_to_display = $request->variable('k_referrals_to_display', '');
                $k_teams = $request->variable('k_teams', '');
                $k_teams_display_this_many = $request->variable('k_teams_display_this_many', 1);
                $k_teampage_memberships = $request->variable('k_teampage_memberships', 0);
                $k_teams_sort = $request->variable('k_teams_sort', '');
                $k_top_downloads_per_forum = $request->variable('k_top_downloads_per_forum', 0);
                $k_top_downloads_search_days = $request->variable('k_top_downloads_search_days', 0);
                $k_top_downloads_search_exclude = $request->variable('k_top_downloads_search_exclude', '');
                $k_top_downloads_to_display = $request->variable('k_top_downloads_to_display', 5);
                $k_top_downloads_types = $request->variable('k_top_downloads_types', '');
                $k_top_posters_to_display = $request->variable('k_top_posters_to_display', 5);
                $k_top_topics_days = $request->variable('k_top_topics_days', 7);
                $k_top_topics_max = $request->variable('k_top_topics_max', 5);
                $k_yourtube_link = $request->variable('k_yourtube_link', '');
                $k_yourtube_auto = $request->variable('k_yourtube_auto', 1);
                $k_yourtube_link_limit = $request->variable('k_yourtube_link_limit', 5);
                if ($k_ma_rows <= 0) {
                    $k_ma_rows = 1;
                }
                if ($k_max_block_avatar_width == 0 || $k_max_block_avatar_height == 0) {
                    $k_max_block_avatar_width = $config['avatar_max_width'];
                    $k_max_block_avatar_height = $config['avatar_max_height'];
                } else {
                    if ($k_max_block_avatar_width > $config['avatar_max_width'] || $k_max_block_avatar_height > $config['avatar_max_height']) {
                        $k_max_block_avatar_width = $config['avatar_max_width'];
                        $k_max_block_avatar_height = $config['avatar_max_height'];
                    }
                }
                switch ($k_announce_type) {
                    case 2:
                        $k_announce_type = POST_ANNOUNCE;
                        break;
                    case 3:
                        $k_announce_type = POST_GLOBAL;
                        break;
                    default:
                        $k_announce_type = 0;
                        break;
                }
                switch ($k_news_type) {
                    case 4:
                        $k_news_type = POST_NEWS;
                        break;
                    case 5:
                        $k_news_type = POST_NEWS_GLOBAL;
                        break;
                    default:
                        $k_news_type = 0;
                        break;
                }
                // all data is escaped in $sgp_functions_admin->sgp_acp_set_config //
                $sgp_functions_admin->sgp_acp_set_config('k_allow_rotating_logos', $k_allow_rotating_logos);
                $sgp_functions_admin->sgp_acp_set_config('k_announce_allow', $k_announce_allow);
                $sgp_functions_admin->sgp_acp_set_config('k_bot_display_allow', $k_bot_display_allow);
                $sgp_functions_admin->sgp_acp_set_config('k_footer_images_allow', $k_footer_images_allow);
                $sgp_functions_admin->sgp_acp_set_config('k_announce_type', $k_announce_type);
                $sgp_functions_admin->sgp_acp_set_config('k_blocks_display_globally', $k_blocks_display_globally);
                $sgp_functions_admin->sgp_acp_set_config('k_smilies_show', $k_smilies_show);
                $sgp_functions_admin->sgp_acp_set_config('k_announce_to_display', $k_announce_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_bots_to_display', $k_bots_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_announce_item_max_length', $k_announce_item_max_length);
                $sgp_functions_admin->sgp_acp_set_config('k_links_forum_id', $k_links_forum_id);
                $sgp_functions_admin->sgp_acp_set_config('k_links_to_display', $k_links_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_news_allow', $k_news_allow);
                $sgp_functions_admin->sgp_acp_set_config('k_news_type', $k_news_type);
                $sgp_functions_admin->sgp_acp_set_config('k_news_items_to_display', $k_news_items_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_news_item_max_length', $k_news_item_max_length);
                $sgp_functions_admin->sgp_acp_set_config('k_post_types', $k_post_types);
                $sgp_functions_admin->sgp_acp_set_config('k_recent_topics_to_display', $k_recent_topics_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_recent_topics_per_forum', $k_recent_topics_per_forum);
                $sgp_functions_admin->sgp_acp_set_config('k_recent_topics_search_exclude', $k_recent_topics_search_exclude);
                $sgp_functions_admin->sgp_acp_set_config('k_recent_search_days', $k_recent_search_days);
                $sgp_functions_admin->sgp_acp_set_config('k_teams', $k_teams);
                $sgp_functions_admin->sgp_acp_set_config('k_teams_display_this_many', $k_teams_display_this_many);
                $sgp_functions_admin->sgp_acp_set_config('k_teams_sort', $k_teams_sort);
                $sgp_functions_admin->sgp_acp_set_config('k_top_posters_to_display', $k_top_posters_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_top_topics_max', $k_top_topics_max);
                $sgp_functions_admin->sgp_acp_set_config('k_top_topics_days', $k_top_topics_days);
                $sgp_functions_admin->sgp_acp_set_config('k_referrals_to_display', $k_referrals_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_last_online_max', $k_last_online_max);
                $sgp_functions_admin->sgp_acp_set_config('k_quick_reply', $k_quick_reply);
                $sgp_functions_admin->sgp_acp_set_config('k_block_cache_time_default', $k_block_cache_time_default);
                $sgp_functions_admin->sgp_acp_set_config('k_block_cache_time_fast', $k_block_cache_time_fast);
                $sgp_functions_admin->sgp_acp_set_config('k_yourtube_link', $k_yourtube_link);
                $sgp_functions_admin->sgp_acp_set_config('k_yourtube_auto', $k_yourtube_auto);
                $sgp_functions_admin->sgp_acp_set_config('k_yourtube_link_limit', $k_yourtube_link_limit);
                $sgp_functions_admin->sgp_acp_set_config('k_block_cache_time_short', $k_block_cache_time_short);
                $sgp_functions_admin->sgp_acp_set_config('k_allow_acronyms', $k_allow_acronyms);
                $sgp_functions_admin->sgp_acp_set_config('k_max_block_avatar_width', $k_max_block_avatar_width);
                $sgp_functions_admin->sgp_acp_set_config('k_max_block_avatar_height', $k_max_block_avatar_height);
                $sgp_functions_admin->sgp_acp_set_config('k_teampage_memberships', $k_teampage_memberships);
                $sgp_functions_admin->sgp_acp_set_config('k_tooltips_active', $k_tooltips_active);
                $sgp_functions_admin->sgp_acp_set_config('k_tooltips_which', $k_tooltips_which);
                $sgp_functions_admin->sgp_acp_set_config('k_allow_rand_avatar', $k_allow_rand_avatar);
                $sgp_functions_admin->sgp_acp_set_config('k_donations_years', $k_donations_years);
                $sgp_functions_admin->sgp_acp_set_config('k_donations_max', $k_donations_max);
                $sgp_functions_admin->sgp_acp_set_config('k_top_downloads_to_display', $k_top_downloads_to_display);
                $sgp_functions_admin->sgp_acp_set_config('k_top_downloads_search_exclude', $k_top_downloads_search_exclude);
                $sgp_functions_admin->sgp_acp_set_config('k_top_downloads_search_days', $k_top_downloads_search_days);
                $sgp_functions_admin->sgp_acp_set_config('k_top_downloads_per_forum', $k_top_downloads_per_forum);
                $sgp_functions_admin->sgp_acp_set_config('k_top_downloads_types', $k_top_downloads_types);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_max_avatars', $k_ma_max_avatars);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_columns', $k_ma_columns);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_rows', $k_ma_rows);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_avatar_max_width', $k_ma_avatar_max_width);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_display_logged_in_only', $k_ma_display_logged_in_only);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_user_has_posted', $k_ma_user_has_posted);
                $sgp_functions_admin->sgp_acp_set_config('k_ma_user_active', $k_ma_user_active);
                $mode = 'reset';
                $template->assign_vars(array('S_OPT' => 'saving', 'MESSAGE' => $user->lang['SAVED']));
                $cache->destroy('_k_config');
                $cache->destroy('sql', K_VARS_TABLE);
                if ($block) {
                    meta_refresh(0, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&amp;mode=manage&amp;block=" . $block));
                } else {
                    meta_refresh(0, append_sid("{$phpbb_admin_path}index.{$phpEx}", "i={$module_id}&amp;mode=manage&amp;switch=" . $switch));
                }
                return;
            case 'default':
                break;
        }
        switch ($action) {
            case 'submit':
                $mode = 'reset';
                break;
            case 'default':
                break;
        }
    }