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); }
function main($page_id, $mode) { global $db, $user, $auth, $template, $cache; global $config, $SID, $phpbb_root_path, $phpbb_admin_path, $phpEx; include $phpbb_root_path . 'includes/sgp_functions.' . $phpEx; $user->add_lang('acp/k_pages'); $this->tpl_name = 'acp_k_pages'; $this->page_filename = 'ACP_PAGES'; $form_key = 'acp_k_pages'; add_form_key($form_key); //$s_hidden_fields = ''; $mode = request_var('mode', ''); $page_id = request_var('page_id', 0); $action = request_var('config', ''); $tag_id = request_var('tag_id', ''); $submit = isset($_POST['submit']) ? true : false; if ($tag_id != '') { $mode = 'add'; } switch ($action) { case 'config': $template->assign_var('MESSAGE', $user->lang['SWITCHING']); meta_refresh(1, "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_vars&mode=config&switch=k_pages"); break; default: break; } if ($submit && !check_form_key($form_key)) { $submit = false; $mode = ''; trigger_error($user->lang['FORM_INVALID'] . basename(dirname(__FILE__)) . '/' . basename(__FILE__) . ', line ' . __LINE__); } $template->assign_vars(array('U_BACK' => "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=manage", 'U_ADD' => "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=add", 'U_EDIT' => "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=edit" . '&page_id=' . $page_id, 'U_DELETE' => "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=delete" . '&page_id=' . $page_id, 'U_MANAGE' => "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=manage", 'S_OPT' => 'S_MANAGE')); 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__) . ', 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, "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=manage"); break; } else { confirm_box(false, sprintf("%s (%s)", $user->lang['CONFIRM_DELETE'], $page_name), build_hidden_fields(array('id' => $page_id, 'mode' => $mode, 'action' => 'delete'))); } $template->assign_var('MESSAGE', $user->lang['ACTION_CANCELLED']); meta_refresh(1, "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&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(3, "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=manage"); return; } $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, "{$phpbb_root_path}adm/index.{$phpEx}{$SID}&i=k_pages&mode=manage"); $template->assign_vars(array('S_OPTION' => 'processing', 'MESSAGE' => $user->lang['ADDING_PAGES'])); $cache->destroy('sql', K_PAGES_TABLE); break; } 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); }