Make WordPress Core


Ignore:
Timestamp:
05/31/2009 11:34:08 AM (16 years ago)
Author:
azaozz
Message:

Reload the widget form with the ajax response after save, add Close link to the widgets, don't auto-close on save to show possible errors returned from validation

File:
1 edited

Legend:

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

    r11450 r11498  
    12901290    $widget_id = $_POST['widget-id'];
    12911291    $sidebar_id = $_POST['sidebar'];
     1292    $multi_number = !empty($_POST['multi_number']) ? (int) $_POST['multi_number'] : 0;
     1293    $settings = isset($_POST['widget-' . $id_base]) && is_array($_POST['widget-' . $id_base]) ? $_POST['widget-' . $id_base] : false;
     1294    $error = '<p>' . __('An error has occured. Please reload the page and try again.') . '</p>';
    12921295
    12931296    $sidebars = wp_get_sidebars_widgets();
     
    12981301
    12991302        if ( !isset($wp_registered_widgets[$widget_id]) )
    1300             die('-1');
     1303            die($error);
    13011304
    13021305        $sidebar = array_diff( $sidebar, array($widget_id) );
    13031306        $_POST = array('sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1');
     1307    } elseif ( $settings && preg_match( '/__i__|%i%/', key($settings) ) ) {
     1308        if ( !$multi_number )
     1309            die($error);
     1310
     1311        $_POST['widget-' . $id_base] = array( $multi_number => array_shift($settings) );
     1312        $widget_id = $id_base . '-' . $multi_number;
     1313        $sidebar[] = $widget_id;
    13041314    }
    13051315    $_POST['widget-id'] = $sidebar;
     
    13251335    }
    13261336
    1327     die('1');
     1337    if ( !empty($_POST['add_new']) )
     1338        die();
     1339
     1340    if ( $form = $wp_registered_widget_controls[$widget_id] )
     1341        call_user_func_array( $form['callback'], $form['params'] );
     1342
     1343    die();
    13281344    break;
    13291345default :
Note: See TracChangeset for help on using the changeset viewer.