X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/4f4e083f6f77639c41e2b1ddb200de8e34301cee..3194d1bb103c2d8db4f44feeced5e58ee2756658:/wp-admin/includes/widgets.php diff --git a/wp-admin/includes/widgets.php b/wp-admin/includes/widgets.php index d6d930da..746a8927 100644 --- a/wp-admin/includes/widgets.php +++ b/wp-admin/includes/widgets.php @@ -7,20 +7,18 @@ */ /** - * Display list of the available widgets, either all or matching search. + * Display list of the available widgets. * - * The search parameter are search terms separated by spaces. + * @since 2.5.0 * - * @since unknown - * - * @param string $show Optional, default is all. What to display, can be 'all', 'unused', or 'used'. - * @param string $_search Optional. Search for widgets. Should be unsanitized. + * @global array $wp_registered_widgets + * @global array $wp_registered_widget_controls */ function wp_list_widgets() { - global $wp_registered_widgets, $sidebars_widgets, $wp_registered_widget_controls; + global $wp_registered_widgets, $wp_registered_widget_controls; $sort = $wp_registered_widgets; - usort( $sort, create_function( '$a, $b', 'return strnatcasecmp( $a["name"], $b["name"] );' ) ); + usort( $sort, '_sort_name_callback' ); $done = array(); foreach ( $sort as $widget ) { @@ -52,24 +50,63 @@ function wp_list_widgets() { } /** - * {@internal Missing Short Description}} + * Callback to sort array by a 'name' key. + * + * @since 3.1.0 + * @access private + * + * @return int + */ +function _sort_name_callback( $a, $b ) { + return strnatcasecmp( $a['name'], $b['name'] ); +} + +/** + * Show the widgets and their settings for a sidebar. + * Used in the admin widget config screen. * - * @since unknown + * @since 2.5.0 * - * @param string $sidebar + * @param string $sidebar Sidebar ID. + * @param string $sidebar_name Optional. Sidebar name. Default empty. */ -function wp_list_widget_controls( $sidebar ) { +function wp_list_widget_controls( $sidebar, $sidebar_name = '' ) { add_filter( 'dynamic_sidebar_params', 'wp_list_widget_controls_dynamic_sidebar' ); - echo "\t
\n"; + $description = wp_sidebar_description( $sidebar ); + + echo '
'; + + if ( $sidebar_name ) { + ?> + + + + \n"; + + echo '
'; } /** - * {@internal Missing Short Description}} + * Retrieves the widget control arguments. * - * @since unknown + * @since 2.5.0 + * + * @global array $wp_registered_widgets + * + * @staticvar int $i * * @param array $params * @return array @@ -83,7 +120,7 @@ function wp_list_widget_controls_dynamic_sidebar( $params ) { $id = isset($params[0]['_temp_id']) ? $params[0]['_temp_id'] : $widget_id; $hidden = isset($params[0]['_hide']) ? ' style="display:none;"' : ''; - $params[0]['before_widget'] = "
"; + $params[0]['before_widget'] = "
"; $params[0]['after_widget'] = "
"; $params[0]['before_title'] = "%BEG_OF_TITLE%"; // deprecated $params[0]['after_title'] = "%END_OF_TITLE%"; // deprecated @@ -95,7 +132,14 @@ function wp_list_widget_controls_dynamic_sidebar( $params ) { return $params; } -function next_widget_id_number($id_base) { +/** + * + * @global array $wp_registered_widgets + * + * @param string $id_base + * @return int + */ +function next_widget_id_number( $id_base ) { global $wp_registered_widgets; $number = 1; @@ -113,7 +157,11 @@ function next_widget_id_number($id_base) { * * Called from dynamic_sidebar(). * - * @since unknown + * @since 2.5.0 + * + * @global array $wp_registered_widgets + * @global array $wp_registered_widget_controls + * @global array $sidebars_widgets * * @param array $sidebar_args * @return array @@ -133,6 +181,11 @@ function wp_widget_control( $sidebar_args ) { $multi_number = isset($sidebar_args['_multi_num']) ? $sidebar_args['_multi_num'] : ''; $add_new = isset($sidebar_args['_add']) ? $sidebar_args['_add'] : ''; + $before_form = isset( $sidebar_args['before_form'] ) ? $sidebar_args['before_form'] : '
'; + $after_form = isset( $sidebar_args['after_form'] ) ? $sidebar_args['after_form'] : '
'; + $before_widget_content = isset( $sidebar_args['before_widget_content'] ) ? $sidebar_args['before_widget_content'] : '
'; + $after_widget_content = isset( $sidebar_args['after_widget_content'] ) ? $sidebar_args['after_widget_content'] : '
'; + $query_arg = array( 'editwidget' => $widget['id'] ); if ( $add_new ) { $query_arg['addnew'] = 1; @@ -145,11 +198,14 @@ function wp_widget_control( $sidebar_args ) { $query_arg['key'] = $key; } - // We aren't showing a widget control, we're outputing a template for a mult-widget control + /* + * We aren't showing a widget control, we're outputting a template + * for a multi-widget control. + */ if ( isset($sidebar_args['_display']) && 'template' == $sidebar_args['_display'] && $widget_number ) { // number == -1 implies a template where id numbers are replaced by a generic '__i__' $control['params'][0]['number'] = -1; - // with id_base widget id's are constructed like {$id_base}-{$id_number} + // With id_base widget id's are constructed like {$id_base}-{$id_number}. if ( isset($control['id_base']) ) $id_format = $control['id_base'] . '-__i__'; } @@ -164,40 +220,46 @@ function wp_widget_control( $sidebar_args ) {
-

+

-
-
- + + " . __('There are no options for this widget.') . "

\n"; ?> -
+ } else { + echo "\t\t

" . __('There are no options for this widget.') . "

\n"; + } + ?> + - - + +
- | + |
- - + 'widget-' . esc_attr( $id_format ) . '-savewidget' ) ); ?> +

-
+
@@ -205,6 +267,15 @@ function wp_widget_control( $sidebar_args ) {