|
From: Jon O. <jon...@us...> - 2007-07-21 23:09:17
|
Update of /cvsroot/mxbb/core/modules/mx_navmenu/admin In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25812/admin Modified Files: mx_module_defs.php Log Message: Index: mx_module_defs.php =================================================================== RCS file: /cvsroot/mxbb/core/modules/mx_navmenu/admin/mx_module_defs.php,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** mx_module_defs.php 9 Jul 2007 21:58:04 -0000 1.26 --- mx_module_defs.php 21 Jul 2007 23:09:03 -0000 1.27 *************** *** 30,33 **** --- 30,34 ---- define('MX_MENU_CAT_TYPE' , 1); define('MX_MENU_TYPE' , 2); + define('MX_MENU_PAGE_TYPE' , 3); class mx_module_defs *************** *** 52,55 **** --- 53,57 ---- $type_row['nav_menu'] = !empty($lang['ParType_nav_menu']) ? $lang['ParType_nav_menu'] : "Navigation Menu"; + $type_row['site_menu'] = !empty($lang['ParType_site_menu']) ? $lang['ParType_site_menu'] : "Site Nav Menu"; return $type_row; *************** *** 59,63 **** // Display cuztom parameter field and data in the Block Control Panel // =================================================== - /* function display_module_parameters( $parameter_data, $block_id ) { --- 61,64 ---- *************** *** 66,77 **** switch ( $parameter_data['parameter_type'] ) { } } - */ // =================================================== ! // Display cuztom Panel // =================================================== ! function display_module_parameters( $parameter_data, $block_id ) { global $template, $board_config, $db, $theme, $lang, $images, $mx_blockcp, $mx_root_path, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $userdata, $mx_request_vars, $dynamic_block_id, $portalpage, $mx_cache, $phpEx; --- 67,84 ---- switch ( $parameter_data['parameter_type'] ) { + case 'nav_menu': + $this->display_panel_nav_menu( $parameter_data, $block_id ); + break; + + case 'site_menu': + $this->display_panel_site_menu( $parameter_data, $block_id ); + break; } } // =================================================== ! // Display cuztom Panel - Nav Menu // =================================================== ! function display_panel_nav_menu( $parameter_data, $block_id ) { global $template, $board_config, $db, $theme, $lang, $images, $mx_blockcp, $mx_root_path, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $userdata, $mx_request_vars, $dynamic_block_id, $portalpage, $mx_cache, $phpEx; *************** *** 300,323 **** // --------------------------------------------------------------------------------------- - /* - // - // Get menu data - // - if ( $mx_cache->_exists( '_menu_' . $block_id ) ) - { - $mx_nav_data = $mx_cache->get( '_menu_' . $block_id ); - } - else - { - $mx_nav_data = mx_get_nav_menu($block_id); - $mx_cache->put( '_menu_' . $block_id, $mx_nav_data ); - } - - $navCategory = $mx_nav_data['navcategory']; - $pageMapping = $mx_nav_data['pagemapping']; - - $total_cats = count($navCategory); - */ - $sql = "SELECT * FROM " . MENU_CAT_TABLE . " --- 307,310 ---- *************** *** 697,700 **** --- 684,1111 ---- } + // =================================================== + // Display cuztom Panel - Nav Menu + // =================================================== + function display_panel_site_menu( $parameter_data, $block_id ) + { + global $template, $board_config, $db, $theme, $lang, $images, $mx_blockcp, $mx_root_path, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $userdata, $mx_request_vars, $dynamic_block_id, $portalpage, $mx_cache, $phpEx; + + $mx_page = new mx_page(); + $mx_page->init('1'); + + // + // Includes + // + include_once( $mx_root_path . 'modules/mx_navmenu/includes/navmenu_functions.' . $phpEx ); + + $parameter_id = $parameter_data['parameter_id']; + + // + // Load states + // + $cookie_tmp = $board_config['cookie_name'].'_admincp_sitestates'; + $cookie_states = !empty($HTTP_COOKIE_VARS[$cookie_tmp]) ? explode(",", $HTTP_COOKIE_VARS[$cookie_tmp]) : array(); + + // + // Define some graphics + // + $admin_icon_url = PORTAL_URL . $images['mx_graphics']['admin_icons'] . '/'; + $admin_icon['contract'] = $admin_icon_url . 'contract.gif'; + $admin_icon['expand'] = $admin_icon_url . 'expand.gif'; + $admin_icon['page'] = $admin_icon_url . 'icon_page.gif'; + $admin_icon['page_column'] = $admin_icon_url . 'icon_page_column.gif'; + $admin_icon['function'] = $admin_icon_url . 'icon_function.gif'; + $admin_icon['parameter'] = $admin_icon_url . 'icon_parameter.gif'; + $admin_icon['block'] = $admin_icon_url . 'icon_block.gif'; + $admin_icon['edit_block'] = $admin_icon_url . 'icon_edit.gif'; + + $link_target_options = array(); + $link_target_options = array("Default", "New browser", "IncludeX Block"); + + // + // Mode setting + // + $mode = $mx_request_vars->request('panel_mode', MX_TYPE_NO_TAGS, ''); + $action = $mx_request_vars->request('panel_action', MX_TYPE_NO_TAGS, ''); + + // + // Parameters + // + $submit = ( isset($HTTP_POST_VARS['submit']) ) ? true : false; + $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? true : false; + $preview = ( isset($HTTP_POST_VARS['preview']) ) ? true : false; + $refresh = $preview || $submit_search; + + // + // SUBMIT? + // + if( !empty($mode) && !empty($action) ) + { + // + // Get vars + // + $portalpage = $mx_request_vars->request('portalpage', MX_TYPE_INT, 1); + $id = $mx_request_vars->request('id', MX_TYPE_INT, ''); + + // + // Send to db functions + // + $result_message = $this->do_it($mode, $action, $id); + + // + // If new + // + if (is_array($result_message)) + { + //$nav_page_id = $result_message['new_page_id']; + $result_message = $result_message['text']; + } + + // + // Refresh mx_block object with new settings + // + $mx_blockcp->init($block_id, true); + $mx_page->init('1'); + + } // if .. !empty($mode) + + // DO IT DO IT + + $template->set_filenames(array( + 'parameter' => 'admin/mx_module_parameters_site.tpl') + ); + + $s_hidden_fields .= '<input type="hidden" name="block_id" value="' . $block_id . '" />'; + + $show_cat_sel = '<select name="cat_show_sel"><option value="0">' . ( !empty($lang['Folded']) ? $lang['Folded'] : 'Folded' ) . '</option><option value="1" selected="selected">' . ( !empty($lang['Unfolded']) ? $lang['Unfolded'] : 'Unfolded' ) . '</option></select>'; + + // + // Get blockcp mode -> to set action file + // + $s_action_file = $mx_blockcp->blockcp_mode == 'mx_blockcp' ? 'modules/mx_coreblocks/mx_blockcp.php' : 'admin/admin_mx_block_cp.php'; + + // + // Main parameters + // + $template->assign_vars(array( + 'L_YES' => $lang['Yes'], + 'L_NO' => $lang['No'], + + 'SID' => $userdata['session_id'], + 'RESULT_MESSAGE' => !empty($result_message) ? '<div style="overflow:auto; height:50px;"><span class="gensmall">' . $result_message . '<br/> -::-</span></div>': '', + + // + // Graphics + // + 'IMG_URL_CONTRACT' => $admin_icon['contract'], + 'IMG_URL_EXPAND' => $admin_icon['expand'], + + 'IMG_ICON_PAGE' => $admin_icon['page'], + 'IMG_ICON_PAGE_COLUMN' => $admin_icon['page_column'], + 'IMG_ICON_FUNCTION' => $admin_icon['function'], + 'IMG_ICON_PARAMETER' => $admin_icon['parameter'], + 'IMG_ICON_BLOCK' => $admin_icon['block'], + 'IMG_ICON_EDIT_BLOCK' => $admin_icon['edit_block'], + + // + // Cookies + // + 'COOKIE_NAME' => $board_config['cookie_name'], + 'COOKIE_PATH' => $board_config['cookie_path'], + 'COOKIE_DOMAIN' => $board_config['cookie_domain'], + 'COOKIE_SECURE' => $board_config['cookie_secure'], + + 'L_SUBJECT' => $lang['Subject'], + 'L_SUBMIT' => $lang['Submit'], + 'L_CANCEL' => $lang['Cancel'], + + 'L_SUBMIT' => $lang['Update'], + 'L_RESET' => $lang['Reset'], + 'L_MENU_PAR_TITLE' => $lang['Menu_par_title'], + + 'L_MENU_TITLE' => $lang['Menu_admin'], + 'L_MENU_EXPLAIN' => $lang['Menu_admin_explain'], + + 'S_SHOW_CAT' => $show_cat_sel, + 'U_PHPBB_ROOT_PATH' => PHPBB_URL, + 'TEMPLATE_ROOT_PATH' => TEMPLATE_ROOT_PATH, + + 'L_EDIT' => $lang['Edit'], + 'L_MOVE_UP' => $lang['Move_up'], + 'L_MOVE_DOWN' => $lang['Move_down'], + 'L_RESYNC' => $lang['Resync'], + 'L_CHANGE_NOW' => $lang['Change'], + + 'L_BLOCK' => $lang['Block'], + + 'S_ACTION' => append_sid(PORTAL_URL . $s_action_file), + )); + + if( !empty($portalpage) ) + { + $template->assign_block_vars('block_mode', array( + 'U_RETURN' => append_sid(PORTAL_URL . "index.$phpEx?page=$portalpage") + )); + } + + // + // ---------------------------------------------------------------------------------- Cats + // + + // Display list of Categories --------------------------------------------------------------- + // --------------------------------------------------------------------------------------- + + /* + $sql = "SELECT * + FROM " . MENU_CAT_TABLE . " + WHERE block_id = '" . $block_id . "' + ORDER BY cat_order"; + + if ( !( $result = $db->sql_query( $sql ) ) ) + { + mx_message_die( GENERAL_ERROR, 'Couldnt query Navigation Categories', '', __LINE__, __FILE__, $sql ); + } + + $cat_rows = array(); + if( $total_cats = $db->sql_numrows($result) ) + { + $cat_rows = $db->sql_fetchrowset($result); + } + + $db->sql_freeresult($result); + */ + + $cat_rows = array(); + if (isset($mx_page->subpage_rowset[0])) + { + foreach ($mx_page->subpage_rowset[0] as $temp_page_id => $cat_row) + { + $cat_rows[] = $cat_row; + } + } + $total_cats = count($cat_rows); + + if ( $total_cats == 0 ) + { + $template->assign_block_vars('nocat', array( + 'NONE' => $lang['No_pages'] + )); + } + + for( $cat_count = 0; $cat_count < $total_cats; $cat_count++ ) + { + $cat_id = $cat_rows[$cat_count]['page_id']; + + $mode = MX_MENU_PAGE_TYPE; + $action = MX_DO_UPDATE; + + $upmode = '?panel_mode=' . $mode . '&panel_action=' . MX_DO_MOVE . '&id=' . $cat_id . '&block_id=' . $block_id . '&block_order=' . $block_order . '&move=-15' . '&portalpage=' . $portalpage. '&dynamic_block=' . $dynamic_block_id; + $downmode = '?panel_mode=' . $mode . '&panel_action=' . MX_DO_MOVE . '&id=' . $cat_id . '&block_id=' . $block_id . '&block_order=' . $block_order . '&move=15' . '&portalpage=' . $portalpage. '&dynamic_block=' . $dynamic_block_id; + + // + // Hidden fields + // + $s_hidden_cat_fields = '<input type="hidden" name="panel_mode" value="' . $mode . '" /> + <input type="hidden" name="panel_action" value="' . $action . '" /> + <input type="hidden" name="id" value="' . $cat_id . '" /> + <input type="hidden" name="block_id" value="' . $block_id . '" /> + <input type="hidden" name="dynamic_block" value="' . $dynamic_block_id . '" /> + <input type="hidden" name="portalpage" value="' . $portalpage . '" /> + <input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />'; + + $cat_title = $cat_rows[$cat_count]['page_name']; + + // + // Page subpanel - edit + // + $menu_active = $cat_rows[$cat_count]['menu_active']; + + if( $menu_active == 1 ) + { + $menu_active_select = '<select name="menu_active"><option value="1" selected="selected">' . ( !empty($lang['Menu_active']) ? $lang['Menu_active'] : 'Menu_active' ) . '</option><option value="0">' . ( !empty($lang['Menu_not_active']) ? $lang['Menu_not_active'] : 'Menu_not_active' ) . '</option></select>'; + } + else + { + $menu_active_select = '<select name="menu_active"><option value="1">' . ( !empty($lang['Menu_active']) ? $lang['Menu_active'] : 'Menu_active' ) . '</option><option value="0" selected="selected">' . ( !empty($lang['Menu_not_active']) ? $lang['Menu_not_active'] : 'Menu_not_active' ) . '</option></select>'; + } + + $menuicons = post_icons('menu_icons/', $cat_rows[$cat_count]['menu_icon']); + $menu_alt_icon = $cat_rows[$cat_count]['menu_alt_icon']; + $menu_alt_icon_hot = $cat_rows[$cat_count]['menu_alt_icon_hot']; + + $visible_cat = in_array('adminCat_' . $cat_id, $cookie_states); + $visible_cat_edit = in_array('adminCatEdit_' . $cat_id, $cookie_states); + + $template->assign_block_vars('catrow', array( + 'CAT_ID' => $cat_id, + + 'VISIBLE' => $visible_cat ? 'block' : 'none', + 'VISIBLE_EDIT' => $visible_cat_edit || $new_page ? 'block' : 'none', + + 'IMG_URL' => $visible_cat ? $admin_icon['contract'] : $admin_icon['expand'], + 'IMG_URL_EDIT' => $visible_cat_edit ? $admin_icon['contract'] : $admin_icon['expand'], + + 'CAT_TITLE' => $cat_title, + + 'U_CAT_MOVE_UP' => append_sid($mx_root_path . $s_action_file . $upmode . '&sid=' . $userdata['session_id']), + 'U_CAT_MOVE_DOWN' => append_sid($mx_root_path . $s_action_file . $downmode . '&sid=' . $userdata['session_id'] ), + + // + // EDIT CAT + // + 'L_TITLE_EDIT' => $lang['Edit_Category'], + + 'L_CAT_TITLE' => $lang['Category'], + 'L_MENU_ICON' => $lang['Menu_icon'], + 'L_MENU_ALT_ICON' => $lang['Menu_alt_icon'], + 'L_MENU_ALT_ICON_HOT' => $lang['Menu_alt_icon_hot'], + 'L_MENU_ACTIVE' => $lang['Menu_active_select'], + + 'E_CAT_TITLE' => $cat_title, + 'E_MENU_ICON' => $menuicon, + 'E_MENU_ALT_ICON' => $menu_alt_icon, + 'E_MENU_ALT_ICON_HOT' => $menu_alt_icon_hot, + 'S_POSTICONS' => $menuicons, + 'S_MENU_ACTIVE' => $menu_active_select, + + 'S_HIDDEN_FIELDS' => $s_hidden_cat_fields, + 'S_SUBMIT' => $lang['Update'] + + )); + + /* + $num_of_menus = count($catData); + */ + + /* + $sql = "SELECT * + FROM " . MENU_NAV_TABLE . " + WHERE cat_id = '" . $cat_id . "' + ORDER BY menu_order"; + + if ( !( $result = $db->sql_query( $sql ) ) ) + { + mx_message_die( GENERAL_ERROR, 'Couldnt query Navigation menus', '', __LINE__, __FILE__, $sql ); + } + + $menu_rows = array(); + if( $total_menus = $db->sql_numrows($result) ) + { + $menu_rows = $db->sql_fetchrowset($result); + } + + $db->sql_freeresult($result); + */ + + $menu_rows = array(); + if (isset($mx_page->subpage_rowset[$cat_id])) + { + foreach ($mx_page->subpage_rowset[$cat_id] as $temp_subpage_id => $menu_row) + { + $menu_rows[] = $menu_row; + } + } + $total_menus = count($menu_rows); + + if ( $total_menus == 0 ) + { + $template->assign_block_vars('catrow.nocat', array( + 'NONE' => $lang['No_pages'] + )); + } + + for( $menu_count = 0; $menu_count < $total_menus; $menu_count++ ) + { + $menu_id = $menu_rows[$menu_count]['page_id']; + + $mode = MX_MENU_PAGE_TYPE; + $action = MX_DO_UPDATE; + + $upmode = '?panel_mode=' . $mode . '&panel_action=' . MX_DO_MOVE . '&id=' . $menu_id . '&cat_id=' . $cat_id . '&block_id=' . $block_id . '&block_order=' . $block_order . '&move=-15'; + $downmode = '?panel_mode=' . $mode . '&panel_action=' . MX_DO_MOVE . '&id=' . $menu_id . '&cat_id=' . $cat_id . '&block_id=' . $block_id . '&block_order=' . $block_order . '&move=15'; + + // + // Hidden fields + // + $s_hidden_menu_fields = '<input type="hidden" name="panel_mode" value="' . $mode . '" /> + <input type="hidden" name="panel_action" value="' . $action . '" /> + <input type="hidden" name="id" value="' . $menu_id . '" /> + <input type="hidden" name="block_id" value="' . $block_id . '" /> + <input type="hidden" name="portalpage" value="' . $portalpage . '" /> + <input type="hidden" name="cat_id" value="' . $cat_id . '" /> + <input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />'; + + + $menuname = $menu_rows[$menu_count]['page_name']; + + $menu_active = $menu_rows[$menu_count]['menu_active']; + + if( $menu_active == 1 ) + { + $menu_active_select = '<select name="menu_active"><option value="1" selected="selected">' . ( !empty($lang['Menu_active']) ? $lang['Menu_active'] : 'Menu_active' ) . '</option><option value="0">' . ( !empty($lang['Menu_not_active']) ? $lang['Menu_not_active'] : 'Menu_not_active' ) . '</option></select>'; + } + else + { + $menu_active_select = '<select name="menu_active"><option value="1">' . ( !empty($lang['Menu_active']) ? $lang['Menu_active'] : 'Menu_active' ) . '</option><option value="0" selected="selected">' . ( !empty($lang['Menu_not_active']) ? $lang['Menu_not_active'] : 'Menu_not_active' ) . '</option></select>'; + } + + $menuicons = post_icons('menu_icons/', $menu_rows[$menu_count]['menu_icon']); + $menu_alt_icon = $menu_rows[$menu_count]['menu_alt_icon']; + $menu_alt_icon_hot = $menu_rows[$menu_count]['menu_alt_icon_hot']; + + // Replace htmlentites for < and > with actual character. + $row_class = ( !( $menu_count % 2 ) ) ? 'row1' : 'row2'; + + $visible_menu_edit = in_array('adminMenuEdit_' . $menu_id, $cookie_states); + + $template->assign_block_vars('catrow.menurow', array( + 'MENU_ID' => $menu_id, + + "ROW_CLASS" => $row_class, + + 'VISIBLE_EDIT' => $visible_menu_edit ? 'block' : 'none', + + 'IMG_URL_EDIT' => $visible_menu_edit ? $admin_icon['contract'] : $admin_icon['expand'], + + 'MENU_TITLE' => $menuname, + 'ROW_COLOR' => $row_color, + + 'U_MENU_MOVE_UP' => append_sid($mx_root_path . $s_action_file . $upmode . '&sid=' . $userdata['session_id']), + 'U_MENU_MOVE_DOWN' => append_sid($mx_root_path . $s_action_file . $downmode . '&sid=' . $userdata['session_id']), + + // + // Menu EDIT + // + 'L_TITLE_EDIT' => $lang['Edit'], + + 'L_MENU_TITLE' => $l_title, + 'L_MENU_ACTION_TITLE' => $lang['Menu_action_title'], + 'L_MENU_ACTION_ADV' => $lang['Menu_action_adv'], + 'L_MENU_PERMISSIONS_TITLE' => $lang['Menu_permissions_title'], + + 'L_MENU_TITLE' => $lang['Menu_name'], + 'L_MENU_ICON' => $lang['Menu_icon'], + 'L_MENU_ALT_ICON' => $lang['Menu_alt_icon'], + 'L_MENU_ALT_ICON_HOT' => $lang['Menu_alt_icon_hot'], + 'L_MENU_CATEGORY' => $lang['Category'], + 'L_MENU_ACTIVE' => $lang['Menu_active_select'], + + 'E_MENU_TITLE' => htmlspecialchars($menuname), + 'E_MENU_ICON' => $menuicon, + 'E_MENU_ALT_ICON' => $menu_alt_icon, + 'E_MENU_ALT_ICON_HOT' => $menu_alt_icon_hot, + 'S_POSTICONS' => $menuicons, + 'S_MENU_ACTIVE' => $menu_active_select, + + 'S_HIDDEN_FIELDS' => $s_hidden_menu_fields, + 'S_SUBMIT' => $lang['Update'], + )); + + } // for ... menus + } // for ... categories + + $template->pparse('parameter'); + } + function do_it( $mode = '', $action = '', $id = '', $parent = false, $recache = true ) { *************** *** 905,909 **** function _do_update($type, $id ) { ! global $mx_root_path, $phpbb_root_path, $template, $lang, $db, $board_config, $theme, $phpEx, $HTTP_GET_VARS, $HTTP_POST_VARS, $userdata, $mx_request_vars; switch ( $type ) --- 1316,1320 ---- function _do_update($type, $id ) { ! global $mx_root_path, $phpbb_root_path, $template, $lang, $db, $board_config, $theme, $phpEx, $HTTP_GET_VARS, $HTTP_POST_VARS, $userdata, $mx_request_vars, $mx_cache; switch ( $type ) *************** *** 1014,1017 **** --- 1425,1483 ---- } + + case MX_MENU_PAGE_TYPE: + + if ( !MX_PANEL_DEBUG ) + { + if ( empty( $HTTP_POST_VARS['menuname'] ) && empty( $HTTP_POST_VARS['cat_title'] )) + { + mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); + } + + // + // Get toggles + // + $bbcode_on = $board_config['allow_bbcode'] ? true : false; + $html_on = $board_config['allow_html'] ? true : false; + $smilies_on = $board_config['allow_smilies'] ? true : false; + + // + // Instantiate the mx_text class + // + include_once($mx_root_path . 'includes/mx_functions_tools.'.$phpEx); + $mx_text = new mx_text(); + $mx_text->init($html_on, $bbcode_on, $smilies_on); + + // + // Encode for db storage + // + if ( empty( $HTTP_POST_VARS['cat_title'] )) + { + $menu_title = $mx_text->encode_simple($mx_request_vars->post('menuname', MX_TYPE_NO_STRIP | MX_TYPE_SQL_QUOTED, '')); + } + else + { + $menu_title = $mx_text->encode_simple($mx_request_vars->post('cat_title', MX_TYPE_NO_STRIP | MX_TYPE_SQL_QUOTED, '')); + } + + $sql = "UPDATE " . PAGE_TABLE . " + SET page_name = '" . $menu_title . "', + menu_icon = '" . $mx_request_vars->post('menuicons', MX_TYPE_NO_TAGS | MX_TYPE_SQL_QUOTED, '') . "', + menu_alt_icon = '" . $mx_request_vars->post('menu_alt_icon', MX_TYPE_NO_TAGS | MX_TYPE_SQL_QUOTED, '') . "', + menu_alt_icon_hot = '" . $mx_request_vars->post('menu_alt_icon_hot', MX_TYPE_NO_TAGS | MX_TYPE_SQL_QUOTED, '') . "', + menu_active = '" . $mx_request_vars->post('menu_active', MX_TYPE_INT, '') . "' + WHERE page_id = " . intval($id); + + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't update page information", "", __LINE__, __FILE__, $sql); + } + + // + // Update cache + // + $mx_cache->update(MX_CACHE_PAGE_TYPE, $id); + + } $message = $lang['AdminCP_action'] . ": " . $lang['Nav_menu'] . ' (' . $mx_request_vars->post('menuname', MX_TYPE_NO_TAGS, '') . ') ' . $lang['was_updated']; *************** *** 1182,1259 **** break; ! default: ! $message = $lang['AdminCP_action'] . ": " . $lang['Invalid_action']; ! break; ! } ! ! return $message; ! } ! /* ! function do_it() ! { ! if( !empty($mode) ) ! { ! switch( $mode ) ! { ! case 'deletecat': // ! // Show form to delete a category // ! $cat_id = intval($HTTP_GET_VARS['cat_id']); ! ! $buttonvalue = $lang['Move_and_Delete']; ! $newmode = 'movedelcat'; ! $catinfo = mx_get_info(MENU_CAT_TABLE, 'cat_id', $cat_id); ! $name = $catinfo['cat_title']; ! if( $catinfo['number'] == 1 ) ! { ! $sql = "SELECT COUNT(*) AS total ! FROM " . MENU_NAV_TABLE; ! if( !$result = $db->sql_query($sql) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't get Menu count", "", __LINE__, __FILE__, $sql); ! } ! $count = $db->sql_fetchrow($result); ! $count = $count['total']; ! if( $count > 0 ) ! { ! mx_message_die(GENERAL_ERROR, $lang['Must_delete_menus']); ! } ! else ! { ! $select_to = $lang['Nowhere_to_move']; ! } ! } ! else { ! $select_to .= mx_get_list('to_id', MENU_CAT_TABLE, 'cat_id', 'cat_title', $cat_id, false); } ! $template->set_filenames(array( ! 'admin_menu' => 'admin/mx_menu_delete_body.tpl') ! ); ! $template->assign_vars(array( ! 'NAME' => $name, ! 'L_MENU_DELETE' => $lang['Menu_delete'], ! 'L_MENU_DELETE_EXPLAIN' => $lang['Menu_delete_explain'], ! 'L_MOVE_CONTENTS' => $lang['Move_contents'], ! 'L_MENU_NAME' => $lang['Menu_name'], ! 'S_HIDDEN_FIELDS' => $s_hidden_fields, ! 'S_MENU_ACTION' => append_sid("admin_mx_menu.$phpEx?block_id=$block_id&portalpage=$portalpage"), ! 'S_SELECT_TO' => $select_to, ! 'S_SUBMIT_VALUE' => $buttonvalue ! )); ! $template->pparse('admin_menu'); ! break; ! } } } - */ function move_menu($mode, $id = 0) --- 1648,1688 ---- break; ! case MX_MENU_PAGE_TYPE: ! if ( !MX_PANEL_DEBUG ) ! { // ! // Change order of menus in the DB // ! $page_id = intval($id); ! $block_id = $mx_request_vars->request('block_id', MX_TYPE_INT, 0); ! $parent_id = $mx_request_vars->request('cat_id', MX_TYPE_INT, 0); ! $move = $mx_request_vars->request('move', MX_TYPE_INT, 0); ! $sql = "UPDATE " . PAGE_TABLE . " ! SET page_order = page_order + $move ! WHERE page_id = $page_id ! AND page_parent = $parent_id"; ! if( !($result = $db->sql_query($sql)) ) { ! mx_message_die(GENERAL_ERROR, "Couldn't change page order", "", __LINE__, __FILE__, $sql); } ! $this->move_menu('page', $parent_id); ! $show_index = true; ! } + $message = $lang['AdminCP_action'] . ": " . $lang['Nav_menu'] . ' ' . $lang['was_moved']; ! break; ! default: ! $message = $lang['AdminCP_action'] . ": " . $lang['Invalid_action']; ! break; } + + return $message; } function move_menu($mode, $id = 0) *************** *** 1279,1282 **** --- 1708,1719 ---- break; + case 'page': + $table = PAGE_TABLE; + $idfield = 'page_id'; + $orderfield = 'page_order'; + $catfield = 'page_parent'; + $cat_id = $id; + break; + default: mx_message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__); *************** *** 1295,1298 **** --- 1732,1739 ---- break; + case 'page': + $sql .= " WHERE $catfield = $cat_id"; + break; + default: mx_message_die(GENERAL_ERROR, "Wrong mode", "", __LINE__, __FILE__); |