WordPress.org

Make WordPress Core


Ignore:
Timestamp:
04/13/2009 04:20:58 PM (11 years ago)
Author:
azaozz
Message:

Widgets: open when adding, clean-up AJAX calls, slower animation/less jumping in IE, see #9511

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin-ajax.php

    r10917 r10922  
    12781278
    12791279    unset( $_POST['savewidgets'], $_POST['action'] );
    1280     $sidebars_widgets = array('array_version' => 3);
    1281 
    1282     foreach ( $_POST as $key => $val ) {
    1283         if ( preg_match( '/^(wp_inactive_widgets|sidebar-[0-9]+)$/', $key ) ) {
    1284             if ( preg_match( '/^[0-9a-z,_-]+$/i', $val ) ) {
     1280
     1281    // save widgets order for all sidebars
     1282    if ( is_array($_POST['sidebars']) ) {
     1283        $sidebars = array();
     1284        foreach ( $_POST['sidebars'] as $key => $val ) {
     1285            $sb = array();
     1286            if ( !empty($val) ) {
    12851287                $val = explode(',', $val);
    1286 
    12871288                foreach ( $val as $k => $v ) {
    1288                     $val[$k] = substr($v, strpos($v, '_') + 1);
     1289                    if ( strpos($v, 'widget-') === false )
     1290                        continue;
     1291
     1292                    $sb[$k] = substr($v, strpos($v, '_') + 1);
    12891293                }
    1290             } elseif ( '' == $val ) {
    1291                 $val = array();
    1292             } else {
    1293                 die('-1');
    12941294            }
    1295 
    1296             $sidebars_widgets[$key] = $val;
    1297         }
    1298     }
    1299 
    1300     wp_set_sidebars_widgets($sidebars_widgets);
    1301 
    1302     die('1');
     1295            $sidebars[$key] = $sb;
     1296        }
     1297        wp_set_sidebars_widgets($sidebars);
     1298        die('1');
     1299    }
     1300
     1301    die('-1');
    13031302    break;
    13041303case 'save-widget' :
    13051304    check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
    13061305
    1307     if ( !current_user_can('switch_themes') )
     1306    if ( !current_user_can('switch_themes') || !isset($_POST['id_base']) )
    13081307        die('-1');
    13091308
    13101309    unset( $_POST['savewidgets'], $_POST['action'] );
    13111310
     1311    $id_base = $_POST['id_base'];
    13121312    $number = isset($_POST['widget_number']) ? $_POST['widget_number'] : '';
    1313     if ( isset($_POST['id_base']) )
    1314         $id_base = $_POST['id_base'];
    1315     else
    1316         die('-1');
    1317 
    1318     $sidebar_id = (string) $_POST['sidebar'];
     1313    $sidebar_id = $_POST['sidebar'];
    13191314    $sidebars = wp_get_sidebars_widgets();
    13201315    $sidebar = isset($sidebars[$sidebar_id]) ? $sidebars[$sidebar_id] : array();
Note: See TracChangeset for help on using the changeset viewer.