diff -r a4642baaf829 -r 4d4862461b8d web/wp-admin/widgets.php
--- a/web/wp-admin/widgets.php Tue Feb 02 14:45:47 2010 +0000
+++ b/web/wp-admin/widgets.php Tue Feb 02 15:44:16 2010 +0000
@@ -1,392 +1,396 @@
- __('Inactive Widgets'),
- 'id' => 'wp_inactive_widgets',
- 'before_widget' => '',
- 'after_widget' => '',
- 'before_title' => '',
- 'after_title' => '',
-));
-
-// These are the widgets grouped by sidebar
-$sidebars_widgets = wp_get_sidebars_widgets();
-if ( empty( $sidebars_widgets ) )
- $sidebars_widgets = wp_get_widget_defaults();
-
-// look for "lost" widgets, this has to run at least on each theme change
-function retrieve_widgets() {
- global $wp_registered_widget_updates, $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets;
-
- $_sidebars_widgets = array();
- $sidebars = array_keys($wp_registered_sidebars);
-
- unset( $sidebars_widgets['array_version'] );
-
- $old = array_keys($sidebars_widgets);
- sort($old);
- sort($sidebars);
-
- if ( $old == $sidebars )
- return;
-
- // Move the known-good ones first
- foreach ( $sidebars as $id ) {
- if ( array_key_exists( $id, $sidebars_widgets ) ) {
- $_sidebars_widgets[$id] = $sidebars_widgets[$id];
- unset($sidebars_widgets[$id], $sidebars[$id]);
- }
- }
-
- // if new theme has less sidebars than the old theme
- if ( !empty($sidebars_widgets) ) {
- foreach ( $sidebars_widgets as $lost => $val ) {
- if ( is_array($val) )
- $_sidebars_widgets['wp_inactive_widgets'] = array_merge( (array) $_sidebars_widgets['wp_inactive_widgets'], $val );
- }
- }
-
- // discard invalid, theme-specific widgets from sidebars
- $shown_widgets = array();
- foreach ( $_sidebars_widgets as $sidebar => $widgets ) {
- if ( !is_array($widgets) )
- continue;
-
- $_widgets = array();
- foreach ( $widgets as $widget ) {
- if ( isset($wp_registered_widgets[$widget]) )
- $_widgets[] = $widget;
- }
- $_sidebars_widgets[$sidebar] = $_widgets;
- $shown_widgets = array_merge($shown_widgets, $_widgets);
- }
-
- $sidebars_widgets = $_sidebars_widgets;
- unset($_sidebars_widgets, $_widgets);
-
- // find hidden/lost multi-widget instances
- $lost_widgets = array();
- foreach ( $wp_registered_widgets as $key => $val ) {
- if ( in_array($key, $shown_widgets, true) )
- continue;
-
- $number = preg_replace('/.+?-([0-9]+)$/', '$1', $key);
-
- if ( 2 > (int) $number )
- continue;
-
- $lost_widgets[] = $key;
- }
-
- $sidebars_widgets['wp_inactive_widgets'] = array_merge($lost_widgets, (array) $sidebars_widgets['wp_inactive_widgets']);
- wp_set_sidebars_widgets($sidebars_widgets);
-}
-retrieve_widgets();
-
-if ( count($wp_registered_sidebars) == 1 ) {
- // If only "wp_inactive_widgets" is defined the theme has no sidebars, die.
- require_once( 'admin-header.php' );
-?>
-
-
-
-
-
-
follow these instructions.' ); ?>
-
-
- $val ) {
- if ( is_array($val) && preg_match('/__i__|%i%/', key($val)) ) {
- $_POST[$key] = array( $number => array_shift($val) );
- break;
- }
- }
- }
-
- $sidebar_id = $_POST['sidebar'];
- $position = isset($_POST[$sidebar_id . '_position']) ? (int) $_POST[$sidebar_id . '_position'] - 1 : 0;
-
- $id_base = $_POST['id_base'];
- $sidebar = isset($sidebars_widgets[$sidebar_id]) ? $sidebars_widgets[$sidebar_id] : array();
-
- // delete
- if ( isset($_POST['removewidget']) && $_POST['removewidget'] ) {
-
- if ( !in_array($widget_id, $sidebar, true) ) {
- wp_redirect('widgets.php?error=0');
- exit;
- }
-
- $sidebar = array_diff( $sidebar, array($widget_id) );
- $_POST = array('sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1');
- }
-
- $_POST['widget-id'] = $sidebar;
-
- foreach ( (array) $wp_registered_widget_updates as $name => $control ) {
- if ( $name != $id_base || !is_callable($control['callback']) )
- continue;
-
- ob_start();
- call_user_func_array( $control['callback'], $control['params'] );
- ob_end_clean();
-
- break;
- }
-
- $sidebars_widgets[$sidebar_id] = $sidebar;
-
- // remove old position
- if ( !isset($_POST['delete_widget']) ) {
- foreach ( $sidebars_widgets as $key => $sb ) {
- if ( is_array($sb) )
- $sidebars_widgets[$key] = array_diff( $sb, array($widget_id) );
- }
- array_splice( $sidebars_widgets[$sidebar_id], $position, 0, $widget_id );
- }
-
- wp_set_sidebars_widgets($sidebars_widgets);
- wp_redirect('widgets.php?message=0');
- exit;
-}
-
-// Output the widget form without js
-if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
- $widget_id = $_GET['editwidget'];
-
- if ( isset($_GET['addnew']) ) {
- // Default to the first sidebar
- $sidebar = array_shift( $keys = array_keys($wp_registered_sidebars) );
-
- if ( isset($_GET['base']) && isset($_GET['num']) ) { // multi-widget
- // Copy minimal info from an existing instance of this widget to a new instance
- foreach ( $wp_registered_widget_controls as $control ) {
- if ( $_GET['base'] === $control['id_base'] ) {
- $control_callback = $control['callback'];
- $multi_number = (int) $_GET['num'];
- $control['params'][0]['number'] = -1;
- $widget_id = $control['id'] = $control['id_base'] . '-' . $multi_number;
- $wp_registered_widget_controls[$control['id']] = $control;
- break;
- }
- }
- }
- }
-
- if ( isset($wp_registered_widget_controls[$widget_id]) && !isset($control) ) {
- $control = $wp_registered_widget_controls[$widget_id];
- $control_callback = $control['callback'];
- } elseif ( !isset($wp_registered_widget_controls[$widget_id]) && isset($wp_registered_widgets[$widget_id]) ) {
- $name = esc_html( strip_tags($wp_registered_widgets[$widget_id]['name']) );
- }
-
- if ( !isset($name) )
- $name = esc_html( strip_tags($control['name']) );
-
- if ( !isset($sidebar) )
- $sidebar = isset($_GET['sidebar']) ? $_GET['sidebar'] : 'wp_inactive_widgets';
-
- if ( !isset($multi_number) )
- $multi_number = isset($control['params'][0]['number']) ? $control['params'][0]['number'] : '';
-
- $id_base = isset($control['id_base']) ? $control['id_base'] : $control['id'];
-
- // show the widget form
- $width = ' style="width:' . max($control['width'], 350) . 'px"';
- $key = isset($_GET['key']) ? (int) $_GET['key'] : 0;
-
- require_once( 'admin-header.php' ); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- __('Inactive Widgets'),
+ 'id' => 'wp_inactive_widgets',
+ 'description' => '',
+ 'before_widget' => '',
+ 'after_widget' => '',
+ 'before_title' => '',
+ 'after_title' => '',
+));
+
+// These are the widgets grouped by sidebar
+$sidebars_widgets = wp_get_sidebars_widgets();
+if ( empty( $sidebars_widgets ) )
+ $sidebars_widgets = wp_get_widget_defaults();
+
+// look for "lost" widgets, this has to run at least on each theme change
+function retrieve_widgets() {
+ global $wp_registered_widget_updates, $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets;
+
+ $_sidebars_widgets = array();
+ $sidebars = array_keys($wp_registered_sidebars);
+
+ unset( $sidebars_widgets['array_version'] );
+
+ $old = array_keys($sidebars_widgets);
+ sort($old);
+ sort($sidebars);
+
+ if ( $old == $sidebars )
+ return;
+
+ // Move the known-good ones first
+ foreach ( $sidebars as $id ) {
+ if ( array_key_exists( $id, $sidebars_widgets ) ) {
+ $_sidebars_widgets[$id] = $sidebars_widgets[$id];
+ unset($sidebars_widgets[$id], $sidebars[$id]);
+ }
+ }
+
+ // if new theme has less sidebars than the old theme
+ if ( !empty($sidebars_widgets) ) {
+ foreach ( $sidebars_widgets as $lost => $val ) {
+ if ( is_array($val) )
+ $_sidebars_widgets['wp_inactive_widgets'] = array_merge( (array) $_sidebars_widgets['wp_inactive_widgets'], $val );
+ }
+ }
+
+ // discard invalid, theme-specific widgets from sidebars
+ $shown_widgets = array();
+ foreach ( $_sidebars_widgets as $sidebar => $widgets ) {
+ if ( !is_array($widgets) )
+ continue;
+
+ $_widgets = array();
+ foreach ( $widgets as $widget ) {
+ if ( isset($wp_registered_widgets[$widget]) )
+ $_widgets[] = $widget;
+ }
+ $_sidebars_widgets[$sidebar] = $_widgets;
+ $shown_widgets = array_merge($shown_widgets, $_widgets);
+ }
+
+ $sidebars_widgets = $_sidebars_widgets;
+ unset($_sidebars_widgets, $_widgets);
+
+ // find hidden/lost multi-widget instances
+ $lost_widgets = array();
+ foreach ( $wp_registered_widgets as $key => $val ) {
+ if ( in_array($key, $shown_widgets, true) )
+ continue;
+
+ $number = preg_replace('/.+?-([0-9]+)$/', '$1', $key);
+
+ if ( 2 > (int) $number )
+ continue;
+
+ $lost_widgets[] = $key;
+ }
+
+ $sidebars_widgets['wp_inactive_widgets'] = array_merge($lost_widgets, (array) $sidebars_widgets['wp_inactive_widgets']);
+ wp_set_sidebars_widgets($sidebars_widgets);
+}
+retrieve_widgets();
+
+if ( count($wp_registered_sidebars) == 1 ) {
+ // If only "wp_inactive_widgets" is defined the theme has no sidebars, die.
+ require_once( 'admin-header.php' );
+?>
+
+
+
+
+
+
follow these instructions.' ); ?>
+
+
+ $val ) {
+ if ( is_array($val) && preg_match('/__i__|%i%/', key($val)) ) {
+ $_POST[$key] = array( $number => array_shift($val) );
+ break;
+ }
+ }
+ }
+
+ $sidebar_id = $_POST['sidebar'];
+ $position = isset($_POST[$sidebar_id . '_position']) ? (int) $_POST[$sidebar_id . '_position'] - 1 : 0;
+
+ $id_base = $_POST['id_base'];
+ $sidebar = isset($sidebars_widgets[$sidebar_id]) ? $sidebars_widgets[$sidebar_id] : array();
+
+ // delete
+ if ( isset($_POST['removewidget']) && $_POST['removewidget'] ) {
+
+ if ( !in_array($widget_id, $sidebar, true) ) {
+ wp_redirect('widgets.php?error=0');
+ exit;
+ }
+
+ $sidebar = array_diff( $sidebar, array($widget_id) );
+ $_POST = array('sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1');
+ }
+
+ $_POST['widget-id'] = $sidebar;
+
+ foreach ( (array) $wp_registered_widget_updates as $name => $control ) {
+ if ( $name != $id_base || !is_callable($control['callback']) )
+ continue;
+
+ ob_start();
+ call_user_func_array( $control['callback'], $control['params'] );
+ ob_end_clean();
+
+ break;
+ }
+
+ $sidebars_widgets[$sidebar_id] = $sidebar;
+
+ // remove old position
+ if ( !isset($_POST['delete_widget']) ) {
+ foreach ( $sidebars_widgets as $key => $sb ) {
+ if ( is_array($sb) )
+ $sidebars_widgets[$key] = array_diff( $sb, array($widget_id) );
+ }
+ array_splice( $sidebars_widgets[$sidebar_id], $position, 0, $widget_id );
+ }
+
+ wp_set_sidebars_widgets($sidebars_widgets);
+ wp_redirect('widgets.php?message=0');
+ exit;
+}
+
+// Output the widget form without js
+if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
+ $widget_id = $_GET['editwidget'];
+
+ if ( isset($_GET['addnew']) ) {
+ // Default to the first sidebar
+ $sidebar = array_shift( $keys = array_keys($wp_registered_sidebars) );
+
+ if ( isset($_GET['base']) && isset($_GET['num']) ) { // multi-widget
+ // Copy minimal info from an existing instance of this widget to a new instance
+ foreach ( $wp_registered_widget_controls as $control ) {
+ if ( $_GET['base'] === $control['id_base'] ) {
+ $control_callback = $control['callback'];
+ $multi_number = (int) $_GET['num'];
+ $control['params'][0]['number'] = -1;
+ $widget_id = $control['id'] = $control['id_base'] . '-' . $multi_number;
+ $wp_registered_widget_controls[$control['id']] = $control;
+ break;
+ }
+ }
+ }
+ }
+
+ if ( isset($wp_registered_widget_controls[$widget_id]) && !isset($control) ) {
+ $control = $wp_registered_widget_controls[$widget_id];
+ $control_callback = $control['callback'];
+ } elseif ( !isset($wp_registered_widget_controls[$widget_id]) && isset($wp_registered_widgets[$widget_id]) ) {
+ $name = esc_html( strip_tags($wp_registered_widgets[$widget_id]['name']) );
+ }
+
+ if ( !isset($name) )
+ $name = esc_html( strip_tags($control['name']) );
+
+ if ( !isset($sidebar) )
+ $sidebar = isset($_GET['sidebar']) ? $_GET['sidebar'] : 'wp_inactive_widgets';
+
+ if ( !isset($multi_number) )
+ $multi_number = isset($control['params'][0]['number']) ? $control['params'][0]['number'] : '';
+
+ $id_base = isset($control['id_base']) ? $control['id_base'] : $control['id'];
+
+ // show the widget form
+ $width = ' style="width:' . max($control['width'], 350) . 'px"';
+ $key = isset($_GET['key']) ? (int) $_GET['key'] : 0;
+
+ require_once( 'admin-header.php' ); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+