Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (8 years ago)
Author:
pento
Message:

Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/widgets.php

    r42217 r42343  
    2323
    2424    foreach ( $sort as $widget ) {
    25         if ( in_array( $widget['callback'], $done, true ) ) // We already showed this multi-widget
     25        if ( in_array( $widget['callback'], $done, true ) ) { // We already showed this multi-widget
    2626            continue;
     27        }
    2728
    2829        $sidebar = is_active_widget( $widget['callback'], $widget['id'], false, false );
    29         $done[] = $widget['callback'];
    30 
    31         if ( ! isset( $widget['params'][0] ) )
     30        $done[]  = $widget['callback'];
     31
     32        if ( ! isset( $widget['params'][0] ) ) {
    3233            $widget['params'][0] = array();
    33 
    34         $args = array( 'widget_id' => $widget['id'], 'widget_name' => $widget['name'], '_display' => 'template' );
    35 
    36         if ( isset($wp_registered_widget_controls[$widget['id']]['id_base']) && isset($widget['params'][0]['number']) ) {
    37             $id_base = $wp_registered_widget_controls[$widget['id']]['id_base'];
    38             $args['_temp_id'] = "$id_base-__i__";
    39             $args['_multi_num'] = next_widget_id_number($id_base);
    40             $args['_add'] = 'multi';
     34        }
     35
     36        $args = array(
     37            'widget_id'   => $widget['id'],
     38            'widget_name' => $widget['name'],
     39            '_display'    => 'template',
     40        );
     41
     42        if ( isset( $wp_registered_widget_controls[ $widget['id'] ]['id_base'] ) && isset( $widget['params'][0]['number'] ) ) {
     43            $id_base            = $wp_registered_widget_controls[ $widget['id'] ]['id_base'];
     44            $args['_temp_id']   = "$id_base-__i__";
     45            $args['_multi_num'] = next_widget_id_number( $id_base );
     46            $args['_add']       = 'multi';
    4147        } else {
    4248            $args['_add'] = 'single';
    43             if ( $sidebar )
     49            if ( $sidebar ) {
    4450                $args['_hide'] = '1';
    45         }
    46 
    47         $args = wp_list_widget_controls_dynamic_sidebar( array( 0 => $args, 1 => $widget['params'][0] ) );
     51            }
     52        }
     53
     54        $args = wp_list_widget_controls_dynamic_sidebar(
     55            array(
     56                0 => $args,
     57                1 => $widget['params'][0],
     58            )
     59        );
    4860        call_user_func_array( 'wp_widget_control', $args );
    4961    }
     
    121133
    122134    $widget_id = $params[0]['widget_id'];
    123     $id = isset($params[0]['_temp_id']) ? $params[0]['_temp_id'] : $widget_id;
    124     $hidden = isset($params[0]['_hide']) ? ' style="display:none;"' : '';
     135    $id        = isset( $params[0]['_temp_id'] ) ? $params[0]['_temp_id'] : $widget_id;
     136    $hidden    = isset( $params[0]['_hide'] ) ? ' style="display:none;"' : '';
    125137
    126138    $params[0]['before_widget'] = "<div id='widget-{$i}_{$id}' class='widget'$hidden>";
    127     $params[0]['after_widget'] = "</div>";
    128     $params[0]['before_title'] = "%BEG_OF_TITLE%"; // deprecated
    129     $params[0]['after_title'] = "%END_OF_TITLE%"; // deprecated
    130     if ( is_callable( $wp_registered_widgets[$widget_id]['callback'] ) ) {
    131         $wp_registered_widgets[$widget_id]['_callback'] = $wp_registered_widgets[$widget_id]['callback'];
    132         $wp_registered_widgets[$widget_id]['callback'] = 'wp_widget_control';
     139    $params[0]['after_widget']  = '</div>';
     140    $params[0]['before_title']  = '%BEG_OF_TITLE%'; // deprecated
     141    $params[0]['after_title']   = '%END_OF_TITLE%'; // deprecated
     142    if ( is_callable( $wp_registered_widgets[ $widget_id ]['callback'] ) ) {
     143        $wp_registered_widgets[ $widget_id ]['_callback'] = $wp_registered_widgets[ $widget_id ]['callback'];
     144        $wp_registered_widgets[ $widget_id ]['callback'] = 'wp_widget_control';
    133145    }
    134146
     
    137149
    138150/**
    139  *
    140151 * @global array $wp_registered_widgets
    141152 *
     
    148159
    149160    foreach ( $wp_registered_widgets as $widget_id => $widget ) {
    150         if ( preg_match( '/' . $id_base . '-([0-9]+)$/', $widget_id, $matches ) )
    151             $number = max($number, $matches[1]);
     161        if ( preg_match( '/' . $id_base . '-([0-9]+)$/', $widget_id, $matches ) ) {
     162            $number = max( $number, $matches[1] );
     163        }
    152164    }
    153165    $number++;
     
    173185    global $wp_registered_widgets, $wp_registered_widget_controls, $sidebars_widgets;
    174186
    175     $widget_id = $sidebar_args['widget_id'];
    176     $sidebar_id = isset($sidebar_args['id']) ? $sidebar_args['id'] : false;
    177     $key = $sidebar_id ? array_search( $widget_id, $sidebars_widgets[$sidebar_id] ) : '-1'; // position of widget in sidebar
    178     $control = isset($wp_registered_widget_controls[$widget_id]) ? $wp_registered_widget_controls[$widget_id] : array();
    179     $widget = $wp_registered_widgets[$widget_id];
    180 
    181     $id_format = $widget['id'];
    182     $widget_number = isset($control['params'][0]['number']) ? $control['params'][0]['number'] : '';
    183     $id_base = isset($control['id_base']) ? $control['id_base'] : $widget_id;
    184     $width = isset($control['width']) ? $control['width'] : '';
    185     $height = isset($control['height']) ? $control['height'] : '';
    186     $multi_number = isset($sidebar_args['_multi_num']) ? $sidebar_args['_multi_num'] : '';
    187     $add_new = isset($sidebar_args['_add']) ? $sidebar_args['_add'] : '';
    188 
    189     $before_form = isset( $sidebar_args['before_form'] ) ? $sidebar_args['before_form'] : '<form method="post">';
    190     $after_form = isset( $sidebar_args['after_form'] ) ? $sidebar_args['after_form'] : '</form>';
     187    $widget_id  = $sidebar_args['widget_id'];
     188    $sidebar_id = isset( $sidebar_args['id'] ) ? $sidebar_args['id'] : false;
     189    $key        = $sidebar_id ? array_search( $widget_id, $sidebars_widgets[ $sidebar_id ] ) : '-1'; // position of widget in sidebar
     190    $control    = isset( $wp_registered_widget_controls[ $widget_id ] ) ? $wp_registered_widget_controls[ $widget_id ] : array();
     191    $widget     = $wp_registered_widgets[ $widget_id ];
     192
     193    $id_format     = $widget['id'];
     194    $widget_number = isset( $control['params'][0]['number'] ) ? $control['params'][0]['number'] : '';
     195    $id_base       = isset( $control['id_base'] ) ? $control['id_base'] : $widget_id;
     196    $width         = isset( $control['width'] ) ? $control['width'] : '';
     197    $height        = isset( $control['height'] ) ? $control['height'] : '';
     198    $multi_number  = isset( $sidebar_args['_multi_num'] ) ? $sidebar_args['_multi_num'] : '';
     199    $add_new       = isset( $sidebar_args['_add'] ) ? $sidebar_args['_add'] : '';
     200
     201    $before_form           = isset( $sidebar_args['before_form'] ) ? $sidebar_args['before_form'] : '<form method="post">';
     202    $after_form            = isset( $sidebar_args['after_form'] ) ? $sidebar_args['after_form'] : '</form>';
    191203    $before_widget_content = isset( $sidebar_args['before_widget_content'] ) ? $sidebar_args['before_widget_content'] : '<div class="widget-content">';
    192     $after_widget_content = isset( $sidebar_args['after_widget_content'] ) ? $sidebar_args['after_widget_content'] : '</div>';
     204    $after_widget_content  = isset( $sidebar_args['after_widget_content'] ) ? $sidebar_args['after_widget_content'] : '</div>';
    193205
    194206    $query_arg = array( 'editwidget' => $widget['id'] );
     
    196208        $query_arg['addnew'] = 1;
    197209        if ( $multi_number ) {
    198             $query_arg['num'] = $multi_number;
     210            $query_arg['num']  = $multi_number;
    199211            $query_arg['base'] = $id_base;
    200212        }
    201213    } else {
    202214        $query_arg['sidebar'] = $sidebar_id;
    203         $query_arg['key'] = $key;
     215        $query_arg['key']     = $key;
    204216    }
    205217
     
    208220     * for a multi-widget control.
    209221     */
    210     if ( isset($sidebar_args['_display']) && 'template' == $sidebar_args['_display'] && $widget_number ) {
     222    if ( isset( $sidebar_args['_display'] ) && 'template' == $sidebar_args['_display'] && $widget_number ) {
    211223        // number == -1 implies a template where id numbers are replaced by a generic '__i__'
    212224        $control['params'][0]['number'] = -1;
    213225        // With id_base widget id's are constructed like {$id_base}-{$id_number}.
    214         if ( isset($control['id_base']) )
     226        if ( isset( $control['id_base'] ) ) {
    215227            $id_format = $control['id_base'] . '-__i__';
    216     }
    217 
    218     $wp_registered_widgets[$widget_id]['callback'] = $wp_registered_widgets[$widget_id]['_callback'];
    219     unset($wp_registered_widgets[$widget_id]['_callback']);
     228        }
     229    }
     230
     231    $wp_registered_widgets[ $widget_id ]['callback'] = $wp_registered_widgets[ $widget_id ]['_callback'];
     232    unset( $wp_registered_widgets[ $widget_id ]['_callback'] );
    220233
    221234    $widget_title = esc_html( strip_tags( $sidebar_args['widget_name'] ) );
    222     $has_form = 'noform';
    223 
    224     echo $sidebar_args['before_widget']; ?>
     235    $has_form     = 'noform';
     236
     237    echo $sidebar_args['before_widget'];
     238    ?>
    225239    <div class="widget-top">
    226240    <div class="widget-title-action">
     
    245259        $has_form = call_user_func_array( $control['callback'], $control['params'] );
    246260    } else {
    247         echo "\t\t<p>" . __('There are no options for this widget.') . "</p>\n";
     261        echo "\t\t<p>" . __( 'There are no options for this widget.' ) . "</p>\n";
    248262    }
    249263
     
    254268    ?>
    255269    <?php echo $after_widget_content; ?>
    256     <input type="hidden" name="widget-id" class="widget-id" value="<?php echo esc_attr($id_format); ?>" />
    257     <input type="hidden" name="id_base" class="id_base" value="<?php echo esc_attr($id_base); ?>" />
    258     <input type="hidden" name="widget-width" class="widget-width" value="<?php echo esc_attr($width); ?>" />
    259     <input type="hidden" name="widget-height" class="widget-height" value="<?php echo esc_attr($height); ?>" />
    260     <input type="hidden" name="widget_number" class="widget_number" value="<?php echo esc_attr($widget_number); ?>" />
    261     <input type="hidden" name="multi_number" class="multi_number" value="<?php echo esc_attr($multi_number); ?>" />
    262     <input type="hidden" name="add_new" class="add_new" value="<?php echo esc_attr($add_new); ?>" />
     270    <input type="hidden" name="widget-id" class="widget-id" value="<?php echo esc_attr( $id_format ); ?>" />
     271    <input type="hidden" name="id_base" class="id_base" value="<?php echo esc_attr( $id_base ); ?>" />
     272    <input type="hidden" name="widget-width" class="widget-width" value="<?php echo esc_attr( $width ); ?>" />
     273    <input type="hidden" name="widget-height" class="widget-height" value="<?php echo esc_attr( $height ); ?>" />
     274    <input type="hidden" name="widget_number" class="widget_number" value="<?php echo esc_attr( $widget_number ); ?>" />
     275    <input type="hidden" name="multi_number" class="multi_number" value="<?php echo esc_attr( $multi_number ); ?>" />
     276    <input type="hidden" name="add_new" class="add_new" value="<?php echo esc_attr( $add_new ); ?>" />
    263277
    264278    <div class="widget-control-actions">
     
    280294
    281295    <div class="widget-description">
    282 <?php echo ( $widget_description = wp_widget_description($widget_id) ) ? "$widget_description\n" : "$widget_title\n"; ?>
     296<?php echo ( $widget_description = wp_widget_description( $widget_id ) ) ? "$widget_description\n" : "$widget_title\n"; ?>
    283297    </div>
    284298<?php
     
    289303
    290304/**
    291  *
    292305 * @param string $classes
    293306 * @return string
    294307 */
    295 function wp_widgets_access_body_class($classes) {
     308function wp_widgets_access_body_class( $classes ) {
    296309    return "$classes widgets_access ";
    297310}
Note: See TracChangeset for help on using the changeset viewer.