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-includes/class-wp-customize-nav-menus.php

    r42148 r42343  
    4343     */
    4444    public function __construct( $manager ) {
    45         $this->manager = $manager;
     45        $this->manager                     = $manager;
    4646        $this->original_nav_menu_locations = get_nav_menu_locations();
    4747
     
    9696        }
    9797
    98         $all_items = array();
     98        $all_items  = array();
    9999        $item_types = array();
    100100        if ( isset( $_POST['item_types'] ) && is_array( $_POST['item_types'] ) ) {
     
    102102        } elseif ( isset( $_POST['type'] ) && isset( $_POST['object'] ) ) { // Back compat.
    103103            $item_types[] = array(
    104                 'type' => wp_unslash( $_POST['type'] ),
     104                'type'   => wp_unslash( $_POST['type'] ),
    105105                'object' => wp_unslash( $_POST['object'] ),
    106                 'page' => empty( $_POST['page'] ) ? 0 : absint( $_POST['page'] ),
     106                'page'   => empty( $_POST['page'] ) ? 0 : absint( $_POST['page'] ),
    107107            );
    108108        } else {
     
    114114                wp_send_json_error( 'nav_menus_missing_type_or_object_parameter' );
    115115            }
    116             $type = sanitize_key( $item_type['type'] );
     116            $type   = sanitize_key( $item_type['type'] );
    117117            $object = sanitize_key( $item_type['object'] );
    118             $page = empty( $item_type['page'] ) ? 0 : absint( $item_type['page'] );
    119             $items = $this->load_available_items_query( $type, $object, $page );
     118            $page   = empty( $item_type['page'] ) ? 0 : absint( $item_type['page'] );
     119            $items  = $this->load_available_items_query( $type, $object, $page );
    120120            if ( is_wp_error( $items ) ) {
    121121                wp_send_json_error( $items->get_error_code() );
     
    180180            }
    181181
    182             $posts = array_merge( $posts, get_posts( array(
    183                 'numberposts' => 10,
    184                 'offset'      => 10 * $page,
    185                 'orderby'     => 'date',
    186                 'order'       => 'DESC',
    187                 'post_type'   => $object,
    188             ) ) );
     182            $posts = array_merge(
     183                $posts, get_posts(
     184                    array(
     185                        'numberposts' => 10,
     186                        'offset'      => 10 * $page,
     187                        'orderby'     => 'date',
     188                        'order'       => 'DESC',
     189                        'post_type'   => $object,
     190                    )
     191                )
     192            );
    189193
    190194            foreach ( $posts as $post ) {
     
    205209            }
    206210        } elseif ( 'taxonomy' === $type ) {
    207             $terms = get_terms( $object, array(
    208                 'child_of'     => 0,
    209                 'exclude'      => '',
    210                 'hide_empty'   => false,
    211                 'hierarchical' => 1,
    212                 'include'      => '',
    213                 'number'       => 10,
    214                 'offset'       => 10 * $page,
    215                 'order'        => 'DESC',
    216                 'orderby'      => 'count',
    217                 'pad_counts'   => false,
    218             ) );
     211            $terms = get_terms(
     212                $object, array(
     213                    'child_of'     => 0,
     214                    'exclude'      => '',
     215                    'hide_empty'   => false,
     216                    'hierarchical' => 1,
     217                    'include'      => '',
     218                    'number'       => 10,
     219                    'offset'       => 10 * $page,
     220                    'order'        => 'DESC',
     221                    'orderby'      => 'count',
     222                    'pad_counts'   => false,
     223                )
     224            );
    219225            if ( is_wp_error( $terms ) ) {
    220226                return $terms;
     
    270276        }
    271277
    272         $s = sanitize_text_field( wp_unslash( $_POST['search'] ) );
    273         $items = $this->search_available_items_query( array( 'pagenum' => $p, 's' => $s ) );
     278        $s     = sanitize_text_field( wp_unslash( $_POST['search'] ) );
     279        $items = $this->search_available_items_query(
     280            array(
     281                'pagenum' => $p,
     282                's'       => $s,
     283            )
     284        );
    274285
    275286        if ( empty( $items ) ) {
     
    294305
    295306        $post_type_objects = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
    296         $query = array(
     307        $query             = array(
    297308            'post_type'              => array_keys( $post_type_objects ),
    298309            'suppress_filters'       => true,
     
    315326        $nav_menus_created_posts_setting = $this->manager->get_setting( 'nav_menus_created_posts' );
    316327        if ( 1 === $args['pagenum'] && $nav_menus_created_posts_setting && count( $nav_menus_created_posts_setting ) > 0 ) {
    317             $stub_post_query = new WP_Query( array_merge(
    318                 $query,
    319                 array(
    320                     'post_status' => 'auto-draft',
    321                     'post__in' => $nav_menus_created_posts_setting->value(),
    322                     'posts_per_page' => -1,
     328            $stub_post_query = new WP_Query(
     329                array_merge(
     330                    $query,
     331                    array(
     332                        'post_status'    => 'auto-draft',
     333                        'post__in'       => $nav_menus_created_posts_setting->value(),
     334                        'posts_per_page' => -1,
     335                    )
    323336                )
    324             ) );
    325             $posts = array_merge( $posts, $stub_post_query->posts );
     337            );
     338            $posts           = array_merge( $posts, $stub_post_query->posts );
    326339        }
    327340
    328341        // Query posts.
    329342        $get_posts = new WP_Query( $query );
    330         $posts = array_merge( $posts, $get_posts->posts );
     343        $posts     = array_merge( $posts, $get_posts->posts );
    331344
    332345        // Create items for posts.
     
    350363        // Query taxonomy terms.
    351364        $taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'names' );
    352         $terms = get_terms( $taxonomies, array(
    353             'name__like' => $args['s'],
    354             'number'     => 20,
    355             'offset'     => 20 * ($args['pagenum'] - 1),
    356         ) );
     365        $terms      = get_terms(
     366            $taxonomies, array(
     367                'name__like' => $args['s'],
     368                'number'     => 20,
     369                'offset'     => 20 * ( $args['pagenum'] - 1 ),
     370            )
     371        );
    357372
    358373        // Check if any taxonomies were found.
     
    406421        // Pass data to JS.
    407422        $settings = array(
    408             'allMenus'             => wp_get_nav_menus(),
    409             'itemTypes'            => $this->available_item_types(),
    410             'l10n'                 => array(
     423            'allMenus'                 => wp_get_nav_menus(),
     424            'itemTypes'                => $this->available_item_types(),
     425            'l10n'                     => array(
    411426                'untitled'               => _x( '(no label)', 'missing menu item navigation label' ),
    412427                'unnamed'                => _x( '(unnamed)', 'Missing menu name.' ),
     
    441456                'reorderLabelOff'        => esc_attr__( 'Close reorder mode' ),
    442457            ),
    443             'settingTransport'     => 'postMessage',
    444             'phpIntMax'            => PHP_INT_MAX,
    445             'defaultSettingValues' => array(
     458            'settingTransport'         => 'postMessage',
     459            'phpIntMax'                => PHP_INT_MAX,
     460            'defaultSettingValues'     => array(
    446461                'nav_menu'      => $temp_nav_menu_setting->default,
    447462                'nav_menu_item' => $temp_nav_menu_item_setting->default,
     
    456471        $nav_menus_l10n = array(
    457472            'oneThemeLocationNoMenus' => null,
    458             'moveUp'       => __( 'Move up one' ),
    459             'moveDown'     => __( 'Move down one' ),
    460             'moveToTop'    => __( 'Move to the top' ),
     473            'moveUp'                  => __( 'Move up one' ),
     474            'moveDown'                => __( 'Move down one' ),
     475            'moveToTop'               => __( 'Move to the top' ),
    461476            /* translators: %s: previous item name */
    462             'moveUnder'    => __( 'Move under %s' ),
     477            'moveUnder'               => __( 'Move under %s' ),
    463478            /* translators: %s: previous item name */
    464             'moveOutFrom'  => __( 'Move out from under %s' ),
     479            'moveOutFrom'             => __( 'Move out from under %s' ),
    465480            /* translators: %s: previous item name */
    466             'under'        => __( 'Under %s' ),
     481            'under'                   => __( 'Under %s' ),
    467482            /* translators: %s: previous item name */
    468             'outFrom'      => __( 'Out from under %s' ),
     483            'outFrom'                 => __( 'Out from under %s' ),
    469484            /* translators: 1: item name, 2: item position, 3: total number of items */
    470             'menuFocus'    => __( '%1$s. Menu item %2$d of %3$d.' ),
     485            'menuFocus'               => __( '%1$s. Menu item %2$d of %3$d.' ),
    471486            /* translators: 1: item name, 2: item position, 3: parent item name */
    472             'subMenuFocus' => __( '%1$s. Sub item number %2$d under %3$s.' ),
     487            'subMenuFocus'            => __( '%1$s. Sub item number %2$d under %3$s.' ),
    473488        );
    474489        wp_localize_script( 'nav-menu', 'menus', $nav_menus_l10n );
     
    562577            $description .= '<p>' . __( 'Menus can be displayed in locations defined by your theme.' ) . '</p>';
    563578        }
    564         $this->manager->add_panel( new WP_Customize_Nav_Menus_Panel( $this->manager, 'nav_menus', array(
    565             'title'       => __( 'Menus' ),
    566             'description' => $description,
    567             'priority'    => 100,
    568             // 'theme_supports' => 'menus|widgets', @todo allow multiple theme supports
    569         ) ) );
     579        $this->manager->add_panel(
     580            new WP_Customize_Nav_Menus_Panel(
     581                $this->manager, 'nav_menus', array(
     582                    'title'       => __( 'Menus' ),
     583                    'description' => $description,
     584                    'priority'    => 100,
     585                // 'theme_supports' => 'menus|widgets', @todo allow multiple theme supports
     586                )
     587            )
     588        );
    570589        $menus = wp_get_nav_menus();
    571590
     
    585604        }
    586605
    587         $this->manager->add_section( 'menu_locations', array(
    588             'title'       => 1 === $num_locations ? _x( 'View Location', 'menu locations' ) : _x( 'View All Locations', 'menu locations' ),
    589             'panel'       => 'nav_menus',
    590             'priority'    => 30,
    591             'description' => $description,
    592         ) );
     606        $this->manager->add_section(
     607            'menu_locations', array(
     608                'title'       => 1 === $num_locations ? _x( 'View Location', 'menu locations' ) : _x( 'View All Locations', 'menu locations' ),
     609                'panel'       => 'nav_menus',
     610                'priority'    => 30,
     611                'description' => $description,
     612            )
     613        );
    593614
    594615        $choices = array( '0' => __( '&mdash; Select &mdash;' ) );
     
    619640                add_filter( "customize_sanitize_{$setting_id}", array( $this, 'intval_base10' ) );
    620641            } else {
    621                 $this->manager->add_setting( $setting_id, array(
    622                     'sanitize_callback' => array( $this, 'intval_base10' ),
    623                     'theme_supports'    => 'menus',
    624                     'type'              => 'theme_mod',
    625                     'transport'         => 'postMessage',
    626                     'default'           => 0,
    627                 ) );
     642                $this->manager->add_setting(
     643                    $setting_id, array(
     644                        'sanitize_callback' => array( $this, 'intval_base10' ),
     645                        'theme_supports'    => 'menus',
     646                        'type'              => 'theme_mod',
     647                        'transport'         => 'postMessage',
     648                        'default'           => 0,
     649                    )
     650                );
    628651            }
    629652
     
    633656            }
    634657
    635             $this->manager->add_control( new WP_Customize_Nav_Menu_Location_Control( $this->manager, $setting_id, array(
    636                 'label'       => $description,
    637                 'location_id' => $location,
    638                 'section'     => 'menu_locations',
    639                 'choices'     => $choices,
    640             ) ) );
     658            $this->manager->add_control(
     659                new WP_Customize_Nav_Menu_Location_Control(
     660                    $this->manager, $setting_id, array(
     661                        'label'       => $description,
     662                        'location_id' => $location,
     663                        'section'     => 'menu_locations',
     664                        'choices'     => $choices,
     665                    )
     666                )
     667            );
    641668        }
    642669
     
    647674            // Create a section for each menu.
    648675            $section_id = 'nav_menu[' . $menu_id . ']';
    649             $this->manager->add_section( new WP_Customize_Nav_Menu_Section( $this->manager, $section_id, array(
    650                 'title'     => html_entity_decode( $menu->name, ENT_QUOTES, get_bloginfo( 'charset' ) ),
    651                 'priority'  => 10,
    652                 'panel'     => 'nav_menus',
    653             ) ) );
     676            $this->manager->add_section(
     677                new WP_Customize_Nav_Menu_Section(
     678                    $this->manager, $section_id, array(
     679                        'title'    => html_entity_decode( $menu->name, ENT_QUOTES, get_bloginfo( 'charset' ) ),
     680                        'priority' => 10,
     681                        'panel'    => 'nav_menus',
     682                    )
     683                )
     684            );
    654685
    655686            $nav_menu_setting_id = 'nav_menu[' . $menu_id . ']';
    656             $this->manager->add_setting( new WP_Customize_Nav_Menu_Setting( $this->manager, $nav_menu_setting_id, array(
    657                 'transport' => 'postMessage',
    658             ) ) );
     687            $this->manager->add_setting(
     688                new WP_Customize_Nav_Menu_Setting(
     689                    $this->manager, $nav_menu_setting_id, array(
     690                        'transport' => 'postMessage',
     691                    )
     692                )
     693            );
    659694
    660695            // Add the menu contents.
     
    672707
    673708                $value['nav_menu_term_id'] = $menu_id;
    674                 $this->manager->add_setting( new WP_Customize_Nav_Menu_Item_Setting( $this->manager, $menu_item_setting_id, array(
    675                     'value'     => $value,
    676                     'transport' => 'postMessage',
    677                 ) ) );
     709                $this->manager->add_setting(
     710                    new WP_Customize_Nav_Menu_Item_Setting(
     711                        $this->manager, $menu_item_setting_id, array(
     712                            'value'     => $value,
     713                            'transport' => 'postMessage',
     714                        )
     715                    )
     716                );
    678717
    679718                // Create a control for each menu item.
    680                 $this->manager->add_control( new WP_Customize_Nav_Menu_Item_Control( $this->manager, $menu_item_setting_id, array(
    681                     'label'    => $item->title,
    682                     'section'  => $section_id,
    683                     'priority' => 10 + $i,
    684                 ) ) );
     719                $this->manager->add_control(
     720                    new WP_Customize_Nav_Menu_Item_Control(
     721                        $this->manager, $menu_item_setting_id, array(
     722                            'label'    => $item->title,
     723                            'section'  => $section_id,
     724                            'priority' => 10 + $i,
     725                        )
     726                    )
     727                );
    685728            }
    686729
     
    689732
    690733        // Add the add-new-menu section and controls.
    691         $this->manager->add_section( 'add_menu', array(
    692             'type'     => 'new_menu',
    693             'title'    => __( 'New Menu' ),
    694             'panel'    => 'nav_menus',
    695             'priority' => 20,
    696         ) );
    697 
    698         $this->manager->add_setting( new WP_Customize_Filter_Setting( $this->manager, 'nav_menus_created_posts', array(
    699             'transport' => 'postMessage',
    700             'type' => 'option', // To prevent theme prefix in changeset.
    701             'default' => array(),
    702             'sanitize_callback' => array( $this, 'sanitize_nav_menus_created_posts' ),
    703         ) ) );
     734        $this->manager->add_section(
     735            'add_menu', array(
     736                'type'     => 'new_menu',
     737                'title'    => __( 'New Menu' ),
     738                'panel'    => 'nav_menus',
     739                'priority' => 20,
     740            )
     741        );
     742
     743        $this->manager->add_setting(
     744            new WP_Customize_Filter_Setting(
     745                $this->manager, 'nav_menus_created_posts', array(
     746                    'transport'         => 'postMessage',
     747                    'type'              => 'option', // To prevent theme prefix in changeset.
     748                    'default'           => array(),
     749                    'sanitize_callback' => array( $this, 'sanitize_nav_menus_created_posts' ),
     750                )
     751            )
     752        );
    704753    }
    705754
     
    734783            foreach ( $post_types as $slug => $post_type ) {
    735784                $item_types[] = array(
    736                     'title'  => $post_type->labels->name,
     785                    'title'      => $post_type->labels->name,
    737786                    'type_label' => $post_type->labels->singular_name,
    738                     'type' => 'post_type',
    739                     'object' => $post_type->name,
     787                    'type'       => 'post_type',
     788                    'object'     => $post_type->name,
    740789                );
    741790            }
     
    749798                }
    750799                $item_types[] = array(
    751                     'title' => $taxonomy->labels->name,
     800                    'title'      => $taxonomy->labels->name,
    752801                    'type_label' => $taxonomy->labels->singular_name,
    753                     'type' => 'taxonomy',
    754                     'object' => $taxonomy->name,
     802                    'type'       => 'taxonomy',
     803                    'object'     => $taxonomy->name,
    755804                );
    756805            }
     
    778827     *     Post array. Note that post_status is overridden to be `auto-draft`.
    779828     *
    780      *     @var string $post_title   Post title. Required.
    781      *     @var string $post_type    Post type. Required.
    782      *     @var string $post_name    Post name.
    783      *     @var string $post_content Post content.
     829     * @var string $post_title   Post title. Required.
     830     * @var string $post_type    Post type. Required.
     831     * @var string $post_name    Post name.
     832     * @var string $post_content Post content.
    784833     * }
    785834     * @return WP_Post|WP_Error Inserted auto-draft post object or error.
     
    810859        }
    811860        $postarr['meta_input']['_customize_draft_post_name'] = $postarr['post_name'];
    812         $postarr['meta_input']['_customize_changeset_uuid'] = $this->manager->changeset_uuid();
     861        $postarr['meta_input']['_customize_changeset_uuid']  = $this->manager->changeset_uuid();
    813862        unset( $postarr['post_name'] );
    814863
     
    842891        }
    843892
    844         $params = wp_unslash( $_POST['params'] );
     893        $params         = wp_unslash( $_POST['params'] );
    845894        $illegal_params = array_diff( array_keys( $params ), array( 'post_type', 'post_title' ) );
    846895        if ( ! empty( $illegal_params ) ) {
     
    850899        $params = array_merge(
    851900            array(
    852                 'post_type' => '',
     901                'post_type'  => '',
    853902                'post_title' => '',
    854903            ),
     
    915964                        </span>
    916965                        <button type="button" class="button-link item-add">
    917                             <span class="screen-reader-text"><?php
     966                            <span class="screen-reader-text">
     967                            <?php
    918968                                /* translators: 1: Title of a menu item, 2: Type of a menu item */
    919969                                printf( __( 'Add to menu: %1$s (%2$s)' ), '{{ data.title || wp.customize.Menus.data.l10n.untitled }}', '{{ data.type_label }}' );
    920                             ?></span>
     970                            ?>
     971                            </span>
    921972                        </button>
    922973                    </div>
     
    9981049                <div class="accordion-section-title">
    9991050                    <label class="screen-reader-text" for="menu-items-search"><?php _e( 'Search Menu Items' ); ?></label>
    1000                     <input type="text" id="menu-items-search" placeholder="<?php esc_attr_e( 'Search menu items&hellip;' ) ?>" aria-describedby="menu-items-search-desc" />
     1051                    <input type="text" id="menu-items-search" placeholder="<?php esc_attr_e( 'Search menu items&hellip;' ); ?>" aria-describedby="menu-items-search-desc" />
    10011052                    <p class="screen-reader-text" id="menu-items-search-desc"><?php _e( 'The search results will be updated as you type.' ); ?></p>
    10021053                    <span class="spinner"></span>
     
    10091060
    10101061            // Ensure the page post type comes first in the list.
    1011             $item_types = $this->available_item_types();
     1062            $item_types     = $this->available_item_types();
    10121063            $page_item_type = null;
    10131064            foreach ( $item_types as $i => $item_type ) {
     
    10501101                <span class="no-items"><?php _e( 'No items' ); ?></span>
    10511102                <button type="button" class="button-link" aria-expanded="false">
    1052                     <span class="screen-reader-text"><?php
     1103                    <span class="screen-reader-text">
     1104                    <?php
    10531105                        /* translators: %s: Title of a section with menu items */
    1054                         printf( __( 'Toggle section: %s' ), esc_html( $available_item_type['title'] ) ); ?></span>
     1106                        printf( __( 'Toggle section: %s' ), esc_html( $available_item_type['title'] ) );
     1107                        ?>
     1108                        </span>
    10551109                    <span class="toggle-indicator" aria-hidden="true"></span>
    10561110                </button>
     
    12321286
    12331287                $target_status = 'attachment' === get_post_type( $post_id ) ? 'inherit' : 'publish';
    1234                 $args = array(
    1235                     'ID' => $post_id,
     1288                $args          = array(
     1289                    'ID'          => $post_id,
    12361290                    'post_status' => $target_status,
    12371291                );
    1238                 $post_name = get_post_meta( $post_id, '_customize_draft_post_name', true );
     1292                $post_name     = get_post_meta( $post_id, '_customize_draft_post_name', true );
    12391293                if ( $post_name ) {
    12401294                    $args['post_name'] = $post_name;
     
    12951349        if ( ! $can_partial_refresh ) {
    12961350            $exported_args['fallback_cb'] = '';
    1297             $exported_args['walker'] = '';
     1351            $exported_args['walker']      = '';
    12981352        }
    12991353
     
    13091363        $exported_args['args_hmac'] = $this->hash_nav_menu_args( $exported_args );
    13101364
    1311         $args['customize_preview_nav_menus_args'] = $exported_args;
     1365        $args['customize_preview_nav_menus_args']                            = $exported_args;
    13121366        $this->preview_nav_menu_instance_args[ $exported_args['args_hmac'] ] = $exported_args;
    13131367        return $args;
     
    13291383    public function filter_wp_nav_menu( $nav_menu_content, $args ) {
    13301384        if ( isset( $args->customize_preview_nav_menus_args['can_partial_refresh'] ) && $args->customize_preview_nav_menus_args['can_partial_refresh'] ) {
    1331             $attributes = sprintf( ' data-customize-partial-id="%s"', esc_attr( 'nav_menu_instance[' . $args->customize_preview_nav_menus_args['args_hmac'] . ']' ) );
    1332             $attributes .= ' data-customize-partial-type="nav_menu_instance"';
    1333             $attributes .= sprintf( ' data-customize-partial-placement-context="%s"', esc_attr( wp_json_encode( $args->customize_preview_nav_menus_args ) ) );
     1385            $attributes       = sprintf( ' data-customize-partial-id="%s"', esc_attr( 'nav_menu_instance[' . $args->customize_preview_nav_menus_args['args_hmac'] . ']' ) );
     1386            $attributes      .= ' data-customize-partial-type="nav_menu_instance"';
     1387            $attributes      .= sprintf( ' data-customize-partial-placement-context="%s"', esc_attr( wp_json_encode( $args->customize_preview_nav_menus_args ) ) );
    13341388            $nav_menu_content = preg_replace( '#^(<\w+)#', '$1 ' . str_replace( '\\', '\\\\', $attributes ), $nav_menu_content, 1 );
    13351389        }
Note: See TracChangeset for help on using the changeset viewer.