Making WordPress.org

Changeset 6287


Ignore:
Timestamp:
12/19/2017 04:22:37 PM (7 years ago)
Author:
obenland
Message:

PLugins: Clean up formatting with phpcbf

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory
Files:
8 added
81 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/class-customizations.php

    r6217 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin;
     3
    34use \WordPressdotorg\Plugin_Directory;
    45use \WordPressdotorg\Plugin_Directory\Tools;
     
    4950        add_action( 'do_meta_boxes', array( $this, 'replace_title_global' ) );
    5051
    51         add_filter( 'postbox_classes_plugin_internal-notes',      array( __NAMESPACE__ . '\Metabox\Internal_Notes', 'postbox_classes' ) );
    52         add_filter( 'postbox_classes_plugin_plugin-committers',   array( __NAMESPACE__ . '\Metabox\Committers',    'postbox_classes' ) );
    53         add_filter( 'postbox_classes_plugin_plugin-support-reps', array( __NAMESPACE__ . '\Metabox\Support_Reps',   'postbox_classes' ) );
    54         add_filter( 'wp_ajax_add-committer',        array( __NAMESPACE__ . '\Metabox\Committers', 'add_committer' ) );
    55         add_filter( 'wp_ajax_delete-committer',     array( __NAMESPACE__ . '\Metabox\Committers', 'remove_committer' ) );
    56         add_filter( 'wp_ajax_add-support-rep',      array( __NAMESPACE__ . '\Metabox\Support_Reps', 'add_support_rep' ) );
    57         add_filter( 'wp_ajax_delete-support-rep',   array( __NAMESPACE__ . '\Metabox\Support_Reps', 'remove_support_rep' ) );
     52        add_filter( 'postbox_classes_plugin_internal-notes', array( __NAMESPACE__ . '\Metabox\Internal_Notes', 'postbox_classes' ) );
     53        add_filter( 'postbox_classes_plugin_plugin-committers', array( __NAMESPACE__ . '\Metabox\Committers', 'postbox_classes' ) );
     54        add_filter( 'postbox_classes_plugin_plugin-support-reps', array( __NAMESPACE__ . '\Metabox\Support_Reps', 'postbox_classes' ) );
     55        add_filter( 'wp_ajax_add-committer', array( __NAMESPACE__ . '\Metabox\Committers', 'add_committer' ) );
     56        add_filter( 'wp_ajax_delete-committer', array( __NAMESPACE__ . '\Metabox\Committers', 'remove_committer' ) );
     57        add_filter( 'wp_ajax_add-support-rep', array( __NAMESPACE__ . '\Metabox\Support_Reps', 'add_support_rep' ) );
     58        add_filter( 'wp_ajax_delete-support-rep', array( __NAMESPACE__ . '\Metabox\Support_Reps', 'remove_support_rep' ) );
    5859        add_action( 'wp_ajax_plugin-author-lookup', array( __NAMESPACE__ . '\Metabox\Author', 'lookup_author' ) );
    5960    }
     
    204205
    205206        if ( $rejected ) {
    206             set_transient( 'settings_errors', array( array(
    207                 'setting' => 'wporg-plugins',
    208                 'code'    => 'plugins-bulk-rejected',
    209                 'message' => sprintf( _n( '%d plugin rejected.', '%d plugins rejected.', $rejected, 'wporg-plugins' ), $rejected ),
    210                 'type'    => 'updated',
    211             ) ) );
     207            set_transient( 'settings_errors', array(
     208                array(
     209                    'setting' => 'wporg-plugins',
     210                    'code'    => 'plugins-bulk-rejected',
     211                    'message' => sprintf( _n( '%d plugin rejected.', '%d plugins rejected.', $rejected, 'wporg-plugins' ), $rejected ),
     212                    'type'    => 'updated',
     213                ),
     214            ) );
    212215        }
    213216
     
    277280
    278281        if ( $message ) {
    279             printf( '<div class="notice %1$s"><p>%2$s</p></div>', esc_attr( $type ), esc_html( $message ) ); 
     282            printf( '<div class="notice %1$s"><p>%2$s</p></div>', esc_attr( $type ), esc_html( $message ) );
    280283        }
    281284    }
     
    331334            return $data;
    332335        }
    333        
     336
    334337        $existing_plugin = Plugin_Directory\Plugin_Directory::get_plugin_post( $data['post_name'] );
    335338
     
    416419        );
    417420
    418 
    419421        add_meta_box(
    420422            'plugin-fields',
     
    449451
    450452        // Remove unnecessary metaboxes.
    451         remove_meta_box( 'commentsdiv',      'plugin', 'normal' );
     453        remove_meta_box( 'commentsdiv', 'plugin', 'normal' );
    452454        remove_meta_box( 'commentstatusdiv', 'plugin', 'normal' );
    453455
     
    489491     * Changes the permalink for internal notes to link to the edit post screen.
    490492     *
    491      * @param string $link The comment permalink with '#comment-$id' appended.
     493     * @param string      $link The comment permalink with '#comment-$id' appended.
    492494     * @param \WP_Comment $comment The current comment object.
    493495     * @return string The permalink to the given comment.
     
    602604        ob_start();
    603605        if ( isset( $_REQUEST['mode'] ) && 'dashboard' == $_REQUEST['mode'] ) {
    604             require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
     606            require_once ABSPATH . 'wp-admin/includes/dashboard.php';
    605607            _wp_dashboard_recent_comments_row( $comment );
    606608        } else {
     
    618620            'id'       => $comment->comment_ID,
    619621            'data'     => $comment_list_item,
    620             'position' => $position
     622            'position' => $position,
    621623        );
    622624
     
    631633                _nx( '%s in moderation', '%s in moderation', $counts->moderated, 'comments', 'wporg-plugins' ),
    632634                number_format_i18n( $counts->moderated )
    633             )
     635            ),
    634636        );
    635637
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/class-status-transitions.php

    r6229 r6287  
    9696
    9797        // ...or it's a white-listed status for plugin reviewers.
    98         if ( current_user_can( 'plugin_review', $postarr['ID'] ) && in_array( $postarr['post_status'], array(
     98        if ( current_user_can( 'plugin_review', $postarr['ID'] ) && in_array(
     99            $postarr['post_status'], array(
    99100                'new',
    100101                'pending',
    101             ) ) ) {
     102            )
     103        ) ) {
    102104            return $data;
    103105        }
     
    131133                $this->approved( $post->ID, $post );
    132134                break;
     135
    133136            case 'rejected':
    134137                $this->rejected( $post->ID, $post );
    135138                break;
     139
    136140            case 'publish':
    137141                $this->clean_closed_date( $post->ID );
    138142                break;
     143
    139144            case 'disabled':
    140145            case 'closed':
     
    163168        }
    164169
    165         /* Temporarily disable SVN prefill from ZIP files
     170        /*
     171         Temporarily disable SVN prefill from ZIP files
    166172        if ( $attachments ) {
    167173            $attachment = end( $attachments );
     
    191197
    192198        /* translators: 1: plugin name, 2: plugin slug */
    193         $content = sprintf( __( 'Congratulations, your plugin hosting request for %1$s has been approved.
     199        $content = sprintf(
     200            __(
     201                'Congratulations, your plugin hosting request for %1$s has been approved.
    194202
    195203Within one hour you will have access to your SVN repository with the WordPress.org username and password you used to log in and submit your request. Your username is case sensitive.
     
    223231--
    224232The WordPress Plugin Directory Team
    225 https://make.wordpress.org/plugins', 'wporg-plugins' ),
     233https://make.wordpress.org/plugins', 'wporg-plugins'
     234            ),
    226235            $post->post_title,
    227236            $post->post_name
     
    256265
    257266        /* translators: 1: plugin name, 2: plugins@wordpress.org */
    258         $content = sprintf( __( 'Unfortunately your plugin submission for %1$s has been rejected from the WordPress Plugin Directory.
     267        $content = sprintf(
     268            __(
     269                'Unfortunately your plugin submission for %1$s has been rejected from the WordPress Plugin Directory.
    259270
    260271If you believe this to be in error, please email %2$s with your plugin attached as a zip and explain why you feel your plugin should be an exception.
     
    262273--
    263274The WordPress Plugin Directory Team
    264 https://make.wordpress.org/plugins', 'wporg-plugins' ),
     275https://make.wordpress.org/plugins', 'wporg-plugins'
     276            ),
    265277            $post->post_title,
    266278            'plugins@wordpress.org'
     
    340352            'comment_author'       => $user->display_name,
    341353            'comment_author_email' => $user->user_email,
    342             'comment_author_url'   => $user->user_url, 
     354            'comment_author_url'   => $user->user_url,
    343355            'comment_type'         => 'internal-note',
    344356            'comment_post_ID'      => $post_id,
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-committers.php

    r5867 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\List_Table;
     3
    34use WordPressdotorg\Plugin_Directory\Tools;
    45
     
    4546     */
    4647    public function prepare_items() {
    47         $plugin_slug         = get_post()->post_name;
     48        $plugin_slug = get_post()->post_name;
    4849        if ( ! $plugin_slug ) {
    4950            return;
    5051        }
    51         $existing_committers = Tools::get_plugin_committers( $plugin_slug );
    52         $this->items         = array_map( function ( $user ) {
     52
     53        $this->items = array_map( function ( $user ) {
    5354            return new \WP_User( $user );
    54         }, $existing_committers );
     55        }, Tools::get_plugin_committers( $plugin_slug ) );
    5556    }
    5657
     
    148149            $user_object = get_userdata( (int) $user_object );
    149150        }
    150         $user_object->filter = 'display';
     151        $user_object->filter                = 'display';
    151152        list( $columns, $hidden, $primary ) = $this->get_column_info();
    152153
     
    157158        $post_id = get_post()->ID;
    158159        if ( current_user_can( 'plugin_remove_committer', $post_id ) && $user_object->ID != get_current_user_id() ) {
    159             $actions['delete'] = "<a class='submitremove' data-wp-lists='delete:the-committer-list:committer-{$user_object->ID}:faafaa:post_id={$post_id}' href='" . wp_nonce_url( 'users.php?action=remove&amp;committer=' . $user_object->ID, "remove-committer-{$user_object->ID}" ) . "'>" . __( 'Remove', 'wporg-plugins' ) . "</a>";
     160            $actions['delete'] = "<a class='submitremove' data-wp-lists='delete:the-committer-list:committer-{$user_object->ID}:faafaa:post_id={$post_id}' href='" . wp_nonce_url( 'users.php?action=remove&amp;committer=' . $user_object->ID, "remove-committer-{$user_object->ID}" ) . "'>" . __( 'Remove', 'wporg-plugins' ) . '</a>';
    160161        }
    161162
     
    188189
    189190                case 'username':
    190                     $row .= sprintf( '<strong><a href="%s">%s</a></strong><br />&lt;%s&gt;',
     191                    $row .= sprintf(
     192                        '<strong><a href="%s">%s</a></strong><br />&lt;%s&gt;',
    191193                        esc_url( '//profiles.wordpress.org/' . $user_object->user_nicename ),
    192194                        $user_object->user_login,
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-plugin-comments.php

    r2764 r6287  
    3838        $singular = $this->_args['singular'];
    3939
    40         wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
     40        wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' );
    4141        ?>
    4242        <table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>" data-comment-type="<?php echo esc_attr( $this->comment_type ); ?>" style="display:none;">
     
    4747            <tbody id="the-comment-list"<?php if ( $singular ) { echo " data-wp-lists='list:$singular'"; } ?>>
    4848            <?php
    49                 if ( ! $output_empty ) {
    50                     $this->display_rows_or_placeholder();
    51                 }
     49            if ( ! $output_empty ) {
     50                $this->display_rows_or_placeholder();
     51            }
    5252            ?>
    5353            </tbody>
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-plugin-posts.php

    r5797 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\List_Table;
     3
    34use \WordPressdotorg\Plugin_Directory\Tools;
    45use \WordPressdotorg\Plugin_Directory\Template;
     
    2122
    2223        $post_type = $this->screen->post_type;
    23         $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' );
     24        $per_page  = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' );
    2425
    2526        /** This filter is documented in wp-admin/includes/post.php */
     
    3334            $post_counts = (array) wp_count_posts( $post_type, 'readable' );
    3435
    35             if ( isset( $_REQUEST['post_status'] ) && in_array( $_REQUEST['post_status'] , $avail_post_stati ) ) {
     36            if ( isset( $_REQUEST['post_status'] ) && in_array( $_REQUEST['post_status'], $avail_post_stati ) ) {
    3637                $total_items = $post_counts[ $_REQUEST['post_status'] ];
    3738            } elseif ( isset( $_REQUEST['show_sticky'] ) && $_REQUEST['show_sticky'] ) {
     
    6061        $this->set_pagination_args( array(
    6162            'total_items' => $total_items,
    62             'per_page' => $per_page
     63            'per_page'    => $per_page,
    6364        ) );
    6465    }
     
    6970     */
    7071    protected function get_bulk_actions() {
    71         $actions = array();
     72        $actions       = array();
    7273        $post_type_obj = get_post_type_object( $this->screen->post_type );
    7374
     
    9293        $post_type     = $this->screen->post_type;
    9394        $posts_columns = array(
    94             'cb'        => '<input type="checkbox" />',
     95            'cb'     => '<input type="checkbox" />',
    9596            /* translators: manage posts column name */
    96             'title'     => _x( 'Title', 'column name', 'wporg-plugins' ),
    97             'author'    => __( 'Submitter', 'wporg-plugins' ),
     97            'title'  => _x( 'Title', 'column name', 'wporg-plugins' ),
     98            'author' => __( 'Submitter', 'wporg-plugins' ),
    9899        );
    99100
     
    104105
    105106        foreach ( $taxonomies as $taxonomy ) {
    106             $column_key = 'taxonomy-' . $taxonomy;
     107            $column_key                   = 'taxonomy-' . $taxonomy;
    107108            $posts_columns[ $column_key ] = get_taxonomy( $taxonomy )->labels->name;
    108109        }
    109110
    110111        $posts_columns['comments'] = '<span class="vers comment-grey-bubble" title="' . esc_attr__( 'Internal Notes', 'wporg-plugins' ) . '"><span class="screen-reader-text">' . __( 'Internal Notes', 'wporg-plugins' ) . '</span></span>';
    111         $posts_columns['date'] = __( 'Date', 'wporg-plugins' );
     112        $posts_columns['date']     = __( 'Date', 'wporg-plugins' );
    112113
    113114        /**
     
    133134     *
    134135     * @param int|\WP_Post $post
    135      * @param int         $level
     136     * @param int          $level
    136137     */
    137138    public function single_row( $post, $level = 0 ) {
    138139        $global_post = get_post();
    139140
    140         $post = get_post( $post );
     141        $post                = get_post( $post );
    141142        $this->current_level = $level;
    142143
     
    155156
    156157        if ( $post->post_parent ) {
    157             $count = count( get_post_ancestors( $post->ID ) );
     158            $count     = count( get_post_ancestors( $post->ID ) );
    158159            $classes[] = 'level-' . $count;
    159160        } else {
     
    184185
    185186        $post_type_object = get_post_type_object( $post->post_type );
    186         $can_edit_post = current_user_can( 'edit_post', $post->ID );
    187         $actions = array();
    188         $title = _draft_or_post_title();
     187        $can_edit_post    = current_user_can( 'edit_post', $post->ID );
     188        $actions          = array();
     189        $title            = _draft_or_post_title();
    189190
    190191        if ( $can_edit_post && 'trash' != $post->post_status ) {
     
    260261        $screen = $this->screen;
    261262
    262         $taxonomy_names = get_object_taxonomies( $screen->post_type );
     263        $taxonomy_names          = get_object_taxonomies( $screen->post_type );
    263264        $hierarchical_taxonomies = array();
    264265
    265266        foreach ( $taxonomy_names as $taxonomy_name ) {
    266 
    267267            $taxonomy = get_taxonomy( $taxonomy_name );
    268268
     
    302302    <?php foreach ( $hierarchical_taxonomies as $taxonomy ) : ?>
    303303
    304             <span class="title inline-edit-categories-label"><?php echo esc_html( $taxonomy->labels->name ) ?></span>
     304            <span class="title inline-edit-categories-label"><?php echo esc_html( $taxonomy->labels->name ); ?></span>
    305305            <input type="hidden" name="tax_input[<?php echo esc_attr( $taxonomy->name ); ?>][]" value="0" />
    306             <ul class="cat-checklist <?php echo esc_attr( $taxonomy->name )?>-checklist">
    307                 <?php wp_terms_checklist( null, array( 'taxonomy' => $taxonomy->name ) ) ?>
     306            <ul class="cat-checklist <?php echo esc_attr( $taxonomy->name ); ?>-checklist">
     307                <?php wp_terms_checklist( null, array( 'taxonomy' => $taxonomy->name ) ); ?>
    308308            </ul>
    309309
     
    355355        $mine            = '';
    356356
    357         $plugins = Tools::get_users_write_access_plugins( $current_user_id );
    358         $plugins = array_map( 'sanitize_title_for_query', $plugins );
    359         $exclude_states   = get_post_stati( array(
     357        $plugins        = Tools::get_users_write_access_plugins( $current_user_id );
     358        $plugins        = array_map( 'sanitize_title_for_query', $plugins );
     359        $exclude_states = get_post_stati( array(
    360360            'show_in_admin_all_list' => false,
    361361        ) );
     
    378378
    379379        if ( ! empty( $plugins ) ) {
    380             $user_post_count_query = str_replace('AND post_author = %d', "AND ( post_author = %d OR post_name IN ( '" . implode( "','", $plugins ) . "' ) )", $user_post_count_query );
     380            $user_post_count_query = str_replace( 'AND post_author = %d', "AND ( post_author = %d OR post_name IN ( '" . implode( "','", $plugins ) . "' ) )", $user_post_count_query );
    381381        }
    382382
     
    395395            $mine_args = array(
    396396                'post_type' => $post_type,
    397                 'author'    => $current_user_id
     397                'author'    => $current_user_id,
    398398            );
    399399
     
    410410
    411411            if ( ! current_user_can( 'plugin_review' ) ) {
    412                 $status_links['mine'] = $this->get_edit_link( $mine_args, $mine_inner_html, 'current' );;
     412                $status_links['mine'] = $this->get_edit_link( $mine_args, $mine_inner_html, 'current' );
     413
    413414                return $status_links;
    414415            } else {
     
    417418
    418419            $all_args['all_posts'] = 1;
    419             $class = '';
     420            $class                 = '';
    420421        }
    421422
     
    440441        }
    441442
    442         foreach ( get_post_stati(array('show_in_admin_status_list' => true), 'objects') as $status ) {
     443        foreach ( get_post_stati( array( 'show_in_admin_status_list' => true ), 'objects' ) as $status ) {
    443444            $class = '';
    444445
     
    453454            }
    454455
    455             if ( isset($_REQUEST['post_status']) && $status_name === $_REQUEST['post_status'] ) {
     456            if ( isset( $_REQUEST['post_status'] ) && $status_name === $_REQUEST['post_status'] ) {
    456457                $class = 'current';
    457458            }
     
    459460            $status_args = array(
    460461                'post_status' => $status_name,
    461                 'post_type' => $post_type,
     462                'post_type'   => $post_type,
    462463            );
    463464
     
    474475
    475476            $sticky_args = array(
    476                 'post_type' => $post_type,
    477                 'show_sticky' => 1
     477                'post_type'   => $post_type,
     478                'show_sticky' => 1,
    478479            );
    479480
     
    490491
    491492            $sticky_link = array(
    492                 'sticky' => $this->get_edit_link( $sticky_args, $sticky_inner_html, $class )
     493                'sticky' => $this->get_edit_link( $sticky_args, $sticky_inner_html, $class ),
    493494            );
    494495
    495496            // Sticky comes after Publish, or if not listed, after All.
    496             $split = 1 + array_search( ( isset( $status_links['publish'] ) ? 'publish' : 'all' ), array_keys( $status_links ) );
     497            $split        = 1 + array_search( ( isset( $status_links['publish'] ) ? 'publish' : 'all' ), array_keys( $status_links ) );
    497498            $status_links = array_merge( array_slice( $status_links, 0, $split ), $sticky_link, array_slice( $status_links, $split ) );
    498499        }
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/list-table/class-support-reps.php

    r5867 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\List_Table;
     3
    34use WordPressdotorg\Plugin_Directory\Tools;
    45
     
    4546     */
    4647    public function prepare_items() {
    47         $plugin_slug         = get_post()->post_name;
     48        $plugin_slug = get_post()->post_name;
    4849        if ( ! $plugin_slug ) {
    4950            return;
    5051        }
    51         $existing_support_reps = Tools::get_plugin_support_reps( $plugin_slug );
    52         $this->items           = array_map( function ( $user ) {
     52
     53        $this->items = array_map( function ( $user ) {
    5354            return new \WP_User( $user );
    54         }, $existing_support_reps );
     55        }, Tools::get_plugin_support_reps( $plugin_slug ) );
    5556    }
    5657
     
    148149            $user_object = get_userdata( (int) $user_object );
    149150        }
    150         $user_object->filter = 'display';
     151        $user_object->filter                = 'display';
    151152        list( $columns, $hidden, $primary ) = $this->get_column_info();
    152153
     
    157158        $post_id = get_post()->ID;
    158159        if ( current_user_can( 'plugin_remove_support_rep', $post_id ) && $user_object->ID != get_current_user_id() ) {
    159             $actions['delete'] = "<a class='submitremove' data-wp-lists='delete:the-support-rep-list:support-rep-{$user_object->ID}:faafaa:post_id={$post_id}' href='" . wp_nonce_url( 'users.php?action=remove&amp;support-rep=' . $user_object->ID, "remove-support-rep-{$user_object->ID}" ) . "'>" . __( 'Remove', 'wporg-plugins' ) . "</a>";
     160            $actions['delete'] = "<a class='submitremove' data-wp-lists='delete:the-support-rep-list:support-rep-{$user_object->ID}:faafaa:post_id={$post_id}' href='" . wp_nonce_url( 'users.php?action=remove&amp;support-rep=' . $user_object->ID, "remove-support-rep-{$user_object->ID}" ) . "'>" . __( 'Remove', 'wporg-plugins' ) . '</a>';
    160161        }
    161162
     
    188189
    189190                case 'username':
    190                     $row .= sprintf( '<strong><a href="%s">%s</a></strong><br />&lt;%s&gt;',
     191                    $row .= sprintf(
     192                        '<strong><a href="%s">%s</a></strong><br />&lt;%s&gt;',
    191193                        esc_url( '//profiles.wordpress.org/' . $user_object->user_nicename ),
    192194                        $user_object->user_login,
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-author-card.php

    r6170 r6287  
    2424        add_action( 'wporg_usercards_after_content', array(
    2525            __NAMESPACE__ . '\Author_Card',
    26             'show_warning_flags'
     26            'show_warning_flags',
    2727        ), 10, 6 );
    2828
     
    3939        }
    4040
    41         $author_commit  = Tools::get_users_write_access_plugins( $author );
     41        $author_commit    = Tools::get_users_write_access_plugins( $author );
    4242        $author_plugins_q = array(
    4343            'author'         => $author->ID,
     
    5050        }
    5151        $author_plugins = get_posts( $author_plugins_q );
    52         $all_plugins = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_name IN ('" . implode( "', '", array_merge( $author_commit, wp_list_pluck( $author_plugins, 'post_name' ) ) ) . "')" );
     52        $all_plugins    = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_name IN ('" . implode( "', '", array_merge( $author_commit, wp_list_pluck( $author_plugins, 'post_name' ) ) ) . "')" );
    5353        ?>
    5454        <div class="profile">
     
    5959                <?php
    6060                    $author_links = array(
    61                         sprintf( '<a href="//make.wordpress.org/pluginrepo/?s=%s" title="%s">P2</a>',
     61                        sprintf(
     62                            '<a href="//make.wordpress.org/pluginrepo/?s=%s" title="%s">P2</a>',
    6263                            urlencode( esc_attr( $author->user_nicename ) ),
    6364                            esc_attr__( 'Click to search Pluginrepo P2 for mentions of this author', 'wporg-plugins' )
    6465                        ),
    65                         sprintf( '<a href="https://supportpress.wordpress.org/plugins/?q=%s&status=&todo=Search+%%C2%%BB" title="%s">SP</a>',
     66                        sprintf(
     67                            '<a href="https://supportpress.wordpress.org/plugins/?q=%s&status=&todo=Search+%%C2%%BB" title="%s">SP</a>',
    6668                            urlencode( esc_attr( $author->user_nicename ) ),
    6769                            esc_attr__( 'Click to search Pluginrepo SupportPress for mentions of this author', 'wporg-plugins' )
     
    7779                <div class="profile-email">
    7880                    &lt;<?php echo $author->user_email; ?>&gt;
    79                     <span class="profile-sp-link"><?php
    80                         printf( '[ <a href="https://supportpress.wordpress.org/plugins/?sender=%s&status=&todo=Search" title="%s">SP</a> ]',
     81                    <span class="profile-sp-link">
     82                    <?php
     83                        printf(
     84                            '[ <a href="https://supportpress.wordpress.org/plugins/?sender=%s&status=&todo=Search" title="%s">SP</a> ]',
    8185                            esc_attr( $author->user_email ),
    8286                            esc_attr__( 'Click to search Pluginrepo SupportPress for emails sent to/from this email address', 'wporg-plugins' )
    8387                        );
    84                     ?></span>
     88                    ?>
     89                    </span>
    8590                </div>
    86                 <div class="profile-join"><?php
     91                <div class="profile-join">
     92                <?php
    8793                    /* translators: 1: time ago, 2: registration date */
    88                     printf( __( 'Joined %1$s ago (%2$s)', 'wporg-plugins' ),
     94                    printf(
     95                        __( 'Joined %1$s ago (%2$s)', 'wporg-plugins' ),
    8996                        human_time_diff( strtotime( $author->user_registered ) ),
    9097                        date( 'Y-M-d', strtotime( $author->user_registered ) )
    9198                    );
    92                 ?></div>
     99                ?>
     100                </div>
    93101            </div>
    94102        </div>
     
    103111        <?php
    104112        if ( defined( 'WPORG_SUPPORT_FORUMS_BLOGID' ) ) {
    105             $user = new \WP_User( $author, '', WPORG_SUPPORT_FORUMS_BLOGID );
     113            $user     = new \WP_User( $author, '', WPORG_SUPPORT_FORUMS_BLOGID );
    106114            $statuses = array();
    107115
     
    123131                $labels = array();
    124132                foreach ( $statuses as $status ) {
    125                     $labels[] = sprintf( '<strong><span title="%s">%s</span></strong>',
     133                    $labels[] = sprintf(
     134                        '<strong><span title="%s">%s</span></strong>',
    126135                        esc_attr( $status['desc'] ),
    127136                        $status['text']
     
    150159
    151160            /* translators: %s: comma-separated list of plugin author's IP addresses */
    152             printf( '<p>' . __( 'IPs : %s', 'wporg-plugins' ) . '</p>',
     161            printf(
     162                '<p>' . __( 'IPs : %s', 'wporg-plugins' ) . '</p>',
    153163                implode( ', ', array_map( array( __NAMESPACE__ . '\Author_Card', 'link_ip' ), $user_ips ) )
    154164            );
     
    170180                foreach ( $all_plugins as $plugin ) {
    171181                    echo '<li>';
    172                     $note    = false;
    173                     $extra   = '';
    174                     $classes = $tooltips = array();
     182                    $note         = false;
     183                    $extra        = '';
     184                    $classes      = $tooltips = array();
    175185                    $last_updated = get_post_meta( $plugin->ID, 'last_updated', true );
    176186
     
    187197                    if ( in_array( $plugin->post_status, array( 'new', 'pending' ) ) ) {
    188198                        /* translators: %s: time ago */
    189                         $extra .= sprintf( __( '(requested %s ago)', 'wporg-plugins' ),
     199                        $extra     .= sprintf(
     200                            __( '(requested %s ago)', 'wporg-plugins' ),
    190201                            human_time_diff( strtotime( $last_updated ) )
    191202                        );
     
    200211                    } elseif ( 'closed' === $plugin->post_status ) {
    201212                        /* translators: %s: close/disable reason */
    202                         $extra .= sprintf( __( '(closed: %s)', 'wporg-plugins' ),
     213                        $extra     .= sprintf(
     214                            __( '(closed: %s)', 'wporg-plugins' ),
    203215                            Template::get_close_reason( $plugin )
    204216                        );
     
    208220                    } elseif ( 'disabled' === $plugin->post_status ) {
    209221                        /* translators: %s: close/disable reason */
    210                         $extra .= sprintf( __( '(disabled: %s)', 'wporg-plugins' ),
     222                        $extra     .= sprintf(
     223                            __( '(disabled: %s)', 'wporg-plugins' ),
    211224                            Template::get_close_reason( $plugin )
    212225                        );
    213226                        $tooltips[] = __( 'Plugin is disabled (updates are active).', 'wporg-plugins' );
    214227                        $classes[]  = 'profile-plugin-closed';
    215                         $note = true;
     228                        $note       = true;
    216229
    217230                    } else {
     
    226239                            $tooltips[] = __( 'Plugin is open.', 'wporg-plugins' );
    227240                        }
    228                         $classes[]      = 'profile-plugin-open';
     241                        $classes[] = 'profile-plugin-open';
    229242                    }
    230243
    231244                    echo '<span>';
    232245
    233                     printf( '<a class="%1$s" title="%2$s" href="%3$s">%4$s</a>',
     246                    printf(
     247                        '<a class="%1$s" title="%2$s" href="%3$s">%4$s</a>',
    234248                        esc_attr( implode( ' ', $classes ) ),
    235249                        esc_attr( implode( ' ', $tooltips ) ),
     
    243257
    244258                    $plugin_links = array(
    245                         sprintf( '<a href="%s" title="%s">%s</a>',
     259                        sprintf(
     260                            '<a href="%s" title="%s">%s</a>',
    246261                            esc_url( get_edit_post_link( $plugin->ID, '' ) ),
    247262                            esc_attr__( 'Edit this plugin', 'wporg-plugins' ),
    248263                            __( 'Edit', 'wporg-plugins' )
    249264                        ),
    250                         sprintf( '<a href="//make.wordpress.org/pluginrepo/?s=%s" title="%s">P2</a>',
     265                        sprintf(
     266                            '<a href="//make.wordpress.org/pluginrepo/?s=%s" title="%s">P2</a>',
    251267                            urlencode( esc_attr( $plugin_slug ) ),
    252268                            esc_attr__( 'Click to search Pluginrepo P2 for mentions of this plugin', 'wporg-plugins' )
    253269                        ),
    254                         sprintf( '<a href="https://supportpress.wordpress.org/plugins/?q=%s&status=&todo=Search+%%C2%%BB" title="%s">SP</a>',
     270                        sprintf(
     271                            '<a href="https://supportpress.wordpress.org/plugins/?q=%s&status=&todo=Search+%%C2%%BB" title="%s">SP</a>',
    255272                            urlencode( esc_attr( $plugin_slug ) ),
    256273                            esc_attr__( 'Click to search Pluginrepo SupportPress for mentions of this plugin', 'wporg-plugins' )
     
    290307     */
    291308    protected static function link_ip( $ip ) {
    292         return sprintf( '<a href="%1$s">%2$s</a>', esc_url( add_query_arg( array(
    293             'post_type' => 'plugin',
    294             's'         => $ip,
    295         ), admin_url( 'edit.php' ) ) ), $ip );
     309        return sprintf(
     310            '<a href="%1$s">%2$s</a>',
     311            esc_url( add_query_arg( array(
     312                'post_type' => 'plugin',
     313                's'         => $ip,
     314            ), admin_url( 'edit.php' ) ) ),
     315            $ip
     316        );
    296317    }
    297318}
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-author.php

    r3506 r6287  
    1515     */
    1616    public static function display() {
    17         $post  = get_post();
    18         $value = empty( $post->ID ) ? get_current_user_id() : $post->post_author;
    19         $user  = new \WP_User( $value );
     17        $post   = get_post();
     18        $value  = empty( $post->ID ) ? get_current_user_id() : $post->post_author;
     19        $user   = new \WP_User( $value );
     20        $source = add_query_arg( array(
     21            'action'      => 'plugin-author-lookup',
     22            '_ajax_nonce' => wp_create_nonce( 'wporg_plugins_author_lookup' ),
     23        ), admin_url( 'admin-ajax.php' ) );
    2024
    2125        ?>
     
    2731            jQuery( function( $ ) {
    2832                $( '#post_author_username' ).autocomplete( {
    29                     source: '<?php echo add_query_arg( array( 'action' => 'plugin-author-lookup', '_ajax_nonce' => wp_create_nonce( 'wporg_plugins_author_lookup' ) ), admin_url( 'admin-ajax.php' ) ); ?>',
     33                    source: '<?php echo esc_js( $source ); ?>',
    3034                    minLength: 2,
    3135                    delay: 700,
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-committers.php

    r2994 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\Metabox;
     3
    34use WordPressdotorg\Plugin_Directory\Admin\List_Table;
    45use WordPressdotorg\Plugin_Directory\Tools;
     
    3637     */
    3738    public static function add_committer() {
    38         $login    = isset( $_POST['add_committer'] ) ? sanitize_user( $_POST['add_committer'] ) : '';
    39         $post_id  = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
     39        $login   = isset( $_POST['add_committer'] ) ? sanitize_user( $_POST['add_committer'] ) : '';
     40        $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
    4041
    4142        check_ajax_referer( 'add-committer' );
     
    8586     */
    8687    public static function remove_committer() {
    87         $id      = isset( $_POST['id'] )      ? (int) $_POST['id']      : 0;
     88        $id      = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
    8889        $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
    8990
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-controls.php

    r6162 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\Metabox;
     3
    34use WordPressdotorg\Plugin_Directory\Admin\Status_Transitions;
    45use WordPressdotorg\Plugin_Directory\Template;
     
    9091        }
    9192
    92         $close_reasons  = Template::get_close_reasons();
    93         $close_reason   = (string) get_post_meta( $post->ID, '_close_reason', true );
     93        $close_reasons = Template::get_close_reasons();
     94        $close_reason  = (string) get_post_meta( $post->ID, '_close_reason', true );
    9495
    9596        $reason_label   = Template::get_close_reason();
     
    110111            <?php endif; ?>
    111112
    112             <?php if (
     113            <?php
     114            if (
    113115                    ( in_array( 'closed', $statuses, true ) || in_array( 'disabled', $statuses, true ) )
    114116                &&
    115117                    ( ! in_array( $post->post_status, array( 'closed', 'disabled' ) ) || $reason_unknown )
    116                 ) : ?>
     118                ) :
     119                ?>
    117120
    118121                <p>
     
    134137
    135138            <?php endforeach; ?>
    136         </div><!-- .misc-pub-section --><?php
     139        </div><!-- .misc-pub-section -->
     140        <?php
    137141    }
    138142
     
    148152            <label for="tested_with"><?php _e( 'Tested With:', 'wporg-plugins' ); ?></label>
    149153            <strong id="tested-with-display"><?php echo ( $tested_up_to ? sprintf( 'WordPress %s', $tested_up_to ) : $unknown_string ); ?></strong>
    150 
    151         </div><!-- .misc-pub-section --><?php
     154        </div><!-- .misc-pub-section -->
     155        <?php
    152156    }
    153157
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-custom-fields.php

    r5841 r6287  
    1111        $post   = get_post();
    1212        $fields = array(
    13             'version' => 'Latest Plugin Version',
    14             'stable_tag' => 'Stable Tag',
    15             'tested' => 'Tested With',
    16             'requires' => 'Requires',
    17             'requires_php' => 'Requires PHP',
    18             'donate_link' => 'Donate URL',
    19             'header_plugin_uri' => 'Plugin URI',
    20             'header_author' => 'Plugin Author',
    21             'header_author_uri' => 'Plugin Author URI',
    22             'header_textdomain' => 'Plugin TextDomain',
     13            'version'            => 'Latest Plugin Version',
     14            'stable_tag'         => 'Stable Tag',
     15            'tested'             => 'Tested With',
     16            'requires'           => 'Requires',
     17            'requires_php'       => 'Requires PHP',
     18            'donate_link'        => 'Donate URL',
     19            'header_plugin_uri'  => 'Plugin URI',
     20            'header_author'      => 'Plugin Author',
     21            'header_author_uri'  => 'Plugin Author URI',
     22            'header_textdomain'  => 'Plugin TextDomain',
    2323            'header_description' => 'Plugin Description',
    2424        );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-internal-notes.php

    r2763 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\Metabox;
     3
    34use WordPressdotorg\Plugin_Directory\Admin\List_Table\Plugin_Comments;
    45
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-review-tools.php

    r6028 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\Metabox;
     3
    34use WordPressdotorg\Plugin_Directory\Tools;
    45
     
    1415        $zip_files = array();
    1516        foreach ( get_attached_media( 'application/zip', $post ) as $zip_file ) {
    16             $zip_files[ $zip_file->post_date ] = array( wp_get_attachment_url( $zip_file->ID ), $zip_file );
     17            $zip_files[ $zip_file->post_date ] = array( wp_get_attachment_url( $zip_file->ID ), $zip_file );
    1718        }
    1819        uksort( $zip_files, function( $a, $b ) {
     
    2223        if ( $zip_url = get_post_meta( $post->ID, '_submitted_zip', true ) ) {
    2324            // Back-compat only.
    24             $zip_files[ 'User provided URL' ] = array( $zip_url, null );
     25            $zip_files['User provided URL'] = array( $zip_url, null );
    2526        }
    2627
    2728        foreach ( $zip_files as $zip_date => $zip ) {
    2829            list( $zip_url, $zip_file ) = $zip;
    29             $zip_size = ( is_object( $zip_file ) ? size_format( filesize( get_attached_file( $zip_file->ID ) ), 1 ) : __( 'unknown size', 'wporg-plugins' ) );
    30             printf( '<p>' . __( '<strong>Zip file:</strong> %s', 'wporg-plugins' ) . '</p>',
     30            $zip_size                   = ( is_object( $zip_file ) ? size_format( filesize( get_attached_file( $zip_file->ID ) ), 1 ) : __( 'unknown size', 'wporg-plugins' ) );
     31            printf(
     32                '<p>' . __( '<strong>Zip file:</strong> %s', 'wporg-plugins' ) . '</p>',
    3133                sprintf( '%s <a href="%s">%s</a> (%s)', esc_html( $zip_date ), esc_url( $zip_url ), esc_html( $zip_url ), esc_html( $zip_size ) )
    3234            );
     
    6567                $subject = sprintf( __( '[WordPress Plugin Directory] Notice: %s', 'wporg-plugins' ), $post->post_title );
    6668            }
    67            
     69
    6870            ?>
    6971            <form id="contact-author" class="contact-author" method="POST" action="https://supportpress.wordpress.org/plugins/thread-new.php">
     
    7577            </form>
    7678            <?php
     79
    7780            return $string;
    7881        } );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/metabox/class-support-reps.php

    r5867 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\Admin\Metabox;
     3
    34use WordPressdotorg\Plugin_Directory\Admin\List_Table;
    45use WordPressdotorg\Plugin_Directory\Tools;
     
    3637     */
    3738    public static function add_support_rep() {
    38         $login    = isset( $_POST['add_support_rep'] ) ? sanitize_user( $_POST['add_support_rep'] ) : '';
    39         $post_id  = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
     39        $login   = isset( $_POST['add_support_rep'] ) ? sanitize_user( $_POST['add_support_rep'] ) : '';
     40        $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
    4041
    4142        check_ajax_referer( 'add-support-rep' );
     
    8586     */
    8687    public static function remove_support_rep() {
    87         $id      = isset( $_POST['id'] )      ? (int) $_POST['id']      : 0;
     88        $id      = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
    8889        $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
    8990
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/tools/class-author-cards.php

    r5314 r6287  
    2525     */
    2626    private function __construct() {
    27         add_action( 'admin_menu',            array( $this, 'add_to_menu' ) );
     27        add_action( 'admin_menu', array( $this, 'add_to_menu' ) );
    2828        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) );
    2929    }
     
    3838            case 'tools_page_authorcards':
    3939                wp_enqueue_style( 'plugin-admin-post-css', plugins_url( 'css/edit-form.css', Plugin_Directory\PLUGIN_FILE ), array( 'edit' ), 4 );
    40             break;
     40                break;
    4141        }
    4242    }
    43    
     43
    4444    public function add_to_menu() {
    4545        add_submenu_page(
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/admin/tools/class-stats-report.php

    r5919 r6287  
    4242     * Returns the stats.
    4343     *
    44      * @param array  $args {
    45      *     Optional. Array of override arguments
     44     * @param array $args {
     45     *    Optional. Array of override arguments
    4646     *
    4747     *     @type string $date       The date (in Y-m-d format) for the end of the stats time interval (non-inclusive). Default today.
     
    8888        // Plugin Status Changes
    8989        // --------------
    90 
    9190        $states = array( 'plugin_approve', 'plugin_delist', 'plugin_new', 'plugin_reject' );
    9291        foreach ( $states as $state ) {
    9392            // The stats table used by bbPress1 (and could still be used, but isn't yet).
    9493            // Won't provide meaningful results for time intervals that include days after the switch to WP.
    95             $stats[ $state ] = $wpdb->get_var( $wpdb->prepare (
     94            $stats[ $state ] = $wpdb->get_var( $wpdb->prepare(
    9695                "SELECT SUM(views) FROM stats_extras WHERE name = 'plugin' AND date < %s AND date > DATE_SUB( %s, INTERVAL %d DAY ) AND value = %s",
    9796                $args['date'],
     
    104103        // Temporary until the above is updated to work with the new directory:
    105104        foreach ( array( 'plugin_approve', 'plugin_delist', 'plugin_reject' ) as $unused_stat ) {
    106             if ( ! $stats[ $unused_stat ] ) $stats[ $unused_stat ] = __( 'N/A', 'wporg-plugins' );
     105            if ( ! $stats[ $unused_stat ] ) {
     106                $stats[ $unused_stat ] = __( 'N/A', 'wporg-plugins' );
     107            }
    107108        }
    108109
     
    110111        // Plugin Queue
    111112        // --------------
    112 
    113113        // # of plugins currently in the queue that are new (have not been processed/replied to yet)
    114114        $stats['in_queue_new'] = $wpdb->get_var(
     
    142142        // SupportPress Queue
    143143        // --------------
    144 
    145144        // # of currently open threads
    146145        $stats['supportpress_queue_total_open'] = $wpdb->get_var(
     
    194193        }
    195194
    196         $args['num_days'] = empty( $_POST['days'] ) ? '' : absint( $_POST['days'] );
     195        $args['num_days']   = empty( $_POST['days'] ) ? '' : absint( $_POST['days'] );
    197196        $args['recentdays'] = empty( $_POST['recentdays'] ) ? '' : absint( $_POST['recentdays'] );
    198197
     
    212211        <tr><th scope="row"><label for="date"><?php _e( 'Date', 'wporg-plugins' ); ?></label></th><td>
    213212        <input name="date" type="text" id="date" value="<?php echo esc_attr( $args['date'] ); ?>" class="text">
    214         <p><?php
     213        <p>
     214        <?php
    215215            /* translators: %s: today's date */
    216             printf( __( 'The day up to which stats are to be gathered. In YYYY-MM-DD format. Defaults to today (%s).', 'wporg-plugins' ),
     216            printf(
     217                __( 'The day up to which stats are to be gathered. In YYYY-MM-DD format. Defaults to today (%s).', 'wporg-plugins' ),
    217218                $date
    218219            );
    219         ?></p>
     220        ?>
     221        </p>
    220222        </td></tr>
    221223
    222224        <tr><th scope="row"><label for="days"><?php _e( 'Number of days', 'wporg-plugins' ); ?></label></th><td>
    223225        <input name="days" type="text" id="days" value="<?php echo esc_attr( $args['num_days'] ); ?>" class="small-text">
    224         <p><?php
     226        <p>
     227        <?php
    225228            /* translators: %d: 7 */
    226             printf( __( 'The number of days before "Date" to include in stats. Default is %d.', 'wporg-plugins' ),
     229            printf(
     230                __( 'The number of days before "Date" to include in stats. Default is %d.', 'wporg-plugins' ),
    227231                7
    228232            );
    229         ?></p>
     233        ?>
     234        </p>
    230235        </td></tr>
    231236
    232237        <tr><th scope="row"><label for="recentdays"><?php _e( '"Recent" number of days', 'wporg-plugins' ); ?></label></th><td>
    233238        <input name="recentdays" type="text" id="recentdays" value="<?php echo esc_attr( $args['recentdays'] ); ?>" class="small-text">
    234         <p><?php
     239        <p>
     240        <?php
    235241            /* translators: %d: 7 */
    236             printf( __( 'The number of days before today to consider as being "recent" (stats marked with **). Default is %d.', 'wporg-plugins' ),
     242            printf(
     243                __( 'The number of days before today to consider as being "recent" (stats marked with **). Default is %d.', 'wporg-plugins' ),
    237244                7
    238245            );
    239         ?></p>
     246        ?>
     247        </p>
    240248        </td></tr>
    241249
     
    246254        <h2><?php _e( 'Stats', 'wporg-plugins' ); ?></h2>
    247255
    248         <p><?php
     256        <p>
     257        <?php
    249258            /* translators: 1: number of days, 2: selected date, 3: number of most recent days */
    250             printf( __( 'Displaying stats for the %1$d days preceding %2$s (and other stats for the %3$d most recent days).', 'wporg-plugins' ),
     259            printf(
     260                __( 'Displaying stats for the %1$d days preceding %2$s (and other stats for the %3$d most recent days).', 'wporg-plugins' ),
    251261                $stats['num_days'],
    252262                $stats['date'],
    253263                $stats['recentdays']
    254264            );
    255         ?></p>
     265        ?>
     266        </p>
    256267
    257268        <h3><?php _e( 'Plugin Status Change Stats', 'wporg-plugins' ); ?></h3>
    258269
    259270        <ul style="font-family:Courier New;">
    260             <li><?php
     271            <li>
     272            <?php
    261273                /* translators: %d: number of requested plugins */
    262                 printf( __( 'Plugins requested : %d', 'wporg-plugins' ),
     274                printf(
     275                    __( 'Plugins requested : %d', 'wporg-plugins' ),
    263276                    $stats['plugin_new']
    264277                );
    265             ?></li>
    266             <li><?php
     278            ?>
     279            </li>
     280            <li>
     281            <?php
    267282                /* translators: %s: number of rejected plugins */
    268                 printf( __( 'Plugins rejected : %s', 'wporg-plugins' ),
     283                printf(
     284                    __( 'Plugins rejected : %s', 'wporg-plugins' ),
    269285                    $stats['plugin_reject']
    270286                );
    271             ?></li>
    272             <li><?php
     287            ?>
     288            </li>
     289            <li>
     290            <?php
    273291                /* translators: %s: number of closed plugins */
    274                 printf( __( 'Plugins closed : %s', 'wporg-plugins' ),
     292                printf(
     293                    __( 'Plugins closed : %s', 'wporg-plugins' ),
    275294                    $stats['plugin_delist']
    276295                );
    277             ?></li>
    278             <li><?php
     296            ?>
     297            </li>
     298            <li>
     299            <?php
    279300                /* translators: %s: number of approved plugins */
    280                 printf( __( 'Plugins approved : %s', 'wporg-plugins' ),
     301                printf(
     302                    __( 'Plugins approved : %s', 'wporg-plugins' ),
    281303                    $stats['plugin_approve']
    282304                );
    283             ?></li>
     305            ?>
     306            </li>
    284307        </ul>
    285308
     
    287310
    288311        <ul style="font-family:Courier New;">
    289             <li><?php
     312            <li>
     313            <?php
    290314                /* translators: %d: number of plugins in the queue */
    291                 printf( __( 'Plugins in the queue (new and pending)* : %d', 'wporg-plugins' ),
     315                printf(
     316                    __( 'Plugins in the queue (new and pending)* : %d', 'wporg-plugins' ),
    292317                    $stats['in_queue']
    293318                );
    294             ?></li>
    295             <li><?php
     319            ?>
     320            </li>
     321            <li>
     322            <?php
    296323                /* translators: 1: number of most recent days, 2: number of older plugins in the queue */
    297                 printf( __( '&rarr; (older than %1$d days ago)** : %2$d', 'wporg-plugins' ),
     324                printf(
     325                    __( '&rarr; (older than %1$d days ago)** : %2$d', 'wporg-plugins' ),
    298326                    $stats['recentdays'],
    299327                    $stats['in_queue_old']
    300328                );
    301             ?></li>
    302             <li><?php
     329            ?>
     330            </li>
     331            <li>
     332            <?php
    303333                /* translators: 1: start date, 2: end date, 3: number of plugins in the queue within defined time window */
    304                 printf( __( '&rarr; (%1$s - %2$s) : %3$d', 'wporg-plugins' ),
     334                printf(
     335                    __( '&rarr; (%1$s - %2$s) : %3$d', 'wporg-plugins' ),
    305336                    $start_date,
    306337                    $stats['date'],
    307338                    $stats['in_queue_from_time_window']
    308339                );
    309             ?></li>
    310             <li><?php
     340            ?>
     341            </li>
     342            <li>
     343            <?php
    311344                /* translators: %d: number of new plugins */
    312                 printf( __( '&rarr; (new; not processed or replied to yet)* : %d', 'wporg-plugins' ),
     345                printf(
     346                    __( '&rarr; (new; not processed or replied to yet)* : %d', 'wporg-plugins' ),
    313347                    $stats['in_queue_new']
    314348                );
    315             ?></li>
    316             <li><?php
     349            ?>
     350            </li>
     351            <li>
     352            <?php
    317353                /* translators: %d: number of pending plugins */
    318                 printf( __( '&rarr; (pending; replied to)* : %d', 'wporg-plugins' ),
     354                printf(
     355                    __( '&rarr; (pending; replied to)* : %d', 'wporg-plugins' ),
    319356                    $stats['in_queue_pending']
    320357                );
    321             ?></li>
     358            ?>
     359            </li>
    322360        </ul>
    323361
     
    325363
    326364        <ul style="font-family:Courier New;">
    327             <li><?php
     365            <li>
     366            <?php
    328367                /* translators: %d: number of open tickets */
    329                 printf( __( 'Total open tickets* : %d', 'wporg-plugins' ),
     368                printf(
     369                    __( 'Total open tickets* : %d', 'wporg-plugins' ),
    330370                    $stats['supportpress_queue_total_open']
    331371                );
    332             ?></li>
    333             <li><?php
     372            ?>
     373            </li>
     374            <li>
     375            <?php
    334376                /* translators: 1: number of most recent days, 2: number of plugins with no activity */
    335                 printf( __( ' &rarr; (with no activity in last %1$d days)** : %2$d', 'wporg-plugins' ),
     377                printf(
     378                    __( ' &rarr; (with no activity in last %1$d days)** : %2$d', 'wporg-plugins' ),
    336379                    $stats['recentdays'],
    337380                    $stats['supportpress_queue_total_open_old']
    338381                );
    339             ?></li>
    340             <li><?php
     382            ?>
     383            </li>
     384            <li>
     385            <?php
    341386                /* translators: %d: number of most recent days */
    342                 printf( __( 'Within defined %d day time window:', 'wporg-plugins' ),
     387                printf(
     388                    __( 'Within defined %d day time window:', 'wporg-plugins' ),
    343389                    $stats['num_days']
    344390                );
    345                 ?><ul style="margin-left:20px;margin-top:0.5em;">
    346                     <li><?php
     391                ?>
     392                <ul style="margin-left:20px;margin-top:0.5em;">
     393                    <li>
     394                    <?php
    347395                        /* translators: %d: total number of plugins within defined time window */
    348                         printf( __( 'Total : %d', 'wporg-plugins' ),
     396                        printf(
     397                            __( 'Total : %d', 'wporg-plugins' ),
    349398                            $stats['supportpress_queue_interval_all']
    350399                        );
    351                     ?></li>
    352                     <li><?php
     400                    ?>
     401                    </li>
     402                    <li>
     403                    <?php
    353404                        /* translators: %d: number of closed plugins within defined time window */
    354                         printf( __( 'Closed : %d', 'wporg-plugins' ),
     405                        printf(
     406                            __( 'Closed : %d', 'wporg-plugins' ),
    355407                            $stats['supportpress_queue_interval_closed']
    356408                        );
    357                     ?></li>
    358                     <li><?php
     409                    ?>
     410                    </li>
     411                    <li>
     412                    <?php
    359413                        /* translators: %d: number of open plugins within defined time window */
    360                         printf( __( 'Open : %d', 'wporg-plugins' ),
     414                        printf(
     415                            __( 'Open : %d', 'wporg-plugins' ),
    361416                            $stats['supportpress_queue_interval_open']
    362417                        );
    363                     ?></li>
     418                    ?>
     419                    </li>
    364420                </ul>
    365421            </li>
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/class-base.php

    r5867 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
     5use WordPressdotorg\Plugin_Directory\Plugin_I18n;
     6use WordPressdotorg\Plugin_Directory\Template;
    47
    58/**
    69 * @package WordPressdotorg_Plugin_Directory
    710 */
    8 
    911class Base {
    1012    /**
    11      * Initialises each API route we offer.
     13     * Initializes REST API customizations.
    1214     */
    13     static function load_routes() {
     15    public static function init() {
     16        self::load_routes();
     17        self::load_fields();
     18    }
     19
     20    /**
     21     * Loads all API route we offer.
     22     */
     23    public static function load_routes() {
    1424        new Routes\Internal_Stats();
    1525        new Routes\Plugin();
     
    2232        new Routes\Plugin_Committers();
    2333        new Routes\Plugin_Support_Reps();
     34    }
     35
     36    /**
     37     * Loads all API field for existing WordPress object types we offer.
     38     */
     39    public static function load_fields() {
     40        new Fields\Plugin\Banners();
     41        new Fields\Plugin\Icons();
     42        new Fields\Plugin\Rating();
     43        new Fields\Plugin\Ratings();
     44        new Fields\Plugin\Screenshots();
    2445    }
    2546
     
    5879        return true;
    5980    }
    60 
    6181}
    62 
    63 
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-commit-subscriptions.php

    r3510 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\API\Base;
     
    1415    public function __construct() {
    1516        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/commit-subscription', array(
    16             'methods'  => \WP_REST_Server::READABLE,
    17             'callback' => array( $this, 'subscribe' ),
    18             'args' => array(
     17            'methods'             => \WP_REST_Server::READABLE,
     18            'callback'            => array( $this, 'subscribe' ),
     19            'args'                => array(
    1920                'plugin_slug' => array(
    2021                    'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    2122                ),
    22                 'subscribe' => array(
    23                     'validate_callback' => function( $bool ) { return is_numeric( $bool ); },
     23                'subscribe'   => array(
     24                    'validate_callback' => function( $bool ) {
     25                        return is_numeric( $bool );
     26                    },
    2427                ),
    2528                'unsubscribe' => array(
    26                     'validate_callback' => function( $bool ) { return is_numeric( $bool ); },
     29                    'validate_callback' => function( $bool ) {
     30                        return is_numeric( $bool );
     31                    },
    2732                ),
    2833            ),
    29             'permission_callback' => 'is_user_logged_in'
     34            'permission_callback' => 'is_user_logged_in',
    3035        ) );
    3136    }
     
    4247
    4348        $result = array(
    44             "location" => $location,
     49            'location' => $location,
    4550        );
    4651
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-internal-stats.php

    r5839 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\API\Base;
     
    1920    function __construct() {
    2021        register_rest_route( 'plugins/v1', '/update-stats', array(
    21             'methods'  => \WP_REST_Server::CREATABLE,
    22             'callback' => array( $this, 'bulk_update_stats' ),
     22            'methods'             => \WP_REST_Server::CREATABLE,
     23            'callback'            => array( $this, 'bulk_update_stats' ),
    2324            'permission_callback' => array( $this, 'permission_check_internal_api_bearer' ),
    2425        ) );
     
    112113    protected function sanitize_usage_numbers( $usage, $plugin ) {
    113114        $latest_version = get_post_meta( $plugin->ID, 'version', true ) ?: '0.0';
    114         $latest_branch = implode( '.', array_slice( explode('.', $latest_version ), 0, 2 ) );
     115        $latest_branch  = implode( '.', array_slice( explode( '.', $latest_version ), 0, 2 ) );
    115116
    116117        // Exclude any version strings higher than the latest plugin version (ie. 99.9)
     
    126127
    127128        // Calculate the percentage of each version branch
    128         $total = array_sum( $usage );
     129        $total  = array_sum( $usage );
    129130        $others = array();
    130131        foreach ( $usage as $version => $count ) {
     
    141142        // If there was only one version < $percent_cut_off then display it as-is
    142143        if ( count( $others ) == 1 ) {
    143             $version = array_keys( $others );
    144             $version = array_shift( $version );
     144            $version           = array_keys( $others );
     145            $version           = array_shift( $version );
    145146            $usage[ $version ] = round( $others[ $version ] / $total * 100, 2 );
    146         // Else we'll add an 'others' version.
     147            // Else we'll add an 'others' version.
    147148        } elseif ( count( $others ) > 1 ) {
    148149            $usage['other'] = round( array_sum( $others ) / $total * 100, 2 );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-locale-banner.php

    r6196 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\API\Base;
    45use WP_REST_Server;
     
    1516            'methods'  => WP_REST_Server::EDITABLE,
    1617            'callback' => array( $this, 'locale_banner' ),
    17             'args' => array(
     18            'args'     => array(
    1819                'plugin_slug' => array(
    1920                    'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
     
    6970
    7071        // Build a list of WordPress locales which we'll suggest to the user.
    71         $suggest_locales = array_values( array_intersect( $locales_from_header, $translated_locales ) );
    72         $current_locale_is_suggested = in_array( $current_locale, $suggest_locales );
     72        $suggest_locales              = array_values( array_intersect( $locales_from_header, $translated_locales ) );
     73        $current_locale_is_suggested  = in_array( $current_locale, $suggest_locales );
    7374        $current_locale_is_translated = in_array( $current_locale, $translated_locales );
    7475
     
    116117                }
    117118
    118             // Multiple locale suggestions.
     119                // Multiple locale suggestions.
    119120            } elseif ( ! empty( $suggest_named_locales ) ) {
    120                 $primary_locale = key( $suggest_named_locales );
     121                $primary_locale   = key( $suggest_named_locales );
    121122                $primary_language = current( $suggest_named_locales );
    122123                array_shift( $suggest_named_locales );
     
    169170                }
    170171
    171             // Non-English locale in header, no translations.
     172                // Non-English locale in header, no translations.
    172173            } elseif ( $locales_from_header ) {
    173174                $locale = reset( $locales_from_header );
     
    180181            }
    181182
    182         // Localized directory.
     183            // Localized directory.
    183184        } elseif ( ! $current_locale_is_suggested && ! $current_locale_is_translated && $is_plugin_request ) {
    184185            $suggest_string = sprintf(
     
    254255    protected function get_http_locales( $header ) {
    255256        $locale_part_re = '[a-z]{2,}';
    256         $locale_re = "($locale_part_re(\-$locale_part_re)?)";
     257        $locale_re      = "($locale_part_re(\-$locale_part_re)?)";
     258
    257259        if ( preg_match_all( "/$locale_re/i", $header, $matches ) ) {
    258260            return $matches[0];
     
    271273     */
    272274    protected function map_locale( $lang, $region, $available_locales ) {
    273         $uregion = strtoupper( $region );
    274         $ulang   = strtoupper( $lang );
     275        $uregion  = strtoupper( $region );
     276        $ulang    = strtoupper( $lang );
    275277        $variants = array(
    276278            "$lang-$region",
     
    353355
    354356// Strings for the POT file.
    355 
    356357/* translators: %s: native language name. */
    357358__( 'This plugin is also available in %1$s. <a href="%2$s">Help improve the translation!</a>', 'wporg-plugins' );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin-committers.php

    r5930 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\Template;
     
    2021        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/committers/?', array(
    2122            array(
    22                 'methods'  => WP_REST_Server::READABLE,
    23                 'callback' => array( $this, 'list_committers' ),
     23                'methods'             => WP_REST_Server::READABLE,
     24                'callback'            => array( $this, 'list_committers' ),
    2425                'permission_callback' => function( $request ) {
    2526                    return current_user_can(
     
    2829                    );
    2930                },
    30                 'args' => array(
     31                'args'                => array(
    3132                    'plugin_slug' => array(
    3233                        'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    33                         'required' => true,
     34                        'required'          => true,
    3435                    ),
    35                 )
     36                ),
    3637            ),
    3738            array(
    38                 'methods'  => WP_REST_Server::CREATABLE,
    39                 'callback' => array( $this, 'add_committer' ),
     39                'methods'             => WP_REST_Server::CREATABLE,
     40                'callback'            => array( $this, 'add_committer' ),
    4041                'permission_callback' => function( $request ) {
    4142                    return current_user_can(
     
    4445                    );
    4546                },
    46                 'args' => array(
     47                'args'                => array(
    4748                    'plugin_slug' => array(
    4849                        'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    49                         'required' => true,
     50                        'required'          => true,
    5051                    ),
    51                 )
    52             )
     52                ),
     53            ),
    5354        ) );
    5455
    5556        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/committers/(?P<committer>[^/]+)/?', array(
    56             'methods'  => WP_REST_Server::DELETABLE,
    57             'callback' => array( $this, 'revoke_committer' ),
     57            'methods'             => WP_REST_Server::DELETABLE,
     58            'callback'            => array( $this, 'revoke_committer' ),
    5859            'permission_callback' => function( $request ) {
    5960                return current_user_can(
     
    6263                );
    6364            },
    64             'args' => array(
     65            'args'                => array(
    6566                'plugin_slug' => array(
    6667                    'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    67                     'required' => true,
     68                    'required'          => true,
    6869                ),
    69                 'committer' => array(
     70                'committer'   => array(
    7071                    'validate_callback' => array( $this, 'validate_user_slug_callback' ),
    71                     'required' => true,
    72                 )
    73             )
     72                    'required'          => true,
     73                ),
     74            ),
    7475        ) );
    7576    }
     
    8384        $committers = array();
    8485        foreach ( (array) Tools::get_plugin_committers( $plugin_slug ) as $user_login ) {
    85             $user = get_user_by( 'login', $user_login );
     86            $user         = get_user_by( 'login', $user_login );
    8687            $committers[] = $this->user_committer_details( $user );
    8788        }
     
    158159            'profile'  => esc_url( 'https://profiles.wordpress.org/' . $user->user_nicename ),
    159160            'avatar'   => get_avatar_url( $user->ID, 32 ),
    160             'name'     => Template::encode( $user->display_name )
     161            'name'     => Template::encode( $user->display_name ),
    161162        );
    162163
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin-favorites.php

    r3545 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\API\Base;
     
    1415    public function __construct() {
    1516        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/favorite', array(
    16             'methods'  => array( \WP_REST_Server::READABLE, \WP_REST_Server::CREATABLE ),
    17             'callback' => array( $this, 'favorite' ),
    18             'args' => array(
     17            'methods'             => array( \WP_REST_Server::READABLE, \WP_REST_Server::CREATABLE ),
     18            'callback'            => array( $this, 'favorite' ),
     19            'args'                => array(
    1920                'plugin_slug' => array(
    2021                    'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    2122                ),
    22                 'favorite' => array(
    23                     'validate_callback' => function( $bool ) { return is_numeric( $bool ); },
     23                'favorite'    => array(
     24                    'validate_callback' => function( $bool ) {
     25                        return is_numeric( $bool );
     26                    },
    2427                ),
    25                 'unfavorite' => array(
    26                     'validate_callback' => function( $bool ) { return is_numeric( $bool ); },
     28                'unfavorite'  => array(
     29                    'validate_callback' => function( $bool ) {
     30                        return is_numeric( $bool );
     31                    },
    2732                ),
    2833            ),
    29             'permission_callback' => 'is_user_logged_in'
     34            'permission_callback' => 'is_user_logged_in',
    3035        ) );
    3136    }
     
    4247
    4348        $result = array(
    44             "location" => $location,
     49            'location' => $location,
    4550        );
    4651
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin-support-reps.php

    r5930 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\Template;
     
    2021        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/support-reps/?', array(
    2122            array(
    22                 'methods'  => WP_REST_Server::READABLE,
    23                 'callback' => array( $this, 'list_support_reps' ),
     23                'methods'             => WP_REST_Server::READABLE,
     24                'callback'            => array( $this, 'list_support_reps' ),
    2425                'permission_callback' => function( $request ) {
    2526                    return current_user_can(
     
    2829                    );
    2930                },
    30                 'args' => array(
     31                'args'                => array(
    3132                    'plugin_slug' => array(
    3233                        'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    33                         'required' => true,
     34                        'required'          => true,
    3435                    ),
    35                 )
     36                ),
    3637            ),
    3738            array(
    38                 'methods'  => WP_REST_Server::CREATABLE,
    39                 'callback' => array( $this, 'add_support_rep' ),
     39                'methods'             => WP_REST_Server::CREATABLE,
     40                'callback'            => array( $this, 'add_support_rep' ),
    4041                'permission_callback' => function( $request ) {
    4142                    return current_user_can(
     
    4445                    );
    4546                },
    46                 'args' => array(
     47                'args'                => array(
    4748                    'plugin_slug' => array(
    4849                        'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    49                         'required' => true,
     50                        'required'          => true,
    5051                    ),
    51                 )
    52             )
     52                ),
     53            ),
    5354        ) );
    5455
    5556        register_rest_route( 'plugins/v1', '/plugin/(?P<plugin_slug>[^/]+)/support-reps/(?P<support_rep>[^/]+)/?', array(
    56             'methods'  => WP_REST_Server::DELETABLE,
    57             'callback' => array( $this, 'remove_support_rep' ),
     57            'methods'             => WP_REST_Server::DELETABLE,
     58            'callback'            => array( $this, 'remove_support_rep' ),
    5859            'permission_callback' => function( $request ) {
    5960                return current_user_can(
     
    6263                );
    6364            },
    64             'args' => array(
     65            'args'                => array(
    6566                'plugin_slug' => array(
    6667                    'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    67                     'required' => true,
     68                    'required'          => true,
    6869                ),
    6970                'support_rep' => array(
    7071                    'validate_callback' => array( $this, 'validate_user_slug_callback' ),
    71                     'required' => true,
    72                 )
    73             )
     72                    'required'          => true,
     73                ),
     74            ),
    7475        ) );
    7576    }
     
    8384        $support_reps = array();
    8485        foreach ( (array) Tools::get_plugin_support_reps( $plugin_slug ) as $user_nicename ) {
    85             $user = get_user_by( 'slug', $user_nicename );
     86            $user           = get_user_by( 'slug', $user_nicename );
    8687            $support_reps[] = $this->user_support_rep_details( $user );
    8788        }
     
    158159            'profile'  => esc_url( 'https://profiles.wordpress.org/' . $user->user_nicename ),
    159160            'avatar'   => get_avatar_url( $user->ID, 32 ),
    160             'name'     => Template::encode( $user->display_name )
     161            'name'     => Template::encode( $user->display_name ),
    161162        );
    162163
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin.php

    r5924 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\Plugin_i18n;
     
    2223            'methods'  => WP_REST_Server::READABLE,
    2324            'callback' => array( $this, 'plugin_info' ),
    24             'args' => array(
     25            'args'     => array(
    2526                'plugin_slug' => array(
    2627                    'validate_callback' => array( $this, 'validate_plugin_slug_callback' ),
    27                 )
    28             )
     28                ),
     29            ),
    2930        ) );
    3031    }
     
    5051                    'status' => \WP_HTTP::BAD_REQUEST,
    5152                    'params' => array(
    52                         'plugin_slug' => 'Invalid parameter.'
    53                     )
     53                        'plugin_slug' => 'Invalid parameter.',
     54                    ),
    5455                )
    5556            );
     
    5758
    5859        // Support returning API data in different locales, even on wordpress.org (for api.wordpress.org usage)
    59         if ( ! empty( $request['locale'] ) && !in_array( strtolower( $request['locale'] ), array( 'en_us', 'en' ) ) ) {
     60        if ( ! empty( $request['locale'] ) && ! in_array( strtolower( $request['locale'] ), array( 'en_us', 'en' ) ) ) {
    6061            switch_to_locale( $request['locale'] );
    6162        }
     
    6364        $post_id = $post->ID;
    6465
    65         $result = array();
    66         $result['name'] = get_the_title();
    67         $result['slug'] = $post->post_name;
     66        $result            = array();
     67        $result['name']    = get_the_title();
     68        $result['slug']    = $post->post_name;
    6869        $result['version'] = get_post_meta( $post_id, 'version', true ) ?: '0.0';
    6970
     
    7576        // Profile of the original plugin submitter
    7677        $result['author_profile'] = $this->get_user_profile_link( $post->post_author );
    77         $result['contributors'] = array();
     78        $result['contributors']   = array();
    7879
    7980        $contributors = get_terms( array(
    80             'taxonomy' => 'plugin_contributors',
     81            'taxonomy'   => 'plugin_contributors',
    8182            'object_ids' => array( $post->ID ),
    82             'orderby' => 'term_order',
    83             'fields' => 'names',
     83            'orderby'    => 'term_order',
     84            'fields'     => 'names',
    8485        ) );
    8586
     
    9495            }
    9596        }
     97
    9698        foreach ( $contributors as $contributor ) {
    9799            $user = get_user_by( 'slug', $contributor );
     
    101103
    102104            $result['contributors'][ $user->user_nicename ] = array(
    103                 'profile' => $this->get_user_profile_link( $user ),
    104                 'avatar' => get_avatar_url( $user, array( 'default' => 'monsterid', 'rating' => 'g' ) ),
    105                 'display_name' => $user->display_name
     105                'profile'      => $this->get_user_profile_link( $user ),
     106                'avatar'       => get_avatar_url( $user, array(
     107                    'default' => 'monsterid',
     108                    'rating'  => 'g',
     109                ) ),
     110                'display_name' => $user->display_name,
    106111            );
    107112        }
    108113
    109         $result['requires'] = get_post_meta( $post_id, 'requires', true ) ?: false;
    110         $result['tested'] = get_post_meta( $post_id, 'tested', true ) ?: false;
    111         $result['requires_php'] = get_post_meta( $post_id, 'requires_php', true ) ?: false;
     114        $result['requires']      = get_post_meta( $post_id, 'requires', true ) ?: false;
     115        $result['tested']        = get_post_meta( $post_id, 'tested', true ) ?: false;
     116        $result['requires_php']  = get_post_meta( $post_id, 'requires_php', true ) ?: false;
    112117        $result['compatibility'] = array();
    113         $result['rating'] = ( get_post_meta( $post_id, 'rating', true ) ?: 0 ) * 20; // Stored as 0.0 ~ 5.0, API outputs as 0..100
    114         $result['ratings'] = array_map( 'intval', (array) get_post_meta( $post_id, 'ratings', true ) );
     118        $result['rating']        = ( get_post_meta( $post_id, 'rating', true ) ?: 0 ) * 20; // Stored as 0.0 ~ 5.0, API outputs as 0..100
     119        $result['ratings']       = array_map( 'intval', (array) get_post_meta( $post_id, 'ratings', true ) );
    115120        krsort( $result['ratings'] );
    116121
    117         $result['num_ratings'] = array_sum( $result['ratings'] );
    118         $result['support_threads'] = intval( get_post_meta( $post_id, 'support_threads', true ) );
     122        $result['num_ratings']              = array_sum( $result['ratings'] );
     123        $result['support_threads']          = intval( get_post_meta( $post_id, 'support_threads', true ) );
    119124        $result['support_threads_resolved'] = intval( get_post_meta( $post_id, 'support_threads_resolved', true ) );
    120         $result['active_installs'] = intval( get_post_meta( $post_id, 'active_installs', true ) );
    121         $result['downloaded'] = intval( get_post_meta( $post_id, 'downloads', true ) );
    122         $result['last_updated'] = gmdate( 'Y-m-d g:ia \G\M\T', strtotime( $post->post_modified_gmt ) );
    123         $result['added'] = gmdate( 'Y-m-d', strtotime( $post->post_date_gmt ) );
    124         $result['homepage'] = get_post_meta( $post_id, 'header_plugin_uri', true );
    125         $result['sections'] = array();
    126 
    127         $_pages = preg_split( "#<!--section=(.+?)-->#", $post->post_content, - 1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
     125        $result['active_installs']          = intval( get_post_meta( $post_id, 'active_installs', true ) );
     126        $result['downloaded']               = intval( get_post_meta( $post_id, 'downloads', true ) );
     127        $result['last_updated']             = gmdate( 'Y-m-d g:ia \G\M\T', strtotime( $post->post_modified_gmt ) );
     128        $result['added']                    = gmdate( 'Y-m-d', strtotime( $post->post_date_gmt ) );
     129        $result['homepage']                 = get_post_meta( $post_id, 'header_plugin_uri', true );
     130        $result['sections']                 = array();
     131
     132        $_pages = preg_split( '#<!--section=(.+?)-->#', $post->post_content, - 1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
    128133        for ( $i = 0; $i < count( $_pages ); $i += 2 ) {
    129134            $result['sections'][ $_pages[ $i ] ] = apply_filters( 'the_content', $_pages[ $i + 1 ], $_pages[ $i ] );
    130135        }
    131136        $result['sections']['screenshots'] = ''; // placeholder to put screenshots prior to reviews at the end.
    132         $result['sections']['reviews'] = $this->get_plugin_reviews_markup( $post->post_name );
    133 
    134         if ( !empty( $result['sections']['faq'] ) ) {
     137        $result['sections']['reviews']     = $this->get_plugin_reviews_markup( $post->post_name );
     138
     139        if ( ! empty( $result['sections']['faq'] ) ) {
    135140            $result['sections']['faq'] = $this->get_simplified_faq_markup( $result['sections']['faq'] );
    136141        }
    137        
     142
    138143        $result['description'] = $result['sections']['description'];
    139144
    140145        $result['short_description'] = get_the_excerpt();
    141         $result['download_link'] = Template::download_link( $post );
     146        $result['download_link']     = Template::download_link( $post );
    142147
    143148        $result['screenshots'] = array();
    144         $descriptions = get_post_meta( $post->ID, 'screenshots', true ) ?: array();
    145         $screen_shots = get_post_meta( $post->ID, 'assets_screenshots', true ) ?: array();
     149        $descriptions          = get_post_meta( $post->ID, 'screenshots', true ) ?: array();
     150        $screen_shots          = get_post_meta( $post->ID, 'assets_screenshots', true ) ?: array();
    146151
    147152        /*
     
    150155         */
    151156        foreach ( $screen_shots as $image ) {
    152             $src = Template::get_asset_url( $post, $image );
     157            $src     = Template::get_asset_url( $post, $image );
    153158            $caption = '';
    154             if ( $descriptions && !empty( $descriptions[ (int)$image['resolution'] ] ) ) {
    155                 $caption = $descriptions[ (int)$image['resolution'] ];
     159            if ( $descriptions && ! empty( $descriptions[ (int) $image['resolution'] ] ) ) {
     160                $caption = $descriptions[ (int) $image['resolution'] ];
    156161                $caption = Plugin_I18n::instance()->translate( 'screenshot-' . $image['resolution'], $caption, [ 'post_id' => $post->ID ] );
    157162            }
     
    199204        $result['icons'] = array();
    200205        if ( $icons = Template::get_plugin_icon( $post ) ) {
    201             if ( !empty( $icons['icon'] ) && empty( $icons['generated'] ) ) {
     206            if ( ! empty( $icons['icon'] ) && empty( $icons['generated'] ) ) {
    202207                $result['icons']['1x'] = $icons['icon'];
    203             } elseif ( !empty( $icons['icon'] ) && ! empty( $icons['generated'] ) ) {
     208            } elseif ( ! empty( $icons['icon'] ) && ! empty( $icons['generated'] ) ) {
    204209                $result['icons']['default'] = $icons['icon'];
    205210            }
    206             if ( !empty( $icons['icon_2x'] ) ) {
     211            if ( ! empty( $icons['icon_2x'] ) ) {
    207212                $result['icons']['2x'] = $icons['icon_2x'];
    208213            }
    209             if ( !empty( $icons['svg'] ) ) {
     214            if ( ! empty( $icons['svg'] ) ) {
    210215                $result['icons']['svg'] = $icons['svg'];
    211216            }
     
    213218
    214219        // That's all folks!
    215 
    216220        return $result;
    217221    }
     
    225229    protected function get_user_profile_link( $user ) {
    226230        $u = false;
    227         if ( $user instanceOf \WP_User ) {
     231        if ( $user instanceof \WP_User ) {
    228232            $u = $user;
    229233        } else {
     
    274278            <div class="review-title-section">
    275279                <h4 class="review-title"><?php echo esc_html( $review->post_title ); ?></h4>
    276                 <div class="star-rating"><?php
     280                <div class="star-rating">
     281                <?php
    277282                    /* Core has .star-rating .star colour styling, which is why we use a custom wrapper and template */
    278283                    echo Template::dashicons_stars( array(
    279                         'rating' => $review->post_rating,
     284                        'rating'   => $review->post_rating,
    280285                        'template' => '<span class="star %1$s"></span>',
    281286                    ) );
    282                 ?></div>
     287                ?>
     288                </div>
    283289            </div>
    284290            <p class="reviewer">
    285291                <?php
    286                     $review_author_markup_profile = esc_url( 'https://profiles.wordpress.org/' . $reviewer->user_nicename );
    287                     $review_author_markup  = '<a href="' . $review_author_markup_profile . '">';
    288                     $review_author_markup .= get_avatar( $reviewer->ID, 16, 'monsterid' ) . '</a>';
    289                     $review_author_markup .= '<a href="' . $review_author_markup_profile . '" class="reviewer-name">';
    290                     $review_author_markup .= $reviewer->display_name;
    291                     if ( $reviewer->display_name != $reviewer->user_login ) {
    292                         $review_author_markup .= " <small>({$reviewer->user_login})</small>";
    293                     }
    294                     $review_author_markup .= '</a>';
    295 
    296                     printf( __( 'By %1$s on %2$s', 'wporg-plugins' ),
    297                         $review_author_markup,
    298                         '<span class="review-date">' . gmdate( 'F j, Y', strtotime( $review->post_modified ) ) . '</span>'
    299                     );
     292                $review_author_markup_profile = esc_url( 'https://profiles.wordpress.org/' . $reviewer->user_nicename );
     293                $review_author_markup         = '<a href="' . $review_author_markup_profile . '">';
     294                $review_author_markup        .= get_avatar( $reviewer->ID, 16, 'monsterid' ) . '</a>';
     295                $review_author_markup        .= '<a href="' . $review_author_markup_profile . '" class="reviewer-name">';
     296                $review_author_markup        .= $reviewer->display_name;
     297                if ( $reviewer->display_name != $reviewer->user_login ) {
     298                    $review_author_markup .= " <small>({$reviewer->user_login})</small>";
     299                }
     300                $review_author_markup .= '</a>';
     301
     302                printf(
     303                    __( 'By %1$s on %2$s', 'wporg-plugins' ),
     304                    $review_author_markup,
     305                    '<span class="review-date">' . gmdate( 'F j, Y', strtotime( $review->post_modified ) ) . '</span>'
     306                );
    300307                ?>
    301308            </p>
     
    306313<?php
    307314        return ob_get_clean();
    308 
    309315    }
    310316
     
    320326        $markup = str_replace(
    321327            array( '<dl>', '</dl>', '<dt>', '</dt>', '<dd>', '</dd>' ),
    322             array( '',      '',     '<h4>', '</h4>', '<p>',  '</p>'  ),
     328            array( '',     '',      '<h4>', '</h4>', '<p>',  '</p>'  ),
    323329            $markup
    324330        );
     
    349355        return $markup;
    350356    }
    351 
    352357}
    353 
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-popular-tags.php

    r4559 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\API\Base;
    45use WP_REST_Server;
     
    2728        $terms = get_terms( 'plugin_tags', array(
    2829            'hide_empty' => true,
    29             'orderby' => 'count',
    30             'order' => 'DESC',
    31             'number' => 1000
     30            'orderby'    => 'count',
     31            'order'      => 'DESC',
     32            'number'     => 1000,
    3233        ) );
    3334
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-query-plugins.php

    r5484 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\API\Base;
    45use WP_REST_Server;
     
    2122        'author_name',
    2223        'installed_plugins',
    23         'plugin_tags'
     24        'plugin_tags',
    2425    );
    2526
     
    4142
    4243        $response = array(
    43             'info' => array(
     44            'info'    => array(
    4445                'page'    => 0,
    4546                'pages'   => 0,
     
    6970
    7071        $response['info']['page']    = (int) $wp_query->get( 'paged' ) ?: 1;
    71         $response['info']['pages']   = (int) $wp_query->max_num_pages  ?: 0;
    72         $response['info']['results'] = (int) $wp_query->found_posts    ?: 0;
     72        $response['info']['pages']   = (int) $wp_query->max_num_pages ?: 0;
     73        $response['info']['results'] = (int) $wp_query->found_posts ?: 0;
    7374
    7475        foreach ( $wp_query->posts as $post ) {
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-svn-access.php

    r3301 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory\API\Routes;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\API\Base;
     
    2122
    2223        register_rest_route( 'plugins/v1', '/svn-access', array(
    23             'methods'  => \WP_REST_Server::READABLE,
    24             'callback' => array( $this, 'generate_svn_access' ),
     24            'methods'             => \WP_REST_Server::READABLE,
     25            'callback'            => array( $this, 'generate_svn_access' ),
    2526            'permission_callback' => array( $this, 'permission_check_internal_api_bearer' ),
    2627        ) );
     
    4243        if ( empty( $svn_access ) ) {
    4344            return false;
    44             }
     45        }
    4546
    4647        foreach ( $svn_access as $slug => $users ) {
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/import-plugin-to-glotpress.php

    r5446 r6287  
    1515if ( empty( $opts ) && $argc == 2 ) {
    1616    $opts['plugin'] = $argv[1];
    17     $argv[1] = '--plugin ' . $argv[1];
     17    $argv[1]        = '--plugin ' . $argv[1];
    1818}
    1919if ( empty( $opts['url'] ) ) {
     
    4242$_SERVER['REQUEST_URI'] = parse_url( $opts['url'], PHP_URL_PATH );
    4343
    44 include rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
     44require rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
    4545
    4646if ( ! class_exists( '\WordPressdotorg\Plugin_Directory\Plugin_Directory' ) ) {
     
    4848    if ( defined( 'WPORG_PLUGIN_DIRECTORY_BLOGID' ) ) {
    4949        fwrite( STDERR, "Run the following command instead:\n" );
    50         fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . " --url " . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
     50        fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . ' --url ' . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
    5151    }
    5252    die();
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/import-plugin.php

    r4563 r6287  
    1414if ( empty( $opts ) && $argc == 2 ) {
    1515    $opts['plugin'] = $argv[1];
    16     $argv[1] = '--plugin ' . $argv[1];
     16    $argv[1]        = '--plugin ' . $argv[1];
    1717}
    1818if ( empty( $opts['url'] ) ) {
     
    4444$_SERVER['REQUEST_URI'] = parse_url( $opts['url'], PHP_URL_PATH );
    4545
    46 include rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
     46require rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
    4747
    4848if ( ! class_exists( '\WordPressdotorg\Plugin_Directory\Plugin_Directory' ) ) {
     
    5050    if ( defined( 'WPORG_PLUGIN_DIRECTORY_BLOGID' ) ) {
    5151        fwrite( STDERR, "Run the following command instead:\n" );
    52         fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . " --url " . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
     52        fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . ' --url ' . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
    5353    }
    5454    die();
     
    5757$plugin_slug  = $opts['plugin'];
    5858$changed_tags = $opts['changed-tags'];
    59 $start_time   = microtime(1);
     59$start_time   = microtime( 1 );
    6060
    6161// If async, queue it to be parsed instead.
     
    6868echo "Processing Import for $plugin_slug... ";
    6969try {
    70     $importer = new CLI\Import;
     70    $importer = new CLI\Import();
    7171    $importer->import_from_svn( $plugin_slug, $changed_tags );
    72     echo "OK. Took " . round( microtime(1) - $start_time, 2 ) . "s\n";
    73 } catch( \Exception $e ) {
    74     echo "Failed. Took " . round( microtime(1) - $start_time, 2 ) . "s\n";
     72    echo 'OK. Took ' . round( microtime( 1 ) - $start_time, 2 ) . "s\n";
     73} catch ( \Exception $e ) {
     74    echo 'Failed. Took ' . round( microtime( 1 ) - $start_time, 2 ) . "s\n";
    7575
    7676    fwrite( STDERR, "[{$plugin_slug}] Plugin Import Failed: " . $e->getMessage() . "\n" );
    77     exit(1);
     77    exit( 1 );
    7878}
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/quick-stats.php

    r6261 r6287  
    2020$_SERVER['REQUEST_URI'] = parse_url( $opts['url'], PHP_URL_PATH );
    2121
    22 include rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
     22require rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
    2323
    2424if ( ! class_exists( '\WordPressdotorg\Plugin_Directory\Plugin_Directory' ) ) {
     
    2626    if ( defined( 'WPORG_PLUGIN_DIRECTORY_BLOGID' ) ) {
    2727        fwrite( STDERR, "Run the following command instead:\n" );
    28         fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . " --url " . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
     28        fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . ' --url ' . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
    2929    }
    3030    die();
     
    3838function display_top_table( $stats, $n = 20 ) {
    3939
    40     $top = array_slice( $stats, 0, $n );
     40    $top  = array_slice( $stats, 0, $n );
    4141    $tail = array_slice( $stats, $n );
    4242
    4343    foreach ( $top as $row ) {
    44         #$vals = array_values( (array) $row );
     44        // $vals = array_values( (array) $row );
    4545        echo $row[0] . "\t\t\t" . number_format( $row[1] ) . "\n";
    4646    }
    4747
    48     echo "Top $n Total: " . number_format( array_reduce( $top, __NAMESPACE__.'\callback_sum' ) ) . "\n";
     48    echo "Top $n Total: " . number_format( array_reduce( $top, __NAMESPACE__ . '\callback_sum' ) ) . "\n";
    4949
    5050    $tail_n = count( $tail );
    51     echo "Other $tail_n: " . number_format( array_reduce( $tail, __NAMESPACE__.'\callback_sum' ) ) . "\n";
     51    echo "Other $tail_n: " . number_format( array_reduce( $tail, __NAMESPACE__ . '\callback_sum' ) ) . "\n";
    5252
    5353}
    5454
    55 function tested_to_summary($pfx_where = '1=1') {
     55function tested_to_summary( $pfx_where = '1=1' ) {
    5656    global $wpdb;
    5757
     
    6161}
    6262
    63 $where = $wpdb->prepare( "post_status = %s", 'publish' );
     63$where = $wpdb->prepare( 'post_status = %s', 'publish' );
    6464
    65 if ( !empty( $opts['age'] ) && strtotime( $opts['age'] ) > 0 )
    66     $where .= $wpdb->prepare( " AND post_modified >= %s", strftime( '%Y-%m-%d', strtotime( $opts['age'] ) ) );
     65if ( ! empty( $opts['age'] ) && strtotime( $opts['age'] ) > 0 ) {
     66    $where .= $wpdb->prepare( ' AND post_modified >= %s', strftime( '%Y-%m-%d', strtotime( $opts['age'] ) ) );
     67}
    6768
    68 //TODO: add some more reports, and a CLI argument for choosing them
     69// TODO: add some more reports, and a CLI argument for choosing them
    6970display_top_table( tested_to_summary( $where ) );
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/bin/rebuild-zip.php

    r6235 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use WordPressdotorg\Plugin_Directory\Plugin_Directory;
    45use WordPressdotorg\Plugin_Directory\Tools\SVN;
     
    1718if ( empty( $opts ) && $argc == 2 ) {
    1819    $opts['plugin'] = $argv[1];
    19     $argv[1] = '--plugin ' . $argv[1];
     20    $argv[1]        = '--plugin ' . $argv[1];
    2021}
    2122if ( empty( $opts ) && $argc == 3 ) {
    2223    $opts['plugin'] = $argv[1];
    23     $argv[1] = '--plugin ' . $argv[1];
     24    $argv[1]        = '--plugin ' . $argv[1];
    2425
    2526    $opts['versions'] = $argv[2];
    26     $argv[2] = '--versions ' . $argv[2];
     27    $argv[2]          = '--versions ' . $argv[2];
    2728}
    2829if ( empty( $opts['url'] ) ) {
     
    4142        fwrite( STDERR, "Usage: php {$argv[0]} --plugin hello-dolly --abspath /home/example/public_html --url https://wordpress.org/plugins/\n" );
    4243        fwrite( STDERR, "--url and --abspath will be guessed if possible.\n" );
    43         exit(1);
     44        exit( 1 );
    4445    }
    4546}
     
    4950$_SERVER['REQUEST_URI'] = parse_url( $opts['url'], PHP_URL_PATH );
    5051
    51 include rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
     52require rtrim( $opts['abspath'], '/' ) . '/wp-load.php';
    5253
    5354if ( ! class_exists( '\WordPressdotorg\Plugin_Directory\Plugin_Directory' ) ) {
     
    5556    if ( defined( 'WPORG_PLUGIN_DIRECTORY_BLOGID' ) ) {
    5657        fwrite( STDERR, "Run the following command instead:\n" );
    57         fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . " --url " . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
     58        fwrite( STDERR, "\tphp " . implode( ' ', $argv ) . ' --url ' . get_site_url( WPORG_PLUGIN_DIRECTORY_BLOGID, '/' ) . "\n" );
    5859    }
    59     exit(1);
     60    exit( 1 );
    6061}
    6162
    6263$plugin_slug = $opts['plugin'];
    6364$versions    = array_filter( array_unique( array_map( 'trim', (array) explode( ',', $opts['versions'] ) ) ), 'strlen' );
    64 $start_time  = microtime(1);
     65$start_time  = microtime( 1 );
    6566
    6667if ( empty( $versions ) ) {
     
    7273    }
    7374
    74     $versions = array_map(
    75         function( $dir ) { return trim( $dir, '/' ); },
    76         $svn_tags
    77     );
     75    $versions = array_map( function( $dir ) {
     76        return trim( $dir, '/' );
     77    }, $svn_tags );
    7878    $versions[] = 'trunk';
    7979}
     
    8181if ( ! $versions ) {
    8282    fwrite( STDERR, "{$plugin_slug}: Error! No versions specified.\n" );
    83     exit(1);
     83    exit( 1 );
    8484}
    8585
     
    9090    $plugin_post = Plugin_Directory::get_plugin_post( $plugin_slug );
    9191    if ( ! $plugin_post ) {
    92         throw new Exception( "Could not locate plugin post" );
     92        throw new Exception( 'Could not locate plugin post' );
    9393    }
    9494    $stable_tag = get_post_meta( $plugin_post->ID, 'stable_tag', true ) ?? 'trunk';
     
    9999            $plugin_slug,
    100100            $versions_to_build,
    101             "{$plugin_slug}: Rebuild triggered by " . php_uname('n' ),
     101            "{$plugin_slug}: Rebuild triggered by " . php_uname( 'n' ),
    102102            $stable_tag
    103103        );
    104104    }
    105105
    106     echo "OK. Took " . round( microtime(1) - $start_time, 2 ) . "s\n";
    107 } catch( Exception $e ) {
     106    echo 'OK. Took ' . round( microtime( 1 ) - $start_time, 2 ) . "s\n";
     107} catch ( Exception $e ) {
    108108    fwrite( STDERR, "{$plugin_slug}: Zip Rebuild failed: " . $e->getMessage() . "\n" );
    109     echo "Failed. Took " . round( microtime(1) - $start_time, 2 ) . "s\n";
    110     exit(1);
     109    echo 'Failed. Took ' . round( microtime( 1 ) - $start_time, 2 ) . "s\n";
     110    exit( 1 );
    111111}
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-capabilities.php

    r5867 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use WordPressdotorg\Plugin_Directory\Tools;
    45
     
    2324    public static function map_meta_cap( $required_caps, $cap, $user_id, $context ) {
    2425        $plugin_edit_cap = false;
    25         switch( $cap ) {
     26        switch ( $cap ) {
    2627            case 'plugin_admin_edit':
    2728            case 'plugin_add_committer':
     
    3031            case 'plugin_remove_support_rep':
    3132                $plugin_edit_cap = true;
     33
    3234                // Fall through
    33 
    34             // Although we no longer have a admin view, this capability is still used to determine if the current user is a committer/contributor.
     35                // Although we no longer have a admin view, this capability is still used to determine if the current user is a committer/contributor.
    3536            case 'plugin_admin_view':
    3637                // Committers + Contributors.
    3738                // If no committers, post_author.
    3839                $required_caps = array();
    39                 $post = get_post( $context[0] );
     40                $post          = get_post( $context[0] );
    4041
    4142                if ( ! $post ) {
     
    9899     */
    99100    public static function add_roles() {
    100 
    101101        $reviewer = array(
    102102            'read'                    => true,
     
    121121        // Remove the roles first, incase we've changed the permission set.
    122122        remove_role( 'plugin_reviewer' );
    123         remove_role( 'plugin_admin'    );
    124         add_role( 'plugin_reviewer',  'Plugin Reviewer', $reviewer );
    125         add_role( 'plugin_admin',     'Plugin Admin',    $admin    );
     123        remove_role( 'plugin_admin' );
     124        add_role( 'plugin_reviewer', 'Plugin Reviewer', $reviewer );
     125        add_role( 'plugin_admin', 'Plugin Admin', $admin );
    126126
    127127        $wp_admin_role = get_role( 'administrator' );
     
    135135    }
    136136}
    137 
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-i18n.php

    r5450 r6287  
    3838     *
    3939     * This function is never called, and only exists so that out pot tools can detect the strings.
     40     *
    4041     * @ignore
    4142     */
     
    4344
    4445        // Category terms.
    45         _x( 'Accessibility',              'Plugin Category Name', 'wporg-plugins' );
    46         _x( 'Advertising',                'Plugin Category Name', 'wporg-plugins' );
    47         _x( 'Analytics',                  'Plugin Category Name', 'wporg-plugins' );
    48         _x( 'Arts & Entertainment',       'Plugin Category Name', 'wporg-plugins' );
    49         _x( 'Authentication',             'Plugin Category Name', 'wporg-plugins' );
    50         _x( 'Business',                   'Plugin Category Name', 'wporg-plugins' );
    51         _x( 'Calendar & Events',          'Plugin Category Name', 'wporg-plugins' );
    52         _x( 'Communication',              'Plugin Category Name', 'wporg-plugins' );
    53         _x( 'Contact Forms',              'Plugin Category Name', 'wporg-plugins' );
    54         _x( 'Customization',              'Plugin Category Name', 'wporg-plugins' );
    55         _x( 'Discussion & Community',     'Plugin Category Name', 'wporg-plugins' );
    56         _x( 'eCommerce',                  'Plugin Category Name', 'wporg-plugins' );
    57         _x( 'Editor & Writing',           'Plugin Category Name', 'wporg-plugins' );
    58         _x( 'Education & Support',        'Plugin Category Name', 'wporg-plugins' );
    59         _x( 'Language Tools',             'Plugin Category Name', 'wporg-plugins' );
    60         _x( 'Maps & Location',            'Plugin Category Name', 'wporg-plugins' );
    61         _x( 'Media',                      'Plugin Category Name', 'wporg-plugins' );
    62         _x( 'Multisite',                  'Plugin Category Name', 'wporg-plugins' );
    63         _x( 'Performance',                'Plugin Category Name', 'wporg-plugins' );
    64         _x( 'Ratings & Reviews',          'Plugin Category Name', 'wporg-plugins' );
     46        _x( 'Accessibility', 'Plugin Category Name', 'wporg-plugins' );
     47        _x( 'Advertising', 'Plugin Category Name', 'wporg-plugins' );
     48        _x( 'Analytics', 'Plugin Category Name', 'wporg-plugins' );
     49        _x( 'Arts & Entertainment', 'Plugin Category Name', 'wporg-plugins' );
     50        _x( 'Authentication', 'Plugin Category Name', 'wporg-plugins' );
     51        _x( 'Business', 'Plugin Category Name', 'wporg-plugins' );
     52        _x( 'Calendar & Events', 'Plugin Category Name', 'wporg-plugins' );
     53        _x( 'Communication', 'Plugin Category Name', 'wporg-plugins' );
     54        _x( 'Contact Forms', 'Plugin Category Name', 'wporg-plugins' );
     55        _x( 'Customization', 'Plugin Category Name', 'wporg-plugins' );
     56        _x( 'Discussion & Community', 'Plugin Category Name', 'wporg-plugins' );
     57        _x( 'eCommerce', 'Plugin Category Name', 'wporg-plugins' );
     58        _x( 'Editor & Writing', 'Plugin Category Name', 'wporg-plugins' );
     59        _x( 'Education & Support', 'Plugin Category Name', 'wporg-plugins' );
     60        _x( 'Language Tools', 'Plugin Category Name', 'wporg-plugins' );
     61        _x( 'Maps & Location', 'Plugin Category Name', 'wporg-plugins' );
     62        _x( 'Media', 'Plugin Category Name', 'wporg-plugins' );
     63        _x( 'Multisite', 'Plugin Category Name', 'wporg-plugins' );
     64        _x( 'Performance', 'Plugin Category Name', 'wporg-plugins' );
     65        _x( 'Ratings & Reviews', 'Plugin Category Name', 'wporg-plugins' );
    6566        _x( 'Security & Spam Protection', 'Plugin Category Name', 'wporg-plugins' );
    66         _x( 'SEO & Marketing',            'Plugin Category Name', 'wporg-plugins' );
    67         _x( 'Social & Sharing',           'Plugin Category Name', 'wporg-plugins' );
    68         _x( 'Taxonomy',                   'Plugin Category Name', 'wporg-plugins' );
    69         _x( 'User Management',            'Plugin Category Name', 'wporg-plugins' );
    70         _x( 'Utilities & Tools',          'Plugin Category Name', 'wporg-plugins' );
     67        _x( 'SEO & Marketing', 'Plugin Category Name', 'wporg-plugins' );
     68        _x( 'Social & Sharing', 'Plugin Category Name', 'wporg-plugins' );
     69        _x( 'Taxonomy', 'Plugin Category Name', 'wporg-plugins' );
     70        _x( 'User Management', 'Plugin Category Name', 'wporg-plugins' );
     71        _x( 'Utilities & Tools', 'Plugin Category Name', 'wporg-plugins' );
    7172
    7273        // Section terms.
    73         _x( 'Adopt Me',     'Plugin Section Name', 'wporg-plugins' );
    74         _x( 'Beta',         'Plugin Section Name', 'wporg-plugins' );
     74        _x( 'Adopt Me', 'Plugin Section Name', 'wporg-plugins' );
     75        _x( 'Beta', 'Plugin Section Name', 'wporg-plugins' );
    7576        _x( 'My Favorites', 'Plugin Section Name', 'wporg-plugins' );
    76         _x( 'Featured',     'Plugin Section Name', 'wporg-plugins' );
    77         _x( 'Popular',      'Plugin Section Name', 'wporg-plugins' );
     77        _x( 'Featured', 'Plugin Section Name', 'wporg-plugins' );
     78        _x( 'Popular', 'Plugin Section Name', 'wporg-plugins' );
    7879
    7980        // Section descriptions.
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-markdown.php

    r3511 r6287  
    4242         * markdown will preserve things like underscores in code blocks.
    4343         */
    44         $text = preg_replace_callback( "!(<pre><code>|<code>)(.*?)(</code></pre>|</code>)!s", array( $this, 'code_trick_decodeit_cb' ), $text );
     44        $text = preg_replace_callback( '!(<pre><code>|<code>)(.*?)(</code></pre>|</code>)!s', array( $this, 'code_trick_decodeit_cb' ), $text );
    4545        $text = str_replace( array( "\r\n", "\r" ), "\n", $text );
    4646
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php

    r6217 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use WordPressdotorg\Plugin_Directory\Admin\Customizations;
    45use WordPressdotorg\Plugin_Directory\Admin\Tools\Author_Cards;
     
    5960
    6061        // Load the API routes.
    61         add_action( 'rest_api_init', array( __NAMESPACE__ . '\API\Base', 'load_routes' ) );
     62        add_action( 'rest_api_init', array( __NAMESPACE__ . '\API\Base', 'init' ) );
    6263
    6364        // Allow post_modified not to be modified when we don't specifically bump it.
     
    6566
    6667        // Work around caching issues
    67         add_filter( 'pre_option_jetpack_sync_full__started' , array( $this, 'bypass_options_cache' ), 10, 2 );
     68        add_filter( 'pre_option_jetpack_sync_full__started', array( $this, 'bypass_options_cache' ), 10, 2 );
    6869        add_filter( 'default_option_jetpack_sync_full__started', '__return_null' );
    69         add_filter( 'pre_option_jetpack_sync_full__params' , array( $this, 'bypass_options_cache' ), 10, 2 );
     70        add_filter( 'pre_option_jetpack_sync_full__params', array( $this, 'bypass_options_cache' ), 10, 2 );
    7071        add_filter( 'default_option_jetpack_sync_full__params', '__return_null' );
    71         add_filter( 'pre_option_jetpack_sync_full__queue_finished' , array( $this, 'bypass_options_cache' ), 10, 2 );
     72        add_filter( 'pre_option_jetpack_sync_full__queue_finished', array( $this, 'bypass_options_cache' ), 10, 2 );
    7273        add_filter( 'default_option_jetpack_sync_full__queue_finished', '__return_null' );
    73         add_filter( 'pre_option_jetpack_sync_full__send_started' , array( $this, 'bypass_options_cache' ), 10, 2 );
     74        add_filter( 'pre_option_jetpack_sync_full__send_started', array( $this, 'bypass_options_cache' ), 10, 2 );
    7475        add_filter( 'default_option_jetpack_sync_full__send_started', '__return_null' );
    75         add_filter( 'pre_option_jetpack_sync_full__finished' , array( $this, 'bypass_options_cache' ), 10, 2 );
     76        add_filter( 'pre_option_jetpack_sync_full__finished', array( $this, 'bypass_options_cache' ), 10, 2 );
    7677        add_filter( 'default_option_jetpack_sync_full__finished', '__return_null' );
    7778
     
    8889            Stats_Report::instance();
    8990
    90             add_action( 'wp_insert_post_data',    array( __NAMESPACE__ . '\Admin\Status_Transitions', 'can_change_post_status' ), 10, 2 );
     91            add_action( 'wp_insert_post_data', array( __NAMESPACE__ . '\Admin\Status_Transitions', 'can_change_post_status' ), 10, 2 );
    9192            add_action( 'transition_post_status', array( __NAMESPACE__ . '\Admin\Status_Transitions', 'instance' ) );
    9293        }
     
    124125        register_post_type( 'plugin', array(
    125126            'labels'       => array(
    126                 'name'               => __( 'Repo Plugins',              'wporg-plugins' ),
    127                 'singular_name'      => __( 'Repo Plugin',               'wporg-plugins' ),
    128                 'menu_name'          => __( 'Repo Plugins',              'wporg-plugins' ),
    129                 'add_new'            => __( 'Add New',                   'wporg-plugins' ),
    130                 'add_new_item'       => __( 'Add New Plugin',            'wporg-plugins' ),
    131                 'new_item'           => __( 'New Plugin',                'wporg-plugins' ),
    132                 'view_item'          => __( 'View Plugin',               'wporg-plugins' ),
    133                 'search_items'       => __( 'Search Plugins',            'wporg-plugins' ),
    134                 'not_found'          => __( 'No plugins found',          'wporg-plugins' ),
     127                'name'               => __( 'Repo Plugins', 'wporg-plugins' ),
     128                'singular_name'      => __( 'Repo Plugin', 'wporg-plugins' ),
     129                'menu_name'          => __( 'Repo Plugins', 'wporg-plugins' ),
     130                'add_new'            => __( 'Add New', 'wporg-plugins' ),
     131                'add_new_item'       => __( 'Add New Plugin', 'wporg-plugins' ),
     132                'new_item'           => __( 'New Plugin', 'wporg-plugins' ),
     133                'view_item'          => __( 'View Plugin', 'wporg-plugins' ),
     134                'search_items'       => __( 'Search Plugins', 'wporg-plugins' ),
     135                'not_found'          => __( 'No plugins found', 'wporg-plugins' ),
    135136                'not_found_in_trash' => __( 'No plugins found in Trash', 'wporg-plugins' ),
    136137
     
    138139                'edit_item'          => is_admin() ? __( 'Editing Plugin: %s', 'wporg-plugins' ) : __( 'Edit Plugin', 'wporg-plugins' ),
    139140            ),
    140             'description'     => __( 'A Repo Plugin', 'wporg-plugins' ),
    141             'supports'        => array( 'comments', 'author', 'custom-fields' ),
    142             'public'          => true,
    143             'show_ui'         => true,
    144             'show_in_rest'    => true,
    145             'has_archive'     => true,
    146             'rewrite'         => false,
    147             'menu_icon'       => 'dashicons-admin-plugins',
    148             'capabilities'    => array(
     141            'description'  => __( 'A Repo Plugin', 'wporg-plugins' ),
     142            'supports'     => array( 'comments', 'author', 'custom-fields' ),
     143            'public'       => true,
     144            'show_ui'      => true,
     145            'show_in_rest' => true,
     146            'has_archive'  => true,
     147            'rewrite'      => false,
     148            'menu_icon'    => 'dashicons-admin-plugins',
     149            'capabilities' => array(
    149150                'edit_post'          => 'plugin_edit',
    150151                'read_post'          => 'read',
     
    184185            'labels'            => array(
    185186                'name'          => __( 'Plugin Categories', 'wporg-plugins' ),
    186                 'singular_name' => __( 'Plugin Category',   'wporg-plugins' ),
    187                 'edit_item'     => __( 'Edit Category',     'wporg-plugins' ),
    188                 'update_item'   => __( 'Update Category',   'wporg-plugins' ),
    189                 'add_new_item'  => __( 'Add New Category',  'wporg-plugins' ),
     187                'singular_name' => __( 'Plugin Category', 'wporg-plugins' ),
     188                'edit_item'     => __( 'Edit Category', 'wporg-plugins' ),
     189                'update_item'   => __( 'Update Category', 'wporg-plugins' ),
     190                'add_new_item'  => __( 'Add New Category', 'wporg-plugins' ),
    190191                'new_item_name' => __( 'New Category Name', 'wporg-plugins' ),
    191192                'search_items'  => __( 'Search Categories', 'wporg-plugins' ),
     
    237238            'rewrite'           => false,
    238239            'labels'            => array(
    239                 'name' => __( 'Contributors', 'wporg-plugins' ),
     240                'name'          => __( 'Contributors', 'wporg-plugins' ),
    240241                'singular_name' => __( 'Contributor', 'wporg-plugins' ),
    241242            ),
     
    253254            'rewrite'           => false,
    254255            'labels'            => array(
    255                 'name' => __( 'Committers', 'wporg-plugins' ),
     256                'name'          => __( 'Committers', 'wporg-plugins' ),
    256257                'singular_name' => __( 'Committer', 'wporg-plugins' ),
    257258            ),
     
    269270            'rewrite'           => false,
    270271            'labels'            => array(
    271                 'name' => __( 'Support Reps', 'wporg-plugins' ),
     272                'name'          => __( 'Support Reps', 'wporg-plugins' ),
    272273                'singular_name' => __( 'Support Rep', 'wporg-plugins' ),
    273274            ),
     
    291292            'labels'            => array(
    292293                'name'          => __( 'Plugin Tags', 'wporg-plugins' ),
    293                 'singular_name' => __( 'Plugin Tag',   'wporg-plugins' ),
    294                 'edit_item'     => __( 'Edit Tag',     'wporg-plugins' ),
    295                 'update_item'   => __( 'Update Tag',   'wporg-plugins' ),
    296                 'add_new_item'  => __( 'Add New Tag',  'wporg-plugins' ),
     294                'singular_name' => __( 'Plugin Tag', 'wporg-plugins' ),
     295                'edit_item'     => __( 'Edit Tag', 'wporg-plugins' ),
     296                'update_item'   => __( 'Update Tag', 'wporg-plugins' ),
     297                'add_new_item'  => __( 'Add New Tag', 'wporg-plugins' ),
    297298                'new_item_name' => __( 'New Tag Name', 'wporg-plugins' ),
    298299                'search_items'  => __( 'Search Tags', 'wporg-plugins' ),
     
    352353
    353354        register_meta( 'post', 'rating', array(
    354             'type'              => 'number',
    355             'description'       => __( 'Overall rating of the plugin.', 'wporg-plugins' ),
    356             'single'            => true,
     355            'type'         => 'number',
     356            'description'  => __( 'Overall rating of the plugin.', 'wporg-plugins' ),
     357            'single'       => true,
    357358            // todo 'sanitize_callback' => 'absint',
    358             'show_in_rest'      => true,
     359            'show_in_rest' => true,
    359360        ) );
    360361
     
    376377
    377378        register_meta( 'post', 'tested', array(
    378             'description'       => __( 'The version of WordPress the plugin was tested with.', 'wporg-plugins' ),
    379             'single'            => true,
     379            'description'  => __( 'The version of WordPress the plugin was tested with.', 'wporg-plugins' ),
     380            'single'       => true,
    380381            // TODO 'sanitize_callback' => 'absint',
    381             'show_in_rest'      => true,
     382            'show_in_rest' => true,
    382383        ) );
    383384
    384385        register_meta( 'post', 'requires', array(
    385             'description'       => __( 'The minimum version of WordPress the plugin needs to run.', 'wporg-plugins' ),
    386             'single'            => true,
     386            'description'  => __( 'The minimum version of WordPress the plugin needs to run.', 'wporg-plugins' ),
     387            'single'       => true,
    387388            // TODO 'sanitize_callback' => 'absint',
    388             'show_in_rest'      => true,
     389            'show_in_rest' => true,
    389390        ) );
    390391
    391392        register_meta( 'post', 'requires_php', array(
    392             'description'       => __( 'The minimum version of PHP the plugin needs to run.', 'wporg-plugins' ),
    393             'single'            => true,
     393            'description'  => __( 'The minimum version of PHP the plugin needs to run.', 'wporg-plugins' ),
     394            'single'       => true,
    394395            // TODO 'sanitize_callback' => 'absint',
    395             'show_in_rest'      => true,
     396            'show_in_rest' => true,
    396397        ) );
    397398
    398399        register_meta( 'post', 'stable_tag', array(
    399             'description'       => __( 'Stable version of the plugin.', 'wporg-plugins' ),
    400             'single'            => true,
     400            'description'  => __( 'Stable version of the plugin.', 'wporg-plugins' ),
     401            'single'       => true,
    401402            // TODO 'sanitize_callback' => 'absint',
    402             'show_in_rest'      => true,
     403            'show_in_rest' => true,
    403404        ) );
    404405
     
    411412
    412413        register_meta( 'post', 'version', array(
    413             'description'       => __( 'Current stable version.', 'wporg-plugins' ),
    414             'single'            => true,
     414            'description'  => __( 'Current stable version.', 'wporg-plugins' ),
     415            'single'       => true,
    415416            // TODO 'sanitize_callback' => 'esc_url_raw',
    416             'show_in_rest'      => true,
     417            'show_in_rest' => true,
    417418        ) );
    418419
    419420        register_meta( 'post', 'header_name', array(
    420             'description'       => __( 'Name of the plugin.', 'wporg-plugins' ),
    421             'single'            => true,
     421            'description'  => __( 'Name of the plugin.', 'wporg-plugins' ),
     422            'single'       => true,
    422423            // TODO 'sanitize_callback' => 'esc_url_raw',
    423             'show_in_rest'      => true,
     424            'show_in_rest' => true,
    424425        ) );
    425426
     
    432433
    433434        register_meta( 'post', 'header_name', array(
    434             'description'       => __( 'Name of the plugin.', 'wporg-plugins' ),
    435             'single'            => true,
     435            'description'  => __( 'Name of the plugin.', 'wporg-plugins' ),
     436            'single'       => true,
    436437            // TODO 'sanitize_callback' => 'esc_url_raw',
    437             'show_in_rest'      => true,
     438            'show_in_rest' => true,
    438439        ) );
    439440
    440441        register_meta( 'post', 'header_author', array(
    441             'description'       => __( 'Name of the plugin author.', 'wporg-plugins' ),
    442             'single'            => true,
     442            'description'  => __( 'Name of the plugin author.', 'wporg-plugins' ),
     443            'single'       => true,
    443444            // TODO 'sanitize_callback' => 'esc_url_raw',
    444             'show_in_rest'      => true,
     445            'show_in_rest' => true,
    445446        ) );
    446447
     
    453454
    454455        register_meta( 'post', 'header_description', array(
    455             'description'       => __( 'Description of the plugin.', 'wporg-plugins' ),
    456             'single'            => true,
     456            'description'  => __( 'Description of the plugin.', 'wporg-plugins' ),
     457            'single'       => true,
    457458            // TODO 'sanitize_callback' => 'esc_url_raw',
    458             'show_in_rest'      => true,
     459            'show_in_rest' => true,
    459460        ) );
    460461
    461462        register_meta( 'post', 'assets_icons', array(
    462             'type'              => 'array',
    463             'description'       => __( 'Icon images of the plugin.', 'wporg-plugins' ),
    464             'single'            => true,
     463            'type'         => 'array',
     464            'description'  => __( 'Icon images of the plugin.', 'wporg-plugins' ),
     465            'single'       => true,
    465466            // TODO 'sanitize_callback' => 'esc_url_raw',
    466             'show_in_rest'      => true,
     467            'show_in_rest' => true,
    467468        ) );
    468469
    469470        register_meta( 'post', 'assets_banners_color', array(
    470             'description'       => __( 'Fallback color for the plugin.', 'wporg-plugins' ),
    471             'single'            => true,
     471            'description'  => __( 'Fallback color for the plugin.', 'wporg-plugins' ),
     472            'single'       => true,
    472473            // TODO 'sanitize_callback' => 'esc_url_raw',
    473             'show_in_rest'      => true,
     474            'show_in_rest' => true,
    474475        ) );
    475476
     
    510511
    511512        // If changing capabilities around, uncomment this.
    512         //Capabilities::add_roles();
     513        // Capabilities::add_roles();
    513514
    514515        // Remove the /admin$ redirect to wp-admin
     
    523524        if ( class_exists( 'Jetpack' ) && \Jetpack::get_option( 'id' ) && ! class_exists( 'Jetpack_Search' )
    524525            && ! isset( $_GET['s'] ) ) { // Don't run the ES query if we're going to redirect to the pretty search URL
    525                 require_once( __DIR__ . '/libs/site-search/jetpack-search.php' );
     526                require_once __DIR__ . '/libs/site-search/jetpack-search.php';
    526527                \Jetpack_Search::instance();
    527528        }
     
    532533     */
    533534    public function register_shortcodes() {
    534         add_shortcode( 'wporg-plugins-developers',  array( __NAMESPACE__ . '\Shortcodes\Developers', 'display' ) );
    535         add_shortcode( 'wporg-plugin-upload',       array( __NAMESPACE__ . '\Shortcodes\Upload',      'display' ) );
     535        add_shortcode( 'wporg-plugins-developers', array( __NAMESPACE__ . '\Shortcodes\Developers', 'display' ) );
     536        add_shortcode( 'wporg-plugin-upload', array( __NAMESPACE__ . '\Shortcodes\Upload', 'display' ) );
    536537        add_shortcode( 'wporg-plugins-screenshots', array( __NAMESPACE__ . '\Shortcodes\Screenshots', 'display' ) );
    537         add_shortcode( 'wporg-plugins-reviews',     array( __NAMESPACE__ . '\Shortcodes\Reviews',    'display' ) );
    538         add_shortcode( 'readme-validator',          array( __NAMESPACE__ . '\Shortcodes\Readme_Validator',    'display' ) );
     538        add_shortcode( 'wporg-plugins-reviews', array( __NAMESPACE__ . '\Shortcodes\Reviews', 'display' ) );
     539        add_shortcode( 'readme-validator', array( __NAMESPACE__ . '\Shortcodes\Readme_Validator', 'display' ) );
    539540    }
    540541
     
    552553            'wporg-plugins-screenshots',
    553554            'wporg-plugins-reviews',
    554             'readme-validator'
     555            'readme-validator',
    555556        );
    556557
     
    568569     */
    569570    public function register_widgets() {
    570         register_widget( __NAMESPACE__ . '\Widgets\Donate'        );
    571         register_widget( __NAMESPACE__ . '\Widgets\Meta'          );
    572         register_widget( __NAMESPACE__ . '\Widgets\Ratings'       );
    573         register_widget( __NAMESPACE__ . '\Widgets\Support'       );
    574         register_widget( __NAMESPACE__ . '\Widgets\Committers'    );
    575         register_widget( __NAMESPACE__ . '\Widgets\Contributors'  );
    576         register_widget( __NAMESPACE__ . '\Widgets\Support_Reps'  );
     571        register_widget( __NAMESPACE__ . '\Widgets\Donate' );
     572        register_widget( __NAMESPACE__ . '\Widgets\Meta' );
     573        register_widget( __NAMESPACE__ . '\Widgets\Ratings' );
     574        register_widget( __NAMESPACE__ . '\Widgets\Support' );
     575        register_widget( __NAMESPACE__ . '\Widgets\Committers' );
     576        register_widget( __NAMESPACE__ . '\Widgets\Contributors' );
     577        register_widget( __NAMESPACE__ . '\Widgets\Support_Reps' );
    577578    }
    578579
     
    669670    /**
    670671     * Filter content to make links rel=nofollow on plugin pages only
    671      * @param string    $content    The content.
     672     *
     673     * @param string $content    The content.
    672674     * @return string
    673675     */
     
    675677        if ( get_post_type() == 'plugin' ) {
    676678            // regex copied from wp_rel_nofollow(). Not calling that function because it messes with slashes.
    677             $content = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $content);
     679            $content = preg_replace_callback( '|<a (.+?)>|i', 'wp_rel_nofollow_callback', $content );
    678680        }
    679681        return $content;
     
    706708                $wp_query->query_vars['order']    = 'DESC';
    707709                break;
     710
    708711            case 'favorites':
    709712                $favorites_user = wp_get_current_user();
     
    723726
    724727                    $wp_query->query_vars['orderby'] = 'post_title';
    725                     $wp_query->query_vars['order'] = 'ASC';
     728                    $wp_query->query_vars['order']   = 'ASC';
    726729                }
    727730
     
    766769                array(
    767770                    'taxonomy' => 'plugin_contributors',
    768                     'field' => 'slug',
    769                     'terms' => $user
    770                 )
     771                    'field'    => 'slug',
     772                    'terms'    => $user,
     773                ),
    771774            );
    772775
     
    776779                $wp_query->query_vars['tax_query'][] = array(
    777780                    'taxonomy' => 'plugin_committers',
    778                     'field' => 'slug',
    779                     'terms' => $user
     781                    'field'    => 'slug',
     782                    'terms'    => $user,
    780783                );
    781784            }
    782785
    783786            $wp_query->query_vars['orderby'] = 'post_title';
    784             $wp_query->query_vars['order'] = 'ASC';
     787            $wp_query->query_vars['order']   = 'ASC';
    785788
    786789            // Treat it as a taxonomy query now, not the author archive.
    787790            $wp_query->is_author = false;
    788             $wp_query->is_tax = true;
     791            $wp_query->is_tax    = true;
    789792
    790793            unset( $wp_query->query_vars['author_name'], $wp_query->query_vars['author'] );
     
    796799            $wp_query->query_vars['post_status'] = array( 'approved', 'publish', 'closed', 'disabled' );
    797800
    798             add_filter( 'posts_results', function( $posts, $this_wp_query ) use( $wp_query ) {
     801            add_filter( 'posts_results', function( $posts, $this_wp_query ) use ( $wp_query ) {
    799802                if ( $this_wp_query != $wp_query ) {
    800803                    return $posts;
     
    825828        // Allow anyone to view a closed plugin directly from its page. It won't show in search results or lists.
    826829        if ( $wp_query->is_main_query() && ! empty( $wp_query->query_vars['name'] ) ) {
    827             $wp_query->query_vars['post_status'] = (array) $wp_query->query_vars['post_status'];
     830            $wp_query->query_vars['post_status']   = (array) $wp_query->query_vars['post_status'];
    828831            $wp_query->query_vars['post_status'][] = 'closed';
    829832            $wp_query->query_vars['post_status'][] = 'disabled';
    830             $wp_query->query_vars['post_status'] = array_unique( $wp_query->query_vars['post_status'] );
     833            $wp_query->query_vars['post_status']   = array_unique( $wp_query->query_vars['post_status'] );
    831834        }
    832835
     
    856859    public function bypass_options_cache( $value, $option ) {
    857860        global $wpdb;
    858         $value = $wpdb->get_var(
    859             $wpdb->prepare(
    860                 "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1",
    861                 $option
    862             )
    863         );
     861        $value = $wpdb->get_var( $wpdb->prepare(
     862            "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1",
     863            $option
     864        ) );
    864865        $value = maybe_unserialize( $value );
    865866
     
    874875    public function fix_login_url( $login_url, $redirect, $force_reauth ) {
    875876        // modify the redirect_to for the support forums to point to the current page
    876         if ( 0 === strpos($_SERVER['REQUEST_URI'], '/plugins' ) ) {
     877        if ( 0 === strpos( $_SERVER['REQUEST_URI'], '/plugins' ) ) {
    877878            // Note that this is not normal because of the code in /mu-plugins/wporg-sso/class-wporg-sso.php.
    878879            // The login_url function there expects the redirect_to as the first parameter passed into it instead of the second
     
    884885            // parse_url is used here to remove any additional query args from the REQUEST_URI before redirection
    885886            // The SSO code handles the urlencoding of the redirect_to parameter
    886             $url_parts = parse_url('https://wordpress.org'.$_SERVER['REQUEST_URI']);
    887             $constructed_url = $url_parts['scheme'] . '://' . $url_parts['host'] . (isset($url_parts['path'])?$url_parts['path']:'');
    888             $login_url = $constructed_url;
     887            $url_parts       = parse_url( 'https://wordpress.org' . $_SERVER['REQUEST_URI'] );
     888            $constructed_url = $url_parts['scheme'] . '://' . $url_parts['host'] . ( isset( $url_parts['path'] ) ? $url_parts['path'] : '' );
     889            $login_url       = $constructed_url;
    889890        }
    890891        return $login_url;
     
    940941     * @global string $locale Current locale.
    941942     *
    942      * @param int   $post_id    Post ID to update.
    943      * @param int   $min_translated Translations below this % threshold will not be synced to meta, to save space.
     943     * @param int $post_id    Post ID to update.
     944     * @param int $min_translated Translations below this % threshold will not be synced to meta, to save space.
    944945     * @return array
    945946     */
    946     public function sync_all_translations_to_meta( $post_id, $min_translated = 40, $skip_pfx = array('en_') ) {
     947    public function sync_all_translations_to_meta( $post_id, $min_translated = 40, $skip_pfx = array( 'en_' ) ) {
    947948
    948949        $locales_to_sync = array();
    949         $post = get_post( $post_id );
     950        $post            = get_post( $post_id );
    950951        if ( $post ) {
    951952            $translations = Plugin_I18n::instance()->find_all_translations_for_plugin( $post->post_name, 'stable-readme', $min_translated ); // at least $min_translated % translated
     
    953954                // Eliminate translations that start with unwanted prefixes, so we don't waste space on near-duplicates like en_AU, en_CA etc.
    954955                foreach ( $translations as $i => $_locale ) {
    955                     foreach ( $skip_pfx as $pfx )
    956                         if ( substr( $_locale, 0, strlen( $pfx ) ) === $pfx )
     956                    foreach ( $skip_pfx as $pfx ) {
     957                        if ( substr( $_locale, 0, strlen( $pfx ) ) === $pfx ) {
    957958                            unset( $translations[ $i ] );
     959                        }
     960                    }
    958961                }
    959962                $locales_to_sync = array_unique( $translations );
     
    961964        }
    962965
    963         if ( count($locales_to_sync) > 0 ) {
     966        if ( count( $locales_to_sync ) > 0 ) {
    964967            foreach ( $locales_to_sync as $locale ) {
    965968                $this->sync_translation_to_meta( $post_id, $locale );
     
    975978     * @global string $locale Current locale.
    976979     *
    977      * @param int   $post_id    Post ID to update.
    978      * @param string   $locale  Locale to translate.
     980     * @param int    $post_id    Post ID to update.
     981     * @param string $locale  Locale to translate.
    979982     */
    980983    public function sync_translation_to_meta( $post_id, $_locale ) {
     
    983986        $old_locale = $locale;
    984987        // Keep track of the original untranslated strings
    985         $orig_title = get_the_title( $post_id );
     988        $orig_title   = get_the_title( $post_id );
    986989        $orig_excerpt = get_the_excerpt( $post_id );
    987990        $orig_content = get_post_field( 'post_content', $post_id );
    988         $locale = $_locale;
     991        $locale       = $_locale;
    989992
    990993        // Update postmeta values for the translated title, excerpt, and content, if they are available and different from the originals.
    991994        // There is a bug here, in that no attempt is made to remove old meta values for translations that do not have new translations.
    992 
    993995        $the_title = Plugin_I18n::instance()->translate( 'title', $orig_title, [ 'post_id' => $post_id ] );
    994996        if ( $the_title && $the_title != $orig_title ) {
     
    10031005        // Split up the content to translate it in sections.
    10041006        $the_content = array();
    1005         $sections = $this->split_post_content_into_pages( $orig_content );
     1007        $sections    = $this->split_post_content_into_pages( $orig_content );
    10061008        foreach ( $sections as $section => $section_content ) {
    10071009            $translated_section = $this->translate_post_content( $section_content, $section, $post_id );
     
    10121014        }
    10131015
    1014         if ( !empty( $the_content ) ) {
     1016        if ( ! empty( $the_content ) ) {
    10151017            update_post_meta( $post_id, 'content_' . $locale, implode( $the_content ) );
    10161018        }
     
    11091111
    11101112            if ( 'tags' === $path[2] ) {
    1111                 if ( isset( $path[3] ) && !empty( $path[3] ) ) {
     1113                if ( isset( $path[3] ) && ! empty( $path[3] ) ) {
    11121114                    wp_safe_redirect( home_url( '/search/' . urlencode( $path[3] ) . '/' ) );
    11131115                    die();
     
    11451147            }
    11461148
    1147             //Otherwise, let's redirect to the search page
    1148             if ( isset( $path[2] ) && !empty( $path[2] ) ) {
     1149            // Otherwise, let's redirect to the search page
     1150            if ( isset( $path[2] ) && ! empty( $path[2] ) ) {
    11491151                wp_safe_redirect( home_url( '/search/' . urlencode( $path[2] ) . '/' ) );
    11501152                die();
     
    12051207     */
    12061208    public function split_post_content_into_pages( $content ) {
    1207         $_pages        = preg_split( "#<!--section=(.+?)-->#", $content, - 1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
     1209        $_pages        = preg_split( '#<!--section=(.+?)-->#', $content, - 1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
    12081210        $content_pages = array(
    12091211            'screenshots' => '[wporg-plugins-screenshots]',
     
    13181320    public static function create_plugin_post( array $args ) {
    13191321        $title = $args['post_title'] ?: $args['post_name'];
    1320         $slug  = $args['post_name']  ?: sanitize_title( $title );
     1322        $slug  = $args['post_name'] ?: sanitize_title( $title );
    13211323
    13221324        $args = wp_parse_args( $args, array(
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-geopattern-svg.php

    r2994 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use RedeyeVentures\GeoPattern\SVG;
    45
     
    4142
    4243    /**
    43      * @param       $text
    44      * @param       $x
    45      * @param       $y
    46      * @param       $text_anchor
    47      * @param       $style
    48      * @param array $args
     44     * @param string $text
     45     * @param string $x
     46     * @param string $y
     47     * @param string $text_anchor
     48     * @param string $style
     49     * @param array  $args
    4950     *
    5051     * @return $this
    5152     */
    5253    public function addText( $text, $x, $y, $text_anchor, $style, $args = array() ) {
    53         $element = new Plugin_Geopattern_SVGText( $text, $x, $y, $text_anchor, $style, $args );
     54        $element          = new Plugin_Geopattern_SVGText( $text, $x, $y, $text_anchor, $style, $args );
    5455        $this->svgString .= $element;
    5556
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-geopattern-svgtext.php

    r2994 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use RedeyeVentures\GeoPattern\SVGElements\Base;
    45
     
    2122
    2223    /**
    23      * @param       $text
    24      * @param       $x
    25      * @param       $y
    26      * @param       $text_anchor
    27      * @param       $style
    28      * @param array $args
     24     * @param string $text
     25     * @param string $x
     26     * @param string $y
     27     * @param string $text_anchor
     28     * @param string $style
     29     * @param array  $args
    2930     */
    3031    function __construct( $text, $x, $y, $text_anchor, $style, $args = array() ) {
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-geopattern.php

    r2994 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use RedeyeVentures\GeoPattern\GeoPattern;
    45
     
    9192        $this->generatePattern();
    9293
    93         #if ( $this->svg->getWidth() < $width || $this->svg->getHeight() < $height ) {
     94        // if ( $this->svg->getWidth() < $width || $this->svg->getHeight() < $height ) {
    9495            $this->svg->setViewBox( 0, 0, $this->svg->getWidth(), $this->svg->getHeight() );
    95         #}
    96 
     96        // }
    9797        if ( $this->text ) {
    9898            $inner = $this->svg;
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-i18n.php

    r5982 r6287  
    6464     *
    6565     * @access private
    66      *
    6766     */
    6867    private function __construct() {
     
    237236        $translation_set_id = $wpdb->get_var( $wpdb->prepare(
    238237            'SELECT id FROM ' . GLOTPRESS_TABLE_PREFIX . 'translation_sets WHERE project_id = %d AND locale = %s',
    239             $branch_id, $locale ) );
     238            $branch_id, $locale
     239        ) );
    240240
    241241        if ( empty( $translation_set_id ) ) {
     
    456456        $translation_sets = $this->cache_get( $post->post_name, $branch, $cache_suffix );
    457457        if ( false === $translation_sets ) {
    458             $api_url = esc_url_raw( 'https://translate.wordpress.org/api/projects/wp-plugins/' . $post->post_name . '/' . $branch, [ 'https' ] );
     458            $api_url  = esc_url_raw( 'https://translate.wordpress.org/api/projects/wp-plugins/' . $post->post_name . '/' . $branch, [ 'https' ] );
    459459            $response = wp_remote_get( $api_url );
    460460
     
    462462                $translation_sets = [];
    463463            } else {
    464                 $result = json_decode( wp_remote_retrieve_body( $response ) );
     464                $result           = json_decode( wp_remote_retrieve_body( $response ) );
    465465                $translation_sets = isset( $result->translation_sets ) ? $result->translation_sets : [];
    466466            }
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-template.php

    r6250 r6287  
    33
    44// Explicitly require dependencies so this file can be sourced outside the Plugin Directory.
    5 require_once( __DIR__ . '/class-plugin-geopattern.php' );
    6 require_once( __DIR__ . '/class-plugin-geopattern-svg.php' );
    7 require_once( __DIR__ . '/class-plugin-geopattern-svgtext.php' );
     5require_once __DIR__ . '/class-plugin-geopattern.php';
     6require_once __DIR__ . '/class-plugin-geopattern-svg.php';
     7require_once __DIR__ . '/class-plugin-geopattern-svgtext.php';
    88
    99/**
     
    137137
    138138        if ( is_singular( 'plugin' ) ) {
    139             $metas[] = sprintf( '<meta name="description" value="%s" />',
     139            $metas[] = sprintf(
     140                '<meta name="description" value="%s" />',
    140141                esc_attr( get_the_excerpt() )
    141142            );
     
    192193
    193194            // TODO: While the plugin ZIPs are still being served by bbPress, the download stats are stored there.
    194             $count = $wpdb->get_var( $wpdb->prepare( "SELECT downloads FROM `" . PLUGINS_TABLE_PREFIX . "download_counts` WHERE topic_id = (SELECT topic_id FROM `" . PLUGINS_TABLE_PREFIX . "topics` WHERE topic_slug = %s )", $post->post_name ) );
     195            $count = $wpdb->get_var( $wpdb->prepare( 'SELECT downloads FROM `' . PLUGINS_TABLE_PREFIX . 'download_counts` WHERE topic_id = (SELECT topic_id FROM `' . PLUGINS_TABLE_PREFIX . 'topics` WHERE topic_slug = %s )', $post->post_name ) );
    195196
    196197            wp_cache_set( $post->ID, $count, 'plugin_download_count', HOUR_IN_SECONDS );
     
    212213            global $wpdb;
    213214
    214             $count = $wpdb->get_var( "SELECT SUM(downloads) FROM `" . PLUGINS_TABLE_PREFIX . "stats`" );
     215            $count = $wpdb->get_var( 'SELECT SUM(downloads) FROM `' . PLUGINS_TABLE_PREFIX . 'stats`' );
    215216            wp_cache_set( 'plugin_download_count', $count, 'plugin_download_count', DAY_IN_SECONDS );
    216217        }
     
    234235        $num_ratings = array_sum( $ratings );
    235236
    236         return
    237             '<div class="plugin-rating">' .
     237        return '<div class="plugin-rating">' .
    238238                Template::dashicons_stars( $rating ) .
    239239                '<span class="rating-count">(' .
     
    356356     */
    357357    public static function get_plugin_icon( $post = null, $output = 'raw' ) {
    358         $plugin    = get_post( $post );
     358        $plugin = get_post( $post );
     359
     360        if ( in_array( $plugin->post_status, [ 'disabled', 'closed' ], true ) ) {
     361            return false;
     362        }
     363
    359364        $raw_icons = get_post_meta( $plugin->ID, 'assets_icons', true ) ?: array();
    360 
    361         $icon = $icon_2x = $svg = $generated = false;
     365        $icon      = $icon_2x = $svg = $generated = false;
    362366
    363367        foreach ( $raw_icons as $file => $info ) {
     
    391395            $generated = true;
    392396
    393             $icon = new Plugin_Geopattern;
     397            $icon = new Plugin_Geopattern();
    394398            $icon->setString( $plugin->post_name );
    395399
     
    412416                    $html .= "@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) { #{$id} { background-image: url('{$icon_2x}'); } }";
    413417                }
    414                 $html .= "</style>";
     418                $html .= '</style>';
    415419                $html .= "<div class='plugin-icon' id='{$id}'></div>";
    416420
     
    425429
    426430    /**
    427      * Retrieve the Plugin Icon details for a plugin.
     431     * Retrieve the Plugin banner details for a plugin.
    428432     *
    429433     * @static
     
    436440        $plugin = get_post( $post );
    437441
    438         if ( in_array( $plugin->post_status, ['disabled', 'closed'], true ) ) {
     442        if ( in_array( $plugin->post_status, [ 'disabled', 'closed' ], true ) ) {
    439443            return false;
    440444        }
     
    488492                    $html .= "@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) { #{$id} { background-image: url('{$banner_2x}'); } }";
    489493                }
    490                 $html .= "</style>";
     494                $html .= '</style>';
    491495                $html .= "<div class='plugin-banner' id='{$id}'></div>";
    492496
     
    580584     */
    581585    public static function dashicons_stars( $args = array() ) {
    582         $args = wp_parse_args( ( is_numeric( $args ) ? array( 'rating' => $args ) : $args ), array(
     586        $args = is_numeric( $args ) ? array( 'rating' => $args ) : $args;
     587        $args = wp_parse_args( $args, array(
    583588            'rating'   => 0,
    584589            'template' => '<span class="%1$s"></span>',
     
    629634
    630635        if ( 'trunk' != $version ) {
    631             return sprintf( "https://downloads.wordpress.org/plugin/%s.%s.zip", $post->post_name, $version );
     636            return sprintf( 'https://downloads.wordpress.org/plugin/%s.%s.zip', $post->post_name, $version );
    632637        } else {
    633             return sprintf( "https://downloads.wordpress.org/plugin/%s.zip", $post->post_name );
     638            return sprintf( 'https://downloads.wordpress.org/plugin/%s.zip', $post->post_name );
    634639        }
    635640    }
     
    662667
    663668        return add_query_arg( array(
    664             '_wpnonce' => wp_create_nonce( 'wp_rest' ),
    665             ( $favorited ? 'unfavorite' : 'favorite' ) => '1'
     669            '_wpnonce'                                 => wp_create_nonce( 'wp_rest' ),
     670            ( $favorited ? 'unfavorite' : 'favorite' ) => '1',
    666671        ), home_url( 'wp-json/plugins/v1/plugin/' . $post->post_name . '/favorite' ) );
    667672    }
     
    759764                'locale'    => 'en_US',
    760765                'hreflang'  => 'en',
    761                 'subdomain' => ''
     766                'subdomain' => '',
    762767            );
    763768
     
    766771            } );
    767772
    768             wp_cache_set( 'local-sites-'.get_post()->post_name, $sites, 'locale-associations', DAY_IN_SECONDS );
     773            wp_cache_set( 'local-sites-' . get_post()->post_name, $sites, 'locale-associations', DAY_IN_SECONDS );
    769774        }
    770775
     
    773778                'https://%swordpress.org%s',
    774779                $site->subdomain ? "{$site->subdomain}." : '',
    775                 $_SERVER[ 'REQUEST_URI' ]
     780                $_SERVER['REQUEST_URI']
    776781            );
    777782
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php

    r5910 r6287  
    11<?php
    22namespace WordPressdotorg\Plugin_Directory;
     3
    34use WP_User;
    45
     
    5455
    5556            $reviews = $wpdb->get_results( $wpdb->prepare(
    56             "SELECT
     57                "SELECT
    5758                    ID, post_content, post_title, post_author, post_modified,
    5859                    r.rating as post_rating
    59             FROM ratings r
    60                 LEFT JOIN wporg_419_posts p ON r.post_id = p.ID
    61             WHERE r.object_type = 'plugin' AND r.object_slug = %s AND p.post_status = 'publish'
    62             ORDER BY r.review_id DESC
    63             LIMIT %d", $plugin_slug, $number ) );
     60                FROM ratings r
     61                    LEFT JOIN wporg_419_posts p ON r.post_id = p.ID
     62                WHERE r.object_type = 'plugin' AND r.object_slug = %s AND p.post_status = 'publish'
     63                ORDER BY r.review_id DESC
     64                LIMIT %d",
     65                $plugin_slug,
     66                $number
     67            ) );
    6468
    6569            wp_cache_set( "{$plugin_slug}_last{$number}", $reviews, 'plugin-reviews', HOUR_IN_SECONDS );
     
    241245
    242246        if ( false === ( $support_reps = wp_cache_get( $plugin_slug, 'plugin-support-reps' ) ) ) {
    243             $post = Plugin_Directory::get_plugin_post( $plugin_slug );
     247            $post         = Plugin_Directory::get_plugin_post( $plugin_slug );
    244248            $support_reps = wp_get_object_terms( $post->ID, 'plugin_support_reps', array( 'fields' => 'names' ) );
    245249
     
    341345        if ( $subscribe ) {
    342346            $users[] = $user->ID;
    343             $users = array_unique( $users );
     347            $users   = array_unique( $users );
    344348        } else {
    345349            if ( false !== ( $pos = array_search( $user->ID, $users, true ) ) ) {
     
    423427        }
    424428
    425         $users_favorites = get_user_meta( $user->ID, 'plugin_favorites', true ) ?: array();
    426 
     429        $users_favorites   = get_user_meta( $user->ID, 'plugin_favorites', true ) ?: array();
    427430        $already_favorited = in_array( $post->post_name, $users_favorites, true );
    428431
     
    447450     *
    448451     * @param string $plugin_slug       The plugin to retrieve subscribers for.
    449      * @param bool   $include_committers Whether to include Plugin Committers in the list. Default false. 
     452     * @param bool   $include_committers Whether to include Plugin Committers in the list. Default false.
    450453     * @return array Array of \WP_User's who are subscribed.
    451454     */
     
    468471
    469472        // Plugin Committers are always subscrived to plugin commits.
    470         $committers  = self::get_plugin_committers( $plugin_slug );
     473        $committers = self::get_plugin_committers( $plugin_slug );
    471474        foreach ( $committers as $committer ) {
    472475            if ( $committer && $user = get_user_by( 'login', $committer ) ) {
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-import.php

    r6188 r6287  
    6262        $data = $this->export_and_parse_plugin( $plugin_slug );
    6363
    64         $readme = $data['readme'];
    65         $assets = $data['assets'];
    66         $headers = $data['plugin_headers'];
    67         $stable_tag = $data['stable_tag'];
     64        $readme          = $data['readme'];
     65        $assets          = $data['assets'];
     66        $headers         = $data['plugin_headers'];
     67        $stable_tag      = $data['stable_tag'];
    6868        $tagged_versions = $data['tagged_versions'];
    6969
     
    8989         */
    9090        if (
    91             ( !isset( $headers->Version ) || $headers->Version != get_post_meta( $plugin->ID, 'version', true ) ) ||
     91            ( ! isset( $headers->Version ) || $headers->Version != get_post_meta( $plugin->ID, 'version', true ) ) ||
    9292            $plugin->post_modified == '0000-00-00 00:00:00' ||
    9393            ( $svn_changed_tags && in_array( ( $stable_tag ?: 'trunk' ), $svn_changed_tags, true ) )
     
    150150        }
    151151
    152         update_post_meta( $plugin->ID, 'tagged_versions',    wp_slash( $tagged_versions ) );
    153         update_post_meta( $plugin->ID, 'sections',           wp_slash( array_keys( $readme->sections ) ) );
     152        update_post_meta( $plugin->ID, 'tagged_versions', wp_slash( $tagged_versions ) );
     153        update_post_meta( $plugin->ID, 'sections', wp_slash( array_keys( $readme->sections ) ) );
    154154        update_post_meta( $plugin->ID, 'assets_screenshots', wp_slash( $assets['screenshot'] ) );
    155         update_post_meta( $plugin->ID, 'assets_icons',       wp_slash( $assets['icon'] ) );
    156         update_post_meta( $plugin->ID, 'assets_banners',     wp_slash( $assets['banner'] ) );
    157         update_post_meta( $plugin->ID, 'last_updated',       wp_slash( $plugin->post_modified_gmt ) );
    158         update_post_meta( $plugin->ID, 'plugin_status',      wp_slash( $plugin->post_status ) );
     155        update_post_meta( $plugin->ID, 'assets_icons', wp_slash( $assets['icon'] ) );
     156        update_post_meta( $plugin->ID, 'assets_banners', wp_slash( $assets['banner'] ) );
     157        update_post_meta( $plugin->ID, 'last_updated', wp_slash( $plugin->post_modified_gmt ) );
     158        update_post_meta( $plugin->ID, 'plugin_status', wp_slash( $plugin->post_status ) );
    159159
    160160        // Calculate the 'plugin color' from the average color of the banner if provided. This is used for fallback icons.
     
    172172        // Finally, set the new version live.
    173173        update_post_meta( $plugin->ID, 'stable_tag', wp_slash( $stable_tag ) );
    174         update_post_meta( $plugin->ID, 'version',    wp_slash( $headers->Version ) );
     174        update_post_meta( $plugin->ID, 'version', wp_slash( $headers->Version ) );
    175175
    176176        // Ensure that the API gets the updated data
     
    208208                $svn_revision_triggered ?
    209209                    "{$plugin_slug}: ZIP build triggered by https://plugins.trac.wordpress.org/changeset/{$svn_revision_triggered}" :
    210                     "{$plugin_slug}: ZIP build triggered by " . php_uname('n'),
     210                    "{$plugin_slug}: ZIP build triggered by " . php_uname( 'n' ),
    211211                $stable_tag
    212212            );
    213         } catch( Exception $e ) {
     213        } catch ( Exception $e ) {
    214214            return false;
    215215        }
     
    247247        $tagged_versions = array_map( function( $item ) {
    248248            $trimmed_item = rtrim( $item, '/' );
     249
    249250            if ( $trimmed_item == $item ) {
    250251                // If attempting to trim `/` off didn't do anything, it was a file and we want to discard it.
     
    288289
    289290            $trunk_readme_file = self::PLUGIN_SVN_BASE . "/{$plugin_slug}/trunk/{$trunk_readme_file}";
    290             $trunk_readme = new Parser( $trunk_readme_file );
     291            $trunk_readme      = new Parser( $trunk_readme_file );
    291292
    292293            $stable_tag = $trunk_readme->stable_tag;
     
    300301                array(
    301302                    'ignore-externals',
    302                     'depth' => 'files'
     303                    'depth' => 'files',
    303304                )
    304305            );
     
    306307            if ( ! $svn_export['result'] && '0.' == substr( $stable_tag, 0, 2 ) ) {
    307308                $_stable_tag = substr( $stable_tag, 1 );
    308                 $svn_export = SVN::export(
     309                $svn_export  = SVN::export(
    309310                    self::PLUGIN_SVN_BASE . "/{$plugin_slug}/tags/{$_stable_tag}",
    310311                    $tmp_dir . '/export',
    311312                    array(
    312313                        'ignore-externals',
    313                         'depth' => 'files'
     314                        'depth' => 'files',
    314315                    )
    315316                );
     
    335336                array(
    336337                    'ignore-externals',
    337                     'depth' => 'files' // Only export the root files, we don't need the rest to read the plugin headers/screenshots
     338                    'depth' => 'files', // Only export the root files, we don't need the rest to read the plugin headers/screenshots
    338339                )
    339340            );
     
    354355
    355356        // Now we look in the /assets/ folder for banners, screenshots, and icons.
    356         $assets = array( 'screenshot' => array(), 'banner' => array(), 'icon' => array() );
     357        $assets            = array(
     358            'screenshot' => array(),
     359            'banner'     => array(),
     360            'icon'       => array(),
     361        );
    357362        $svn_assets_folder = SVN::ls( self::PLUGIN_SVN_BASE . "/{$plugin_slug}/assets/", true /* verbose */ );
    358363        if ( $svn_assets_folder ) { // /assets/ may not exist.
     
    362367                    continue;
    363368                }
    364                 $type = $m['type'];
    365                 $filename = $asset['filename'];
    366                 $revision = $asset['revision'];
    367                 $location = 'assets';
     369
     370                $type       = $m['type'];
     371                $filename   = $asset['filename'];
     372                $revision   = $asset['revision'];
     373                $location   = 'assets';
    368374                $resolution = isset( $m['resolution'] ) ? $m['resolution'] : false;
     375
    369376                $assets[ $type ][ $asset['filename'] ] = compact( 'filename', 'revision', 'resolution', 'location' );
    370377            }
     
    373380        // Find screenshots in the stable plugin folder (but don't overwrite /assets/)
    374381        foreach ( Filesystem::list_files( "$tmp_dir/export/", false /* non-recursive */, '!^screenshot-\d+\.(jpeg|jpg|png|gif)$!' ) as $plugin_screenshot ) {
    375             $filename = basename( $plugin_screenshot );
     382            $filename      = basename( $plugin_screenshot );
    376383            $screenshot_id = substr( $filename, strpos( $filename, '-' ) + 1 );
    377384            $screenshot_id = substr( $screenshot_id, 0, strpos( $screenshot_id, '.' ) );
    378385
    379             if ( isset( $assets['screenshot'][ $filename ]  ) ) {
     386            if ( isset( $assets['screenshot'][ $filename ] ) ) {
    380387                // Skip it, it exists within /assets/ already
    381388                continue;
     
    383390
    384391            $assets['screenshot'][ $filename ] = array(
    385                 'filename' => $filename,
    386                 'revision' => $svn_export['revision'],
     392                'filename'   => $filename,
     393                'revision'   => $svn_export['revision'],
    387394                'resolution' => $screenshot_id,
    388                 'location' => 'plugin',
     395                'location'   => 'plugin',
    389396            );
    390397        }
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-svn-watcher.php

    r5449 r6287  
    1313class SVN_Watcher {
    1414
    15     const SVN_URL      = 'https://plugins.svn.wordpress.org/';
    16     const PHP          = '/usr/local/bin/php';
     15    const SVN_URL = 'https://plugins.svn.wordpress.org/';
     16    const PHP     = '/usr/local/bin/php';
    1717
    1818    /**
     
    7777                wp_schedule_single_event( time() + 30, 'plugin_directory_check_cronjobs' );
    7878
    79                 throw new Exception( "Could not fetch plugins.svn logs: " . implode( ', ', $logs['errors'] ) );
     79                throw new Exception( 'Could not fetch plugins.svn logs: ' . implode( ', ', $logs['errors'] ) );
    8080            } else {
    8181                // If the job fails again within the next minute, throw an exception (as above)
     
    104104            if ( ! isset( $plugins[ $plugin_slug ] ) ) {
    105105                $plugins[ $plugin_slug ] = array(
    106                     'tags_touched' => array(), // trunk is a tag too!
     106                    'tags_touched'   => array(), // trunk is a tag too!
    107107                    'readme_touched' => false, // minor optimization, only parse readme i18n on readme-related commits
    108                     'code_touched' => false,
     108                    'code_touched'   => false,
    109109                    'assets_touched' => false,
    110                     'revisions' => array(),
     110                    'revisions'      => array(),
    111111                );
    112112            }
     
    116116            $plugin['revisions'][] = $log['revision'];
    117117            foreach ( $log['paths'] as $path ) {
    118                 $path_parts = explode('/', trim( $path, '/' ) );
     118                $path_parts = explode( '/', trim( $path, '/' ) );
    119119
    120120                if ( ! isset( $path_parts[1] ) ) {
     
    140140                    $plugin['code_touched'] = true;
    141141                }
    142 
    143142            }
    144143            $plugin['tags_touched'] = array_unique( $plugin['tags_touched'] );
     
    168167            wp_schedule_single_event( time() + 30, 'plugin_directory_check_cronjobs' );
    169168
    170             throw new Exception( "Unable to determine HEAD revision" );
     169            throw new Exception( 'Unable to determine HEAD revision' );
    171170        }
    172171        return array_keys( $log['log'] )[0];
     
    182181    protected function get_option( $option_name ) {
    183182        global $wpdb;
     183
    184184        return maybe_unserialize( $wpdb->get_var( $wpdb->prepare(
    185185            "SELECT option_value FROM $wpdb->options WHERE option_name = %s",
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-code-import.php

    r5446 r6287  
    3030        }
    3131
    32         $tmp_directory = Filesystem::temp_directory( $this->plugin . '-code-' . $tag );
     32        $tmp_directory    = Filesystem::temp_directory( $this->plugin . '-code-' . $tag );
    3333        $export_directory = $tmp_directory . '/export';
    3434
     
    4848
    4949        $pot_file = "{$tmp_directory}/{$this->plugin}-code.pot";
    50         $makepot  = new \MakePOT;
     50        $makepot  = new \MakePOT();
    5151
    5252        if ( ! $makepot->wp_plugin( $export_directory, $pot_file, $this->plugin ) || ! file_exists( $pot_file ) ) {
     
    8181        // Whether plugin files should be checked for valid text domains.
    8282        if ( empty( $readme->requires ) || version_compare( $readme->requires, '4.6', '<' ) ) {
    83             $error  = new WP_Error();
     83            $error                = new WP_Error();
    8484            $esc_export_directory = escapeshellarg( $export_directory );
    8585
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-i18n-import.php

    r5488 r6287  
    7676
    7777        $return_code = 0;
    78         $output = [];
     78        $output      = [];
    7979        exec( $cmd, $output, $return_code );
    8080        $last_line = array_pop( $output );
     
    104104                    $return = new WP_Error( 'create-failure', 'An undefined error occurred while creating the main GlotPress project.' );
    105105                    break;
    106                 default :
     106                default:
    107107                    $return = new WP_Error( 'undefined', 'An undefined error occurred while setting the GlotPress projects.' );
    108108            }
     
    118118     * @param string $branch        GP project branch to import to (dev|stable)
    119119     * @param string $file          Path to POT file
    120      * @param array $str_priorities GP string priorities
     120     * @param array  $str_priorities GP string priorities
    121121     */
    122122    public function import_pot_to_glotpress_project( $project, $branch, $file, $str_priorities = array() ) {
     
    172172            // Fix some locales.
    173173            switch ( $language ) {
    174                 case 'ga_IR' :
     174                case 'ga_IR':
    175175                    $language = 'ga';
    176176                    break;
    177                 case 'ca_ES' :
     177                case 'ca_ES':
    178178                    $language = 'ca';
    179179                    break;
    180                 case 'el_GR' :
     180                case 'el_GR':
    181181                    $language = 'el';
    182182                    break;
    183                 case 'af_ZA' :
     183                case 'af_ZA':
    184184                    $language = 'af';
    185185                    break;
    186                 case 'zh_cn' :
    187                 case 'zh_ZH' :
     186                case 'zh_cn':
     187                case 'zh_ZH':
    188188                    $language = 'zh_CN';
    189189                    break;
    190                 case 'uk_UA' :
     190                case 'uk_UA':
    191191                    $language = 'uk';
    192192                    break;
    193                 case 'sq_AL' :
     193                case 'sq_AL':
    194194                    $language = 'sq';
    195195                    break;
    196                 case 'ga_IE' :
     196                case 'ga_IE':
    197197                    $language = 'ga';
    198198                    break;
    199                 case 'gu_IN' :
     199                case 'gu_IN':
    200200                    $language = 'gu';
    201201                    break;
    202                 case 'hy_AM' :
     202                case 'hy_AM':
    203203                    $language = 'hy';
    204204                    break;
    205                 case 'eo_EO' :
     205                case 'eo_EO':
    206206                    $language = 'eo';
    207207                    break;
    208                 case 'ar_AR' :
     208                case 'ar_AR':
    209209                    $language = 'ar';
    210210                    break;
    211                 case 'hr_HR' :
     211                case 'hr_HR':
    212212                    $language = 'hr';
    213213                    break;
    214                 case 'cs_CS' :
     214                case 'cs_CS':
    215215                    $language = 'cs_CZ';
    216216                    break;
    217                 case 'vi_VN' :
     217                case 'vi_VN':
    218218                    $language = 'vi';
    219219                    break;
    220                 case 'ja_JP' :
     220                case 'ja_JP':
    221221                    $language = 'ja';
    222222                    break;
    223                 case 'tr' :
     223                case 'tr':
    224224                    $language = 'tr_TR';
    225225                    break;
    226                 case 'be_BY' :
    227                 case 'be' :
     226                case 'be_BY':
     227                case 'be':
    228228                    $language = 'bel';
    229229                    break;
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/i18n/class-readme-import.php

    r5485 r6287  
    4545
    4646        $readme_file = "{$svn_url}{$readme_file}";
    47         $readme = new Parser( $readme_file );
     47        $readme      = new Parser( $readme_file );
    4848
    4949        if ( ! class_exists( '\PO' ) ) {
     
    5151        }
    5252
    53         $pot = new PO;
     53        $pot = new PO();
    5454        $pot->set_header( 'MIME-Version', '1.0' );
    5555        $pot->set_header( 'Content-Type', 'text/plain; charset=UTF-8' );
     
    129129
    130130        $tmp_directory = Filesystem::temp_directory( $this->plugin . '-readme-' . $tag );
    131         $pot_file = "{$tmp_directory}/{$this->plugin}-readme.pot";
     131        $pot_file      = "{$tmp_directory}/{$this->plugin}-readme.pot";
    132132
    133133        $exported = $pot->export_to_file( $pot_file );
     
    148148     * Handles GlotPress "extracted comments" for translators to get context for each string translations.
    149149     *
    150      * @param array $array Empty or existing arrays of string and comments
     150     * @param array  $array Empty or existing arrays of string and comments
    151151     * @param string $key Unique key
    152152     * @param string $val Comment value
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/clients/class-slack.php

    r5446 r6287  
    3636     */
    3737    private $success_emoji = [
    38         ':green_heart:', ':white_check_mark:', ':smiley:', ':ok: ',
     38        ':green_heart:',
     39        ':white_check_mark:',
     40        ':smiley:',
     41        ':ok: ',
    3942    ];
    4043
     
    4548     */
    4649    private $failure_emoji = [
    47         ':broken_heart:', ':umbrella_with_rain_drops:', ':cry:', ':sos:',
     50        ':broken_heart:',
     51        ':umbrella_with_rain_drops:',
     52        ':cry:',
     53        ':sos:',
    4854    ];
    4955
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-api-update-updater.php

    r6195 r6287  
    5858
    5959        if ( ! $post || ! in_array( $post->post_status, array( 'publish', 'disabled', 'closed' ) ) ) {
    60             $wpdb->delete(  $wpdb->prefix . 'update_source', compact( 'plugin_slug' ) );
     60            $wpdb->delete( $wpdb->prefix . 'update_source', compact( 'plugin_slug' ) );
    6161            return true;
    6262        }
    6363
    64         $data = array(
     64        $data           = array(
    6565            'plugin_id'       => $post->ID,
    6666            'plugin_slug'     => $post->post_name,
     
    102102
    103103            foreach ( $locales as $locale ) {
    104                 $cache_key = "plugin_information:"
     104                $cache_key = 'plugin_information:'
    105105                    . ( strlen( $plugin_slug ) > 200 ? 'md5:' . md5( $plugin_slug ) : $plugin_slug )
    106106                    . ":{$locale}";
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/jobs/class-manager.php

    r5453 r6287  
    1818
    1919        // The actual cron hooks.
    20         add_action( 'plugin_directory_meta_sync',        array( __NAMESPACE__ . '\Meta_Sync', 'cron_trigger' ) );
    21         add_action( 'plugin_directory_svn_sync',         array( __NAMESPACE__ . '\SVN_Watcher', 'cron_trigger' ) );
     20        add_action( 'plugin_directory_meta_sync', array( __NAMESPACE__ . '\Meta_Sync', 'cron_trigger' ) );
     21        add_action( 'plugin_directory_svn_sync', array( __NAMESPACE__ . '\SVN_Watcher', 'cron_trigger' ) );
    2222        add_action( 'plugin_directory_update_api_check', array( __NAMESPACE__ . '\API_Update_Updater', 'cron_trigger' ) );
    2323
    2424        // A cronjob to check cronjobs
    25         add_action( 'plugin_directory_check_cronjobs',   array( $this, 'register_cron_tasks' ) );
     25        add_action( 'plugin_directory_check_cronjobs', array( $this, 'register_cron_tasks' ) );
    2626
    2727        // Register the wildcard cron hook tasks.
     
    3636     */
    3737    public function register_schedules( $schedules ) {
    38         $schedules['every_30s'] = array( 'interval' => 30, 'display' => 'Every 30 seconds' );
    39         $schedules['every_120s'] = array( 'interval' => 120, 'display' => 'Every 120 seconds' );
     38        $schedules['every_30s']  = array(
     39            'interval' => 30,
     40            'display'  => 'Every 30 seconds',
     41        );
     42        $schedules['every_120s'] = array(
     43            'interval' => 120,
     44            'display'  => 'Every 120 seconds',
     45        );