WordPress.org

Make WordPress Core

Ticket #13378: 13378.nonce.diff

File 13378.nonce.diff, 2.0 KB (added by koopersmith, 8 years ago)
  • wp-admin/admin-ajax.php

     
    11061106case 'menu-locations-save':
    11071107        if ( ! current_user_can( 'edit_theme_options' ) )
    11081108                die('-1');
     1109        check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
    11091110        if ( ! isset( $_POST['menu-locations' ] ) )
    11101111                die('0');
    11111112        set_theme_mod( 'nav_menu_locations', $_POST['menu-locations'] );
  • wp-admin/js/nav-menu.dev.js

     
    3434                        this.setupInputWithDefaultTitle();
    3535                        this.attachAddMenuItemListeners();
    3636                        this.attachQuickSearchListeners();
     37                        this.attachThemeLocationsListeners();
    3738
    3839                        this.attachTabsPanelListeners();
    3940
     
    329330                },
    330331
    331332                attachAddMenuItemListeners : function() {
    332                         var form = $('#nav-menu-meta'), loc = form.find('#nav-menu-theme-locations');
     333                        var form = $('#nav-menu-meta');
    333334               
    334335                        form.find('.add-to-menu input').click(function(){
    335336                                $(this).trigger('wp-add-menu-item', [api.addMenuItemToBottom]);
     
    341342                        form.find('.posttypediv, .taxonomydiv').bind('wp-add-menu-item', function(e, processMethod) {
    342343                                $(this).addSelectedToMenu( processMethod );
    343344                        });
     345                },
     346               
     347                attachThemeLocationsListeners : function() {
     348                        var loc = $('#nav-menu-theme-locations'),
     349                        params = {
     350                                'action': 'menu-locations-save',
     351                                'menu-locations': loc.find('select').serialize(),
     352                                'menu-settings-column-nonce': $('#menu-settings-column-nonce').val()
     353                        };
    344354                        loc.find('input[type=submit]').click(function() {
    345355                                loc.find('.waiting').show();
    346                                 $.post( ajaxurl, loc.find('select').serialize() + '&action=menu-locations-save', function(r) {
     356                                $.post( ajaxurl, params, function(r) {
    347357                                        loc.find('.waiting').hide();
    348358                                });
    349359                                return false;