WordPress.org

Make WordPress Core

Changeset 27904


Ignore:
Timestamp:
04/02/2014 06:11:49 AM (6 years ago)
Author:
DrewAPicture
Message:

Coding standards and readability spacing for WP_Customize_Widgets.

Also explicitly re-mark _capture_filter_pre_update_option() and _capture_filter_pre_get_option() as public.

See #27534.

File:
1 edited

Legend:

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

    r27903 r27904  
    2828     */
    2929    protected $core_widget_id_bases = array(
    30         'archives',
    31         'calendar',
    32         'categories',
    33         'links',
    34         'meta',
    35         'nav_menu',
    36         'pages',
    37         'recent-comments',
    38         'recent-posts',
    39         'rss',
    40         'search',
    41         'tag_cloud',
    42         'text',
     30        'archives', 'calendar', 'categories', 'links', 'meta',
     31        'nav_menu', 'pages', 'recent-comments', 'recent-posts',
     32        'rss', 'search', 'tag_cloud', 'text',
    4333    );
    4434
     
    127117    public function setup_widget_addition_previews() {
    128118        $is_customize_preview = false;
     119
    129120        if ( ! empty( $this->manager ) && ! is_admin() && 'on' === $this->get_post_value( 'wp_customize' ) ) {
    130121            $is_customize_preview = check_ajax_referer( 'preview-customize_' . $this->manager->get_stylesheet(), 'nonce', false );
     
    149140        if ( isset( $_POST['customized'] ) ) {
    150141            $customized = json_decode( $this->get_post_value( 'customized' ), true );
    151         }
    152 
    153         // Input from ajax widget update request.
    154         else {
     142        } else { // Input from ajax widget update request.
    155143            $customized    = array();
    156144            $id_base       = $this->get_post_value( 'id_base' );
     
    259247                    $instance = array();
    260248                }
    261             }
    262             // Multi widget
    263             else if ( false === $instance || ! isset( $instance[$widget_number] ) ) {
     249            } else if ( false === $instance || ! isset( $instance[$widget_number] ) ) { // Multi widget
    264250                if ( empty( $instance ) ) {
    265251                    $instance = array( '_multiwidget' => 1 );
     
    352338            $setting_id   = $this->get_setting_id( $widget_id );
    353339            $setting_args = $this->get_setting_args( $setting_id );
     340
    354341            $setting_args['sanitize_callback']    = array( $this, 'sanitize_widget_instance' );
    355342            $setting_args['sanitize_js_callback'] = array( $this, 'sanitize_widget_js_instance' );
     343
    356344            $this->manager->add_setting( $setting_id, $setting_args );
     345
    357346            $new_setting_ids[] = $setting_id;
    358347        }
     
    362351                $sidebar_widget_ids = array();
    363352            }
     353
    364354            $is_registered_sidebar = isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] );
    365355            $is_inactive_widgets   = ( 'wp_inactive_widgets' === $sidebar_id );
     
    370360                $setting_id   = sprintf( 'sidebars_widgets[%s]', $sidebar_id );
    371361                $setting_args = $this->get_setting_args( $setting_id );
     362
    372363                $setting_args['sanitize_callback']    = array( $this, 'sanitize_sidebar_widgets' );
    373364                $setting_args['sanitize_js_callback'] = array( $this, 'sanitize_sidebar_widgets_js_instance' );
     365
    374366                $this->manager->add_setting( $setting_id, $setting_args );
    375367                $new_setting_ids[] = $setting_id;
     
    378370                $section_id = sprintf( 'sidebar-widgets-%s', $sidebar_id );
    379371                if ( $is_active_sidebar ) {
     372
    380373                    $section_args = array(
    381374                        /* translators: %s: sidebar name */
     
    385378                    );
    386379                    $section_args = apply_filters( 'customizer_widgets_section_args', $section_args, $section_id, $sidebar_id );
     380
    387381                    $this->manager->add_section( $section_id, $section_args );
    388382
    389                     $control = new WP_Widget_Area_Customize_Control(
    390                         $this->manager,
    391                         $setting_id,
    392                         array(
    393                             'section' => $section_id,
    394                             'sidebar_id' => $sidebar_id,
    395                             'priority' => count( $sidebar_widget_ids ), // place Add Widget & Reorder buttons at end
    396                         )
    397                     );
     383                    $control = new WP_Widget_Area_Customize_Control( $this->manager, $setting_id, array(
     384                        'section'    => $section_id,
     385                        'sidebar_id' => $sidebar_id,
     386                        'priority'   => count( $sidebar_widget_ids ), // place 'Add Widget' and 'Reorder' buttons at end.
     387                    ) );
    398388                    $new_setting_ids[] = $setting_id;
     389
    399390                    $this->manager->add_control( $control );
    400391                }
     
    408399                    continue;
    409400                }
     401
    410402                $registered_widget = $GLOBALS['wp_registered_widgets'][$widget_id];
    411                 $setting_id = $this->get_setting_id( $widget_id );
    412                 $id_base = $GLOBALS['wp_registered_widget_controls'][$widget_id]['id_base'];
     403                $setting_id        = $this->get_setting_id( $widget_id );
     404                $id_base           = $GLOBALS['wp_registered_widget_controls'][$widget_id]['id_base'];
     405
    413406                assert( false !== is_active_widget( $registered_widget['callback'], $registered_widget['id'], false, false ) );
    414                 $control = new WP_Widget_Form_Customize_Control(
    415                     $this->manager,
    416                     $setting_id,
    417                     array(
    418                         'label' => $registered_widget['name'],
    419                         'section' => $section_id,
    420                         'sidebar_id' => $sidebar_id,
    421                         'widget_id' => $widget_id,
    422                         'widget_id_base' => $id_base,
    423                         'priority' => $i,
    424                         'width' => $wp_registered_widget_controls[$widget_id]['width'],
    425                         'height' => $wp_registered_widget_controls[$widget_id]['height'],
    426                         'is_wide' => $this->is_wide_widget( $widget_id ),
    427                     )
    428                 );
     407
     408                $control = new WP_Widget_Form_Customize_Control( $this->manager, $setting_id, array(
     409                    'label'          => $registered_widget['name'],
     410                    'section'        => $section_id,
     411                    'sidebar_id'     => $sidebar_id,
     412                    'widget_id'      => $widget_id,
     413                    'widget_id_base' => $id_base,
     414                    'priority'       => $i,
     415                    'width'          => $wp_registered_widget_controls[$widget_id]['width'],
     416                    'height'         => $wp_registered_widget_controls[$widget_id]['height'],
     417                    'is_wide'        => $this->is_wide_widget( $widget_id ),
     418                ) );
    429419                $this->manager->add_control( $control );
    430420            }
     
    440430            }
    441431        }
    442 
    443432        $this->remove_prepreview_filters();
    444433    }
     
    455444    public function get_setting_id( $widget_id ) {
    456445        $parsed_widget_id = $this->parse_widget_id( $widget_id );
    457         $setting_id = sprintf( 'widget_%s', $parsed_widget_id['id_base'] );
     446        $setting_id       = sprintf( 'widget_%s', $parsed_widget_id['id_base'] );
     447
    458448        if ( ! is_null( $parsed_widget_id['number'] ) ) {
    459449            $setting_id .= sprintf( '[%d]', $parsed_widget_id['number'] );
     
    480470    public function is_wide_widget( $widget_id ) {
    481471        global $wp_registered_widget_controls;
     472
    482473        $parsed_widget_id = $this->parse_widget_id( $widget_id );
    483         $width = $wp_registered_widget_controls[$widget_id]['width'];
    484         $is_core = in_array( $parsed_widget_id['id_base'], $this->core_widget_id_bases );
    485         $is_wide = ( $width > 250 && ! $is_core );
     474        $width            = $wp_registered_widget_controls[$widget_id]['width'];
     475        $is_core          = in_array( $parsed_widget_id['id_base'], $this->core_widget_id_bases );
     476        $is_wide          = ( $width > 250 && ! $is_core );
    486477
    487478        /**
     
    510501            'id_base' => null,
    511502        );
     503
    512504        if ( preg_match( '/^(.+)-(\d+)$/', $widget_id, $matches ) ) {
    513505            $parsed['id_base'] = $matches[1];
     
    537529        $id_base = $matches[2];
    538530        $number  = isset( $matches[3] ) ? intval( $matches[3] ) : null;
     531
    539532        return compact( 'id_base', 'number' );
    540533    }
     
    555548         */
    556549        $available_widgets = array();
     550
    557551        foreach ( $this->get_available_widgets() as $available_widget ) {
    558552            unset( $available_widget['control_tpl'] );
     
    593587         */
    594588        global $wp_scripts;
     589
    595590        $exports = array(
    596             'nonce' => wp_create_nonce( 'update-widget' ),
     591            'nonce'               => wp_create_nonce( 'update-widget' ),
    597592            'registered_sidebars' => array_values( $GLOBALS['wp_registered_sidebars'] ),
    598             'registered_widgets' => $GLOBALS['wp_registered_widgets'],
    599             'available_widgets' => $available_widgets, // @todo Merge this with registered_widgets
     593            'registered_widgets'  => $GLOBALS['wp_registered_widgets'],
     594            'available_widgets'   => $available_widgets, // @todo Merge this with registered_widgets
    600595            'i18n' => array(
    601                 'save_btn_label' => __( 'Apply' ),
     596                'save_btn_label'     => __( 'Apply' ),
    602597                // @todo translate? do we want these tooltips?
    603                 'save_btn_tooltip' => ( 'Save and preview changes before publishing them.' ),
    604                 'remove_btn_label' => __( 'Remove' ),
     598                'save_btn_tooltip'   => ( 'Save and preview changes before publishing them.' ),
     599                'remove_btn_label'   => __( 'Remove' ),
    605600                'remove_btn_tooltip' => ( 'Trash widget by moving it to the inactive widgets sidebar.' ),
    606                 'error' => __( 'An error has occurred. Please reload the page and try again.' ),
     601                'error'              => __( 'An error has occurred. Please reload the page and try again.' ),
    607602            ),
    608             'tpl' => array(
     603            'tpl'                 => array(
    609604                'widget_reorder_nav' => $widget_reorder_nav_tpl,
    610                 'move_widget_area' => $move_widget_area_tpl,
     605                'move_widget_area'   => $move_widget_area_tpl,
    611606            ),
    612607        );
     608
    613609        foreach ( $exports['registered_widgets'] as &$registered_widget ) {
    614610            unset( $registered_widget['callback'] ); // may not be JSON-serializeable
     
    658654    public function get_setting_args( $id, $overrides = array() ) {
    659655        $args = array(
    660             'type' => 'option',
     656            'type'       => 'option',
    661657            'capability' => 'edit_theme_options',
    662             'transport' => 'refresh',
    663             'default' => array(),
     658            'transport'  => 'refresh',
     659            'default'    => array(),
    664660        );
    665661        $args = array_merge( $args, $overrides );
     
    691687    public function sanitize_sidebar_widgets( $widget_ids ) {
    692688        global $wp_registered_widgets;
    693         $widget_ids = array_map( 'strval', (array) $widget_ids );
     689
     690        $widget_ids           = array_map( 'strval', (array) $widget_ids );
    694691        $sanitized_widget_ids = array();
     692
    695693        foreach ( $widget_ids as $widget_id ) {
    696694            if ( array_key_exists( $widget_id, $wp_registered_widgets ) ) {
     
    740738
    741739            $args = array(
    742                 'widget_id' => $widget['id'],
     740                'widget_id'   => $widget['id'],
    743741                'widget_name' => $widget['name'],
    744                 '_display' => 'template',
     742                '_display'    => 'template',
    745743            );
    746744
    747745            $is_disabled     = false;
    748             $is_multi_widget = (
    749                 isset( $wp_registered_widget_controls[$widget['id']]['id_base'] )
    750                 &&
    751                 isset( $widget['params'][0]['number'] )
    752             );
     746            $is_multi_widget = ( isset( $wp_registered_widget_controls[$widget['id']]['id_base'] ) && isset( $widget['params'][0]['number'] ) );
    753747            if ( $is_multi_widget ) {
    754                 $id_base = $wp_registered_widget_controls[$widget['id']]['id_base'];
     748                $id_base            = $wp_registered_widget_controls[$widget['id']]['id_base'];
    755749                $args['_temp_id']   = "$id_base-__i__";
    756750                $args['_multi_num'] = next_widget_id_number( $id_base );
     
    758752            } else {
    759753                $args['_add'] = 'single';
     754
    760755                if ( $sidebar && 'wp_inactive_widgets' !== $sidebar ) {
    761756                    $is_disabled = true;
     
    768763
    769764            // The properties here are mapped to the Backbone Widget model.
    770             $available_widget = array_merge(
    771                 $available_widget,
    772                 array(
    773                     'temp_id' => isset( $args['_temp_id'] ) ? $args['_temp_id'] : null,
    774                     'is_multi' => $is_multi_widget,
    775                     'control_tpl' => $control_tpl,
    776                     'multi_number' => ( $args['_add'] === 'multi' ) ? $args['_multi_num'] : false,
    777                     'is_disabled' => $is_disabled,
    778                     'id_base' => $id_base,
    779                     'transport' => 'refresh',
    780                     'width' => $wp_registered_widget_controls[$widget['id']]['width'],
    781                     'height' => $wp_registered_widget_controls[$widget['id']]['height'],
    782                     'is_wide' => $this->is_wide_widget( $widget['id'] ),
    783                 )
    784             );
     765            $available_widget = array_merge( $available_widget, array(
     766                'temp_id'      => isset( $args['_temp_id'] ) ? $args['_temp_id'] : null,
     767                'is_multi'     => $is_multi_widget,
     768                'control_tpl'  => $control_tpl,
     769                'multi_number' => ( $args['_add'] === 'multi' ) ? $args['_multi_num'] : false,
     770                'is_disabled'  => $is_disabled,
     771                'id_base'      => $id_base,
     772                'transport'    => 'refresh',
     773                'width'        => $wp_registered_widget_controls[$widget['id']]['width'],
     774                'height'       => $wp_registered_widget_controls[$widget['id']]['height'],
     775                'is_wide'      => $this->is_wide_widget( $widget['id'] ),
     776            ) );
    785777
    786778            $available_widgets[] = $available_widget;
     
    815807    public function get_widget_control( $args ) {
    816808        ob_start();
     809
    817810        call_user_func_array( 'wp_widget_control', $args );
    818811        $replacements = array(
     
    820813            '</form>' => '</div><!-- .form -->',
    821814        );
     815
    822816        $control_tpl = ob_get_clean();
     817
    823818        $control_tpl = str_replace( array_keys( $replacements ), array_values( $replacements ), $control_tpl );
     819
    824820        return $control_tpl;
    825821    }
     
    900896     */
    901897    public function export_preview_data() {
     898
    902899        // Prepare customizer settings to pass to Javascript.
    903900        $settings = array(
     
    10201017            return $value;
    10211018        }
    1022         $invalid = (
    1023             empty( $value['is_widget_customizer_js_value'] )
    1024             ||
    1025             empty( $value['instance_hash_key'] )
    1026             ||
    1027             empty( $value['encoded_serialized_instance'] )
    1028         );
    1029         if ( $invalid ) {
     1019
     1020        if ( empty( $value['is_widget_customizer_js_value'] )
     1021            || empty( $value['instance_hash_key'] )
     1022            || empty( $value['encoded_serialized_instance'] ) )
     1023        {
    10301024            return null;
    10311025        }
     1026
    10321027        $decoded = base64_decode( $value['encoded_serialized_instance'], true );
     1028
    10331029        if ( false === $decoded ) {
    10341030            return null;
    10351031        }
    10361032        $instance = unserialize( $decoded );
     1033
    10371034        if ( false === $instance ) {
    10381035            return null;
     
    10561053        if ( empty( $value['is_widget_customizer_js_value'] ) ) {
    10571054            $serialized = serialize( $value );
     1055
    10581056            $value = array(
    1059                 'encoded_serialized_instance' => base64_encode( $serialized ),
    1060                 'title' => empty( $value['title'] ) ? '' : $value['title'],
     1057                'encoded_serialized_instance'   => base64_encode( $serialized ),
     1058                'title'                         => empty( $value['title'] ) ? '' : $value['title'],
    10611059                'is_widget_customizer_js_value' => true,
    1062                 'instance_hash_key' => $this->get_instance_hash_key( $value ),
     1060                'instance_hash_key'             => $this->get_instance_hash_key( $value ),
    10631061            );
    10641062        }
     
    11671165        // Obtain the widget control with the updated instance in place.
    11681166        ob_start();
     1167
    11691168        $form = $wp_registered_widget_controls[$widget_id];
    11701169        if ( $form ) {
    11711170            call_user_func_array( $form['callback'], $form['params'] );
    11721171        }
     1172
    11731173        $form = ob_get_clean();
    11741174
    11751175        // Obtain the widget instance.
    11761176        $option = get_option( $option_name );
     1177
    11771178        if ( null !== $parsed_id['number'] ) {
    11781179            $instance = $option[$parsed_id['number']];
     
    11821183
    11831184        $this->stop_capturing_option_updates();
     1185
    11841186        return compact( 'instance', 'form' );
    11851187    }
     
    13151317
    13161318        $this->_is_capturing_option_updates = true;
     1319
    13171320        add_filter( 'pre_update_option', array( $this, '_capture_filter_pre_update_option' ), 10, 3 );
    13181321    }
     
    13211324     * Pre-filter captured option values before updating.
    13221325     *
    1323      * @access private
     1326     * @since 3.9.0
     1327     * @access public
     1328     *
    13241329     * @param mixed $new_value
    13251330     * @param string $option_name
     
    13271332     * @return mixed
    13281333     */
    1329     private function _capture_filter_pre_update_option( $new_value, $option_name, $old_value ) {
     1334    public function _capture_filter_pre_update_option( $new_value, $option_name, $old_value ) {
    13301335        if ( $this->is_option_capture_ignored( $option_name ) ) {
    13311336            return;
     
    13441349     * Pre-filter captured option values before retrieving.
    13451350     *
    1346      * @access private
     1351     * @since 3.9.0
     1352     * @access public
     1353     *
    13471354     * @param mixed $value Option
    13481355     * @return mixed
    13491356     */
    1350     private function _capture_filter_pre_get_option( $value ) {
     1357    public function _capture_filter_pre_get_option( $value ) {
    13511358        $option_name = preg_replace( '/^pre_option_/', '', current_filter() );
     1359
    13521360        if ( isset( $this->_captured_options[$option_name] ) ) {
    13531361            $value = $this->_captured_options[$option_name];
Note: See TracChangeset for help on using the changeset viewer.