Ticket #13378: 13378.nonce.diff

File 13378.nonce.diff, 2.0 KB (added by koopersmith, 3 years ago)
Line 
1Index: wp-admin/admin-ajax.php
2===================================================================
3--- wp-admin/admin-ajax.php     (revision 14722)
4+++ wp-admin/admin-ajax.php     (working copy)
5@@ -1106,6 +1106,7 @@
6 case 'menu-locations-save':
7        if ( ! current_user_can( 'edit_theme_options' ) )
8                die('-1');
9+       check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
10        if ( ! isset( $_POST['menu-locations' ] ) )
11                die('0');
12        set_theme_mod( 'nav_menu_locations', $_POST['menu-locations'] );
13Index: wp-admin/js/nav-menu.dev.js
14===================================================================
15--- wp-admin/js/nav-menu.dev.js (revision 14722)
16+++ wp-admin/js/nav-menu.dev.js (working copy)
17@@ -34,6 +34,7 @@
18                        this.setupInputWithDefaultTitle();
19                        this.attachAddMenuItemListeners();
20                        this.attachQuickSearchListeners();
21+                       this.attachThemeLocationsListeners();
22 
23                        this.attachTabsPanelListeners();
24 
25@@ -329,7 +330,7 @@
26                },
27 
28                attachAddMenuItemListeners : function() {
29-                       var form = $('#nav-menu-meta'), loc = form.find('#nav-menu-theme-locations');
30+                       var form = $('#nav-menu-meta');
31               
32                        form.find('.add-to-menu input').click(function(){
33                                $(this).trigger('wp-add-menu-item', [api.addMenuItemToBottom]);
34@@ -341,9 +342,18 @@
35                        form.find('.posttypediv, .taxonomydiv').bind('wp-add-menu-item', function(e, processMethod) {
36                                $(this).addSelectedToMenu( processMethod );
37                        });
38+               },
39+               
40+               attachThemeLocationsListeners : function() {
41+                       var loc = $('#nav-menu-theme-locations'),
42+                       params = {
43+                               'action': 'menu-locations-save',
44+                               'menu-locations': loc.find('select').serialize(),
45+                               'menu-settings-column-nonce': $('#menu-settings-column-nonce').val()
46+                       };
47                        loc.find('input[type=submit]').click(function() {
48                                loc.find('.waiting').show();
49-                               $.post( ajaxurl, loc.find('select').serialize() + '&action=menu-locations-save', function(r) {
50+                               $.post( ajaxurl, params, function(r) {
51                                        loc.find('.waiting').hide();
52                                });
53                                return false;