WordPress.org

Make WordPress Core

Ticket #11817: custom-navigation-cleanup.diff

File custom-navigation-cleanup.diff, 25.1 KB (added by nbachiyski, 4 years ago)
  • wp-admin/css/custom-navigation.dev.css

     
    165165.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 8px; -webkit-border-radius: 8px; } 
    166166 
    167167 
    168 #reset_wp_menu { background:#c77 none !important;color:white!important;text-shadow:0 1px 0 #555 !important;} 
     168#reset-wp-menu { background:#c77 none !important;color:white!important;text-shadow:0 1px 0 #555 !important;} 
  • wp-admin/js/custom-navigation-dynamic-functions.dev.js

     
    115115        jQuery(this).find('dl > dt > span > #remove' + j).attr('onClick', 'removeitem(' + i + ')'); 
    116116        jQuery(this).find('dl > dt > span > #remove' + j).attr('id','remove' + i); 
    117117 
    118         jQuery('#licount').attr('value',i); 
     118        jQuery('#li-count').attr('value',i); 
    119119 
    120120   }); 
    121121 
  • wp-admin/custom-navigation.php

     
    2323wp_enqueue_script( 'jquery-autocomplete' ); 
    2424wp_enqueue_script( 'custom-navigation-php-functions' ); 
    2525 
    26 require_once('admin-header.php'); 
    27 require_once (ABSPATH . WPINC . '/custom-navigation.php'); 
     26require_once( 'admin-header.php' ); 
     27require_once( ABSPATH . WPINC . '/custom-navigation.php' ); 
    2828 
    2929wp_custom_navigation(); 
    3030 
    3131function wp_custom_nav_reset() { 
    32         wp_custom_navigation_setup(true); 
    33  
     32        wp_custom_navigation_setup( true ); 
    3433        return true; 
    35  
    3634} 
    3735 
    38 /*-----------------------------------------------------------------------------------*/ 
    39 /* Custom Navigation Admin Interface 
    40 /* wp_custom_navigation() is the main function for the Custom Navigation 
    41 /* See functions in admin-functions.php 
    42 /*-----------------------------------------------------------------------------------*/ 
    43  
     36/** 
     37 * Custom Navigation Admin Interface 
     38 *  
     39 * This function renders the interface for the custom navigation and handels the POST requests  
     40 */ 
    4441function wp_custom_navigation() { 
    4542        global $wpdb, $user_ID; 
    46         ?> 
     43?> 
    4744 
    4845        <div class="wrap"> 
    4946        <div id="no-js"><h3><?php _e('You do not have JavaScript enabled in your browser. Please enable it to access the Custom Menu functionality.'); ?></h3></div> 
    5047 
    51         <?php 
    52         $messagesdiv = ''; 
     48<?php 
     49        $message_div = ''; 
    5350        $menu_id_in_edit = 0; 
    5451 
    55         // Get the theme name 
    56         $themename = get_current_theme(); 
    57  
    5852        // Check which menu is selected and if menu is in edit already 
    59         if ( isset( $_POST['switch_menu'] ) ) 
    60                 $menu_selected_id = (int) $_POST['menu_select']; 
    61         elseif ( isset( $_POST['menu_id_in_edit'] ) ) 
    62                 $menu_selected_id = (int) $_POST['menu_id_in_edit']; 
     53        if ( isset( $_POST['switch-menu'] ) ) 
     54                $menu_selected_id = (int) $_POST['menu-select']; 
     55        elseif ( isset( $_POST['menu-id-in-edit'] ) ) 
     56                $menu_selected_id = (int) $_POST['menu-id-in-edit']; 
    6357        else 
    6458                $menu_selected_id = 0; 
    6559 
     
    7872                } 
    7973        } 
    8074 
    81         if ( isset( $_POST['set_wp_menu'] ) ) { 
    82                 // @todo validate set_wp_menu 
    83             update_option( 'wp_custom_nav_menu', $_POST['enable_wp_menu'] ); 
    84                 $messagesdiv = '<div id="message" class="updated fade below-h2"><p>' . __('Custom Menu has been updated!') . '</p></div>'; 
     75        if ( isset( $_POST['set-wp-menu'] ) ) { 
     76                // @todo validate set-wp-menu 
     77            update_option( 'wp_custom_nav_menu', $_POST['enable-wp-menu'] ); 
     78                $message_div = '<div id="message" class="updated fade below-h2"><p>' . __('Custom Menu has been updated!') . '</p></div>'; 
    8579        } 
    8680 
    87         if ( isset( $_POST['licount'] ) ) 
    88                 $postCounter = $_POST['licount']; 
    89         else 
    90             $postCounter = 0; 
     81        $post_counter = isset( $_POST['li-count'] )? $_POST['li-count'] : 0; 
    9182 
    9283        // Create a new menu. Menus are stored as terms in the 'menu' taxonomy. 
    93         if ( isset( $_POST['add_menu'] ) ) { 
    94                 $insert_menu_name = $_POST['add_menu_name']; 
    95  
     84        if ( isset( $_POST['add-menu'] ) ) { 
     85                $insert_menu_name = $_POST['add-menu-name']; 
    9686                if ( $insert_menu_name != '' ) { 
    9787                        $existing_term = get_term_by( 'name', $insert_menu_name, 'nav_menu' ); 
    9888                        if ( $existing_term ) { 
    99                                 $messagesdiv = '<div id="message" class="error fade below-h2"><p>' . esc_html( sprintf( e__('A menu named "%s" already exists; please try another name.'), $existing_term->name ) ) . '</p></div>'; 
     89                                $message_div = '<div id="message" class="error fade below-h2"><p>' . sprintf( __('A menu named "%s" already exists; please try another name.'), esc_html( $existing_term->name ) ) . '</p></div>'; 
    10090                        } else { 
    10191                                $term = wp_insert_term( $insert_menu_name, 'nav_menu' ); 
    10292                                if ( !is_wp_error($term) ) { 
     
    10494                                        $custom_menus[$term->term_id] = $term; 
    10595                                        $menu_selected_id = $term->term_id; 
    10696                                        $menu_id_in_edit = $menu_selected_id; 
    107                                         $messagesdiv = '<div id="message" class="updated fade below-h2"><p>' . esc_html( sprintf( __('"%s" menu has been created!'), $term->name ) ) . '</p></div>'; 
    108  
    109                                         $postCounter = 0; 
    110                                 } 
     97                                        $message_div = '<div id="message" class="updated fade below-h2"><p>' . sprintf( __('"%s" menu has been created!'), esc_html( $term->name ) ) . '</p></div>'; 
     98                                        $post_counter = 0; 
     99                                } else { 
     100                                        $message_div = '<div id="message" class="error fade below-h2"><p>' . sprintf( __('Error creating menu: %s'), $term->get_error_message() ) . '</p></div>'; 
     101                                } 
    111102                        } 
    112103                } else { 
    113                         $messagesdiv = '<div id="message" class="error fade below-h2"><p>' . __('Please enter a valid menu name.') . '</p></div>'; 
     104                        $message_div = '<div id="message" class="error fade below-h2"><p>' . __('Please enter a valid menu name.') . '</p></div>'; 
    114105                } 
    115106        } 
    116107 
    117         if ( isset($_POST['reset_wp_menu']) ) { 
    118         $success = wp_custom_nav_reset(); 
    119         if ( $success ) { 
    120                 // DISPLAY SUCCESS MESSAGE IF Menu Reset Correctly 
    121                         $messagesdiv = '<div id="message" class="updated fade below-h2"><p>' . __('The menu has been reset.') . '</p></div>'; 
    122                         // GET reset menu id 
     108        if ( isset( $_POST['reset-wp-menu'] ) ) { 
     109        if ( wp_custom_nav_reset() ) { 
     110                        $message_div = '<div id="message" class="updated fade below-h2"><p>' . __('The menu has been reset.') . '</p></div>'; 
    123111                        $custom_menus = array(); 
    124112                        $menu_selected_id = 0; 
    125113            } else { 
    126                 // DISPLAY SUCCESS MESSAGE IF Menu Reset Correctly 
    127                         $messagesdiv = '<div id="message" class="error fade below-h2"><p>' . __('The menu could not be reset. Please try again.') . '</p></div>'; 
     114                        $message_div = '<div id="message" class="error fade below-h2"><p>' . __('The menu could not be reset. Please try again.') . '</p></div>'; 
    128115            } 
    129         } elseif ( $postCounter > 0 && $menu_selected_id > 0 ) { 
     116        } elseif ( $post_counter > 0 && $menu_selected_id > 0 ) { 
    130117                $menu_objects = get_objects_in_term( $menu_selected_id, 'nav_menu' ); 
    131118                $menu_items = wp_custom_navigation_get_menu_items( $menu_objects ); 
    132119 
    133120                // Loop through all POST variables 
    134                 for ( $k = 1; $k <= $postCounter; $k++ ) { 
     121                for ( $k = 1; $k <= $post_counter; $k++ ) { 
    135122                        if (isset($_POST['dbid'.$k])) { $db_id = $_POST['dbid'.$k]; } else { $db_id = 0; } 
    136123                        if (isset($_POST['postmenu'.$k])) { $object_id = $_POST['postmenu'.$k]; } else { $object_id = 0; } 
    137124                        if (isset($_POST['parent'.$k])) { $parent_id = $_POST['parent'.$k]; } else { $parent_id = 0; } 
     
    153140                                $post['post_content_filtered'] = '_blank'; 
    154141                        else 
    155142                                $post['post_content_filtered'] = ''; 
    156                         if ( $parent_id > 0 && isset( $_POST[ 'dbid' . $parent_id ] ) ) 
    157                                 $post[ 'post_parent' ] = (int) $_POST[ 'dbid' . $parent_id ]; 
     143                        if ( $parent_id > 0 && isset( $_POST['dbid' . $parent_id] ) ) 
     144                                $post[ 'post_parent' ] = (int) $_POST['dbid' . $parent_id]; 
    158145 
    159146                        // New menu item 
    160147                        if ( $db_id == 0 ) { 
     
    172159                                wp_delete_post( $menu_id ); 
    173160                        } 
    174161                } 
    175                 // DISPLAY SUCCESS MESSAGE IF POST CORRECT 
    176                 $messagesdiv = '<div id="message" class="updated fade below-h2"><p>' . __('The menu has been updated.') . '</p></div>'; 
     162                $message_div = '<div id="message" class="updated fade below-h2"><p>' . __('The menu has been updated.') . '</p></div>'; 
    177163        } 
    178  
    179                 // DISPLAY Custom Navigation 
    180                 ?> 
     164?> 
    181165                <div id="pages-left"> 
    182166                        <div class="inside"> 
    183167                        <h2 class="maintitle"><?php esc_html_e('Custom Navigation') ?></h2> 
    184                         <?php 
    185  
    186                                 // CHECK if custom menu has been enabled 
    187                                 $enabled_menu = get_option('wp_custom_nav_menu'); 
    188                             $checked = strtolower($enabled_menu); 
    189  
    190                                 if ( $checked != 'true' ) 
    191                                         echo '<div id="message-enabled" class="error fade below-h2"><p><strong>' . __('The Custom Menu has not been Enabled yet. Please enable it in order to use it -------->') . '</strong></p></div>'; 
    192  
    193                         ?> 
    194                         <?php echo $messagesdiv; ?> 
     168<?php 
     169        $menu_enabled = strtolower( get_option( 'wp_custom_nav_menu' ) ); 
     170        if ( !$menu_enabled ) $menu_enabled = 'false'; 
     171        if ( $menu_enabled != 'true') { 
     172                echo '<div id="message-enabled" class="error fade below-h2"><p><strong>' . __('The Custom Menu is disabled. Please enable it on the right in order to use it &rarr;') . '</strong></p></div>'; 
     173        } 
     174        echo $message_div; 
     175?> 
    195176                        <form onsubmit="updatepostdata()" action="custom-navigation.php" method="post"  enctype="multipart/form-data"> 
     177                                 
     178                        <input type="hidden" name="li-count" id="li-count" value="0" /> 
     179                        <input type="hidden" name="menu-id-in-edit" id="menu-id-in-edit" value="<?php echo esc_attr( $menu_selected_id ); ?>" /> 
    196180 
    197                         <input type="hidden" name="licount" id="licount" value="0" /> 
    198                         <input type="hidden" name="menu_id_in_edit" id="menu_id_in_edit" value="<?php echo esc_attr($menu_selected_id); ?>" /> 
    199  
    200181                        <div class="sidebar-name"> 
    201  
    202182                                <div class="sidebar-name-arrow"> 
    203183                                        <br/> 
    204184                                </div> 
    205                                 <h3><?php echo esc_html($menu_title); ?></h3> 
    206  
     185                                <h3><?php echo esc_html( $menu_title ); ?></h3> 
    207186                        </div> 
    208187 
    209188                        <div id="nav-container"> 
    210189                                <ul id="custom-nav"> 
    211190 
    212191                        <?php 
    213                         //DISPLAY existing menu 
    214192                        if ( $menu_selected_id > 0 ) { 
    215                                 // SET output type 
    216                                 $output_type = "backend"; 
    217                                 // MAIN OUTPUT FUNCTION 
    218                                 wp_custom_navigation_output( 'type='.$output_type.'&name='.$menu_title.'&id='.$menu_selected_id ); 
     193                                wp_custom_navigation_output( array( 'type' => 'backend', 'name' => $menu_title, 'id' => $menu_selected_id ) ); 
    219194                        } 
    220195                        ?> 
    221196 
     
    242217                                        <h3><?php esc_html_e('Setup Custom Menu'); ?></h3> 
    243218                                </div> 
    244219                                <div class="widget-holder"> 
     220                                        <span > 
     221                                                <input type="radio" name="enable-wp-menu" id="enable-wp-menu-true" value="true" <?php checked( $menu_enabled, 'true' ); ?> /> 
     222                                                <label for="enable-wp-menu-true"><?php _e('Enable'); ?></label> 
     223                                                &nbsp; 
     224                                                <input type="radio" name="enable-wp-menu" id="enable-wp-menu-false" value="false" <?php checked( $menu_enabled, 'false' ); ?> /> 
     225                                                <label for="enable-wp-menu-false"><?php _e('Disable'); ?></label> 
     226                                        </span> 
    245227 
    246                                         <?php 
     228                                        <input id="set-wp-menu" type="submit" value="<?php esc_attr_e('Set Menu'); ?>" name="set-wp-menu" class="button" /><br /> 
    247229 
    248                                 // Setup custom menu 
    249  
    250                                         $enabled_menu = get_option('wp_custom_nav_menu'); 
    251  
    252                                 $checked = strtolower($enabled_menu); 
    253  
    254                                 ?> 
    255  
    256                                 <span > 
    257                                         <label><?php _e('Enable'); ?></label><input type="radio" name="enable_wp_menu" value="true" <?php if ($checked=='true') { echo 'checked="checked"'; } ?> /> 
    258                                         <label><?php _e('Disable'); ?></label><input type="radio" name="enable_wp_menu" value="false" <?php if ($checked=='true') { } else { echo 'checked="checked"'; } ?> /> 
    259                                         </span><!-- /.checkboxes --> 
    260  
    261                                         <input id="set_wp_menu" type="submit" value="<?php esc_attr_e('Set Menu'); ?>" name="set_wp_menu" class="button" /><br /> 
    262  
    263230                                        <span> 
    264231                                                <label><?php _e('Reset Menu to Default'); ?></label> 
    265                                                 <input id="reset_wp_menu" type="submit" value="Reset" name="reset_wp_menu" class="button" onclick="return confirm('<?php _e('Are you sure you want to reset the menu to its default settings?'); ?>');" /> 
     232                                                <input id="reset-wp-menu" type="submit" value="Reset" name="reset-wp-menu" class="button" onclick="return confirm('<?php echo esc_js( __('Are you sure you want to reset the menu to its default settings?') ); ?>');" /> 
    266233                                        </span> 
    267234 
    268235                                        <div class="fix"></div> 
     
    275242                                        <h3><?php esc_html_e('Menu Selector'); ?></h3> 
    276243                                </div> 
    277244                                <div class="widget-holder"> 
    278                                         <select id="menu_select" name="menu_select"> 
    279                                                 <?php 
    280  
    281                                                 // Display select options 
    282                                                 foreach ( $custom_menus as $menu ) { 
    283                                                         $menu_term = get_term( $menu, 'nav_menu' ); 
    284                                                         if ( ( $menu_id_in_edit == $menu->term_id ) || ( $menu_selected_id == $menu->term_id ) ) 
    285                                                                 $selected_option = 'selected="selected"'; 
    286                                                         else 
    287                                                                 $selected_option = ''; 
    288                                                         ?> 
    289                                                         <option value="<?php echo esc_attr($menu_term->term_id); ?>" <?php echo $selected_option; ?>><?php echo $menu_term->name; ?></option> 
    290                                                         <?php 
    291  
    292                                                 } 
    293                                                 ?> 
     245                                        <select id="menu-select" name="menu-select"> 
     246<?php 
     247        foreach ( $custom_menus as $menu ) { 
     248                $menu_term = get_term( $menu, 'nav_menu' ); 
     249                $selected_option = selected( ( $menu_id_in_edit == $menu->term_id ) || ( $menu_selected_id == $menu->term_id ), true, false ); 
     250?> 
     251                                                <option value="<?php echo esc_attr( $menu_term->term_id ); ?>" <?php echo $selected_option; ?>><?php echo $menu_term->name; ?></option> 
     252<?php 
     253        } 
     254?> 
    294255                                        </select> 
    295256 
    296                                         <input id="switch_menu" type="submit" value="<?php esc_attr_e('Switch'); ?>" name="switch_menu" class="button" /> 
    297                                         <input id="add_menu_name" name="add_menu_name" type="text" value=""  /> 
    298                                         <input id="add_menu" type="submit" value="<?php esc_attr_e('Add Menu'); ?>" name="add_menu" class="button" /> 
     257                                        <input id="switch-menu" type="submit" value="<?php esc_attr_e('Switch'); ?>" name="switch-menu" class="button" /> 
     258                                        <input id="add-menu-name" name="add-menu-name" type="text" value=""  /> 
     259                                        <input id="add-menu" type="submit" value="<?php esc_attr_e('Add Menu'); ?>" name="add-menu" class="button" /> 
    299260 
    300261                                        <div class="fix"></div> 
    301262                                </div> 
     
    308269                                </div> 
    309270                                <div class="widget-holder"> 
    310271                                        <span><?php _e('Display Descriptions in Top Level Menu?'); ?></span> 
    311  
    312                                         <?php 
    313  
     272<?php 
    314273                                // UPDATE and DISPLAY Menu Description Option 
    315                                 if ( isset($_POST['menu-descriptions']) ) { 
    316                                                 if ( !isset($_POST['switch_menu']) ) { 
    317                                                         $menu_options_to_edit = $_POST['menu_id_in_edit']; 
    318                                                 update_option('wp_settings_custom_nav_'.$menu_options_to_edit.'_descriptions',$_POST['menu-descriptions']); 
     274                                if ( isset( $_POST['menu-descriptions'] ) ) { 
     275                                                if ( !isset( $_POST['switch-menu'] ) ) { 
     276                                                        $menu_options_to_edit = $_POST['menu-id-in-edit']; 
     277                                                update_option( 'wp_settings_custom_nav_'.$menu_options_to_edit.'_descriptions', $_POST['menu-descriptions'] ); 
    319278                                                } 
    320279                                } 
    321280 
    322281                                if ( $menu_id_in_edit > 0 ) 
    323                                                 $checkedraw = get_option('wp_settings_custom_nav_'.$menu_id_in_edit.'_descriptions'); 
     282                                                $show_descriptions = get_option('wp_settings_custom_nav_'.$menu_id_in_edit.'_descriptions'); 
    324283                                        else 
    325                                                 $checkedraw = get_option('wp_settings_custom_nav_'.$menu_selected_id.'_descriptions'); 
     284                                                $show_descriptions = get_option('wp_settings_custom_nav_'.$menu_selected_id.'_descriptions'); 
    326285 
    327                                 $checked = strtolower($checkedraw); 
     286                                $show_descriptions = strtolower( $show_descriptions ); 
     287                                        if ( !$show_descriptions ) 
     288                                                $show_descriptions = 'no'; 
    328289 
    329290                                if ( $advanced_option_descriptions == 'no' ) 
    330                                         $checked = 'no'; 
     291                                        $show_descriptions = 'no'; 
     292?> 
    331293 
    332                                 ?> 
    333  
    334294                                <span class="checkboxes"> 
    335                                         <label><?php _e('Yes'); ?></label><input type="radio" name="menu-descriptions" value="yes" <?php if ($checked=='yes') { echo 'checked="checked"'; } ?> /> 
    336                                         <label><?php _e('No'); ?></label><input type="radio" name="menu-descriptions" value="no" <?php if ($checked=='yes') { } else { echo 'checked="checked"'; } ?> /> 
     295                                                <input type="radio" name="menu-descriptions" id="menu-descriptions-yes" value="yes" <?php checked( $show_descriptions, 'yes' ); ?> /> 
     296                                        <label for="menu-descriptions-yes"><?php _e('Yes'); ?></label> 
     297                                                &nbsp; 
     298                                                <input type="radio" name="menu-descriptions" id="menu-descriptions-no" value="no" <?php checked( $show_descriptions, 'no' ); ?> /> 
     299                                        <label for="menu-descriptions-no"><?php _e('No'); ?></label> 
    337300                                        </span><!-- /.checkboxes --> 
    338301                                </form> 
    339302                                        <div class="fix"></div> 
     
    364327                                        'number' => '', 
    365328                                        'offset' => 0 ); 
    366329 
    367                                         //GET all pages 
    368                                         $pages_array = get_pages($pages_args); 
     330                                        $pages_array = get_pages( $pages_args ); 
    369331                                        $page_name = ''; 
    370                                         //CHECK if pages exist 
    371332                                        if ( $pages_array ) { 
    372333                                                foreach ( $pages_array as $post ) { 
    373                                                         //Add page name to 
    374                                                         $page_name .= htmlentities($post->post_title).'|'; 
     334                                                        $page_name .= esc_html( $post->post_title ).'|'; 
    375335                                                } 
    376336                                        } else { 
    377337                                                $page_name = __('No pages available'); 
    378338                                        } 
    379  
    380                                         ?> 
    381  
    382                                         <script> 
     339?> 
     340                                        <script type="text/javascript"> 
    383341                                                jQuery(document).ready(function(){ 
    384342 
    385                                                         //GET PHP pages 
    386                                                 var dataposts = "<?php echo esc_js($page_name); ?>".split("|"); 
     343                                                var data_posts = "<?php echo esc_js($page_name); ?>".split("|"); 
    387344 
    388345                                                        //Set autocomplete 
    389                                                         jQuery("#page-search").autocomplete(dataposts); 
     346                                                        jQuery("#page-search").autocomplete(data_posts); 
    390347 
    391348                                                        //Handle autocomplete result 
    392349                                                        jQuery("#page-search").result(function(event, data, formatted) { 
     
    404361 
    405362                                        <input type="text" onfocus="jQuery('#page-search').attr('value','');" id="page-search" value="<?php esc_attr_e('Search Pages'); ?>" /> 
    406363 
    407                                         <a id="show-pages" style="cursor:pointer;" onclick="jQuery('#existing-pages').css('display','block');jQuery('#page-search').attr('value','');jQuery('#existing-pages dt').css('display','block');jQuery('#show-pages').hide();jQuery('#hide-pages').show();">View All</a> 
    408                                         <a id="hide-pages" style="cursor:pointer;" onclick="jQuery('#existing-pages').css('display','none');jQuery('#page-search').attr('value','Search Pages');jQuery('#existing-pages dt').css('display','none');jQuery('#show-pages').show();jQuery('#hide-pages').hide();">Hide All</a> 
     364                                        <a id="show-pages" style="cursor:pointer;" onclick="jQuery('#existing-pages').css('display','block');jQuery('#page-search').attr('value','');jQuery('#existing-pages dt').css('display','block');jQuery('#show-pages').hide();jQuery('#hide-pages').show();"><?php _e('View All'); ?></a> 
     365                                        <a id="hide-pages" style="cursor:pointer;" onclick="jQuery('#existing-pages').css('display','none');jQuery('#page-search').attr('value','Search Pages');jQuery('#existing-pages dt').css('display','none');jQuery('#show-pages').show();jQuery('#hide-pages').hide();"><?php _e('Hide All'); ?></a> 
    409366 
    410367                                        <script type="text/javascript"> 
    411  
    412368                                                jQuery('#hide-pages').hide(); 
    413  
    414369                                        </script> 
    415370 
    416371                                        <ul id="existing-pages" class="list"> 
    417372                                                <?php 
    418                                                         $intCounter = 0; 
    419                                                         //Get default Pages 
    420                                                         $intCounter = wp_custom_nav_get_pages($intCounter,'default'); 
     373                                                        $item_counter = 0; 
     374                                                        $item_counter = wp_custom_nav_get_pages( $item_counter, 'default' ); 
    421375                                                ?> 
    422376                                        </ul> 
    423  
    424377                                        <div class="fix"></div> 
    425378 
    426379                                </div> 
     
    433386                                </div> 
    434387                                <div class="widget-holder"> 
    435388 
    436                                         <?php 
     389<?php 
     390        // Custom GET categories query 
     391        // @todo Use API 
     392        $categories = $wpdb->get_results("SELECT term_id FROM $wpdb->term_taxonomy WHERE taxonomy = 'category' ORDER BY term_id ASC"); 
     393        $cat_name = ''; 
     394        //CHECK for results 
     395        if ( $categories ) { 
     396                foreach ( $categories as $category ) { 
     397                        $cat_id = $category->term_id; 
    437398 
    438                                         // Custom GET categories query 
    439                                         // @todo Use API 
    440                                         $categories = $wpdb->get_results("SELECT term_id FROM $wpdb->term_taxonomy WHERE taxonomy = 'category' ORDER BY term_id ASC"); 
    441                                         $cat_name = ''; 
    442                                         //CHECK for results 
    443                                         if ( $categories ) { 
    444                                                 foreach ( $categories as $category ) { 
    445                                                         $cat_id = $category->term_id; 
     399                        $cat_args = array( 
     400                                'orderby' => 'name', 
     401                                'include' => $cat_id, 
     402                                'hierarchical' => 1, 
     403                                'order' => 'ASC' 
     404                        ); 
     405                        $category_names = get_categories( $cat_args ); 
    446406 
    447                                                         $cat_args = array( 
    448                                                                 'orderby' => 'name', 
    449                                                                 'include' => $cat_id, 
    450                                                                 'hierarchical' => 1, 
    451                                                                 'order' => 'ASC' 
    452                                                         ); 
    453  
    454                                                         $category_names=get_categories($cat_args); 
    455  
    456                                                         if ( isset($category_names[0]->name) ) { 
    457                                                                 // Add category name to data string 
    458                                                                 $cat_name .= htmlentities($category_names[0]->name).'|'; 
    459                                                         } 
    460                                                 } 
    461                                         } else { 
    462                                                 $cat_name = __('No categories available'); 
    463                                         } 
    464  
    465                                         ?> 
    466  
    467                                         <script> 
     407                        if ( isset( $category_names[0]->name ) ) { 
     408                                $cat_name .= esc_html( $category_names[0]->name ).'|'; 
     409                        } 
     410                } 
     411        } else { 
     412                $cat_name = __('No categories available'); 
     413        } 
     414?> 
     415                                        <script type="text/javascript"> 
    468416                                                jQuery(document).ready(function(){ 
    469  
    470                                                         //GET PHP categories 
    471                                                 var datacats = "<?php echo esc_js($cat_name); ?>".split("|"); 
    472  
    473                                                         //Set autocomplete 
    474                                                         jQuery("#cat-search").autocomplete(datacats); 
    475  
    476                                                         //Handle autocomplete result 
     417                                                var data_cats = "<?php echo esc_js($cat_name); ?>".split("|"); 
     418                                                        jQuery("#cat-search").autocomplete(data_cats); 
    477419                                                        jQuery("#cat-search").result(function(event, data, formatted) { 
    478420                                                        jQuery('#existing-categories').css('display','block'); 
    479421                                                        jQuery("#existing-categories dt:contains('" + data + "')").css("display", "block"); 
     
    489431 
    490432                                        <input type="text" onfocus="jQuery('#cat-search').attr('value','');" id="cat-search" value="<?php esc_attr_e('Search Categories'); ?>" /> 
    491433 
    492                                         <a id="show-cats" style="cursor:pointer;" onclick="jQuery('#existing-categories').css('display','block');jQuery('#cat-search').attr('value','');jQuery('#existing-categories dt').css('display','block');jQuery('#show-cats').hide();jQuery('#hide-cats').show();">View All</a> 
    493                                         <a id="hide-cats" style="cursor:pointer;" onclick="jQuery('#existing-categories').css('display','none');jQuery('#cat-search').attr('value','Search Categories');jQuery('#existing-categories dt').css('display','none');jQuery('#show-cats').show();jQuery('#hide-cats').hide();">Hide All</a> 
     434                                        <a id="show-cats" style="cursor:pointer;" onclick="jQuery('#existing-categories').css('display','block');jQuery('#cat-search').attr('value','');jQuery('#existing-categories dt').css('display','block');jQuery('#show-cats').hide();jQuery('#hide-cats').show();"><?php _e('View All'); ?></a> 
     435                                        <a id="hide-cats" style="cursor:pointer;" onclick="jQuery('#existing-categories').css('display','none');jQuery('#cat-search').attr('value','Search Categories');jQuery('#existing-categories dt').css('display','none');jQuery('#show-cats').show();jQuery('#hide-cats').hide();"><?php _e('Hide All'); ?></a> 
    494436 
    495437                                        <script type="text/javascript"> 
    496  
    497438                                                jQuery('#hide-cats').hide(); 
    498  
    499439                                        </script> 
    500440 
    501441                                        <ul id="existing-categories" class="list"> 
    502                                 <?php 
    503                                                         // Get default Categories 
    504                                         $intCounter = wp_custom_nav_get_categories($intCounter, 'default'); 
    505                                                 ?> 
     442                                <?php $item_counter = wp_custom_nav_get_categories( $item_counter, 'default' ); ?> 
    506443                                </ul> 
    507  
    508444                                <div class="fix"></div> 
    509  
    510445                                </div> 
    511446                        </div><!-- /.widgets-holder-wrap --> 
    512447 
     
    518453                                <div class="widget-holder"> 
    519454                                        <input id="custom_menu_item_url" type="text" value="http://"  /> 
    520455                                        <label><?php _e('URL'); ?></label><br /> 
    521                                 <?php $templatedir = get_bloginfo('url'); ?> 
    522                         <input type="hidden" id="templatedir" value="<?php echo esc_attr($templatedir); ?>" /> 
     456                                <?php $template_dir = get_bloginfo('url'); ?> 
     457                        <input type="hidden" id="template_dir" value="<?php echo esc_attr($template_dir); ?>" /> 
    523458                        <input id="custom_menu_item_name" type="text" value="Menu Item" onfocus="jQuery('#custom_menu_item_name').attr('value','');"  /> 
    524459                        <label><?php _e('Menu Text'); ?></label><br /> 
    525460                                <input id="custom_menu_item_description" type="text" value="<?php esc_attr_e('A description'); ?>" <?php if ($advanced_option_descriptions == 'no') { ?>style="display:none;"<?php } ?> onfocus="jQuery('#custom_menu_item_description').attr('value','');" /> 
    526461                                <label <?php if ($advanced_option_descriptions == 'no') { ?>style="display:none;"<?php } ?> ><?php _e('Description'); ?></label> 
    527                                 <a class="addtomenu" onclick="appendToList('<?php echo $templatedir; ?>','Custom','','','','0','');jQuery('#custom_menu_item_name').attr('value','Menu Item');jQuery('#custom_menu_item_description').attr('value','A description');"><?php _e('Add to menu'); ?></a> 
     462                                <a class="addtomenu" onclick="appendToList('<?php echo $template_dir; ?>','Custom','','','','0','');jQuery('#custom_menu_item_name').attr('value','Menu Item');jQuery('#custom_menu_item_description').attr('value','A description');"><?php _e('Add to menu'); ?></a> 
    528463                                        <div class="fix"></div> 
    529464                                </div> 
    530465                        </div><!-- /.widgets-holder-wrap --> 
     
    552487<?php 
    553488} 
    554489 
    555 include("admin-footer.php"); 
     490include("admin-footer.php"); 
     491 No newline at end of file