WordPress.org

Make WordPress Core

Ticket #11817: custom-navigation-cleanup.diff

File custom-navigation-cleanup.diff, 25.1 KB (added by nbachiyski, 11 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