Make WordPress Core

Ticket #31865: 31865.diff

File 31865.diff, 7.8 KB (added by dd32, 9 years ago)
  • src/wp-admin/includes/class-wp-plugin-install-list-table.php

    class WP_Plugin_Install_List_Table exten 
    9393                 * Filter tabs not associated with a menu item on the Plugin Install screen.
    9494                 *
    9595                 * @since 2.7.0
    9696                 *
    9797                 * @param array $nonmenu_tabs The tabs that don't have a Menu item on the Plugin Install screen.
    9898                 */
    9999                $nonmenu_tabs = apply_filters( 'install_plugins_nonmenu_tabs', $nonmenu_tabs );
    100100
    101101                // If a non-valid menu tab has been selected, And it's not a non-menu action.
    102102                if ( empty( $tab ) || ( !isset( $tabs[ $tab ] ) && !in_array( $tab, (array) $nonmenu_tabs ) ) )
    103103                        $tab = key( $tabs );
    104104
    105105                $args = array(
    106106                        'page' => $paged,
    107107                        'per_page' => $per_page,
    108                         'fields' => array( 'last_updated' => true, 'downloaded' => true, 'icons' => true ),
     108                        'fields' => array(
     109                                'last_updated' => true,
     110                                'icons' => true,
     111                                'active_installs' => true
     112                        ),
    109113                        // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results.
    110114                        'locale' => get_locale(),
    111115                        'installed_plugins' => $this->get_installed_plugin_slugs(),
    112116                );
    113117
    114118                switch ( $tab ) {
    115119                        case 'search':
    116120                                $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term';
    117121                                $term = isset( $_REQUEST['s'] ) ? wp_unslash( $_REQUEST['s'] ) : '';
    118122
    119123                                switch ( $type ) {
    120124                                        case 'tag':
    121125                                                $args['tag'] = sanitize_title_with_dashes( $term );
    122126                                                break;
    123127                                        case 'term':
    class WP_Plugin_Install_List_Table exten 
    466470                                        <p><?php echo $description; ?></p>
    467471                                        <p class="authors"><?php echo $author; ?></p>
    468472                                </div>
    469473                        </div>
    470474                        <div class="plugin-card-bottom">
    471475                                <div class="vers column-rating">
    472476                                        <?php wp_star_rating( array( 'rating' => $plugin['rating'], 'type' => 'percent', 'number' => $plugin['num_ratings'] ) ); ?>
    473477                                        <span class="num-ratings">(<?php echo number_format_i18n( $plugin['num_ratings'] ); ?>)</span>
    474478                                </div>
    475479                                <div class="column-updated">
    476480                                        <strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( date_i18n( $date_format, $last_updated_timestamp ) ); ?>">
    477481                                                <?php printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?>
    478482                                        </span>
    479483                                </div>
    480484                                <div class="column-downloaded">
    481                                         <?php echo sprintf( _n( '%s download', '%s downloads', $plugin['downloaded'] ), number_format_i18n( $plugin['downloaded'] ) ); ?>
     485                                        <?php
     486                                        if ( $plugin['active_installs'] >= 1000000 ) {
     487                                                $active_installs_text = _x( '1+ Million', 'Active plugin installs' );
     488                                        } else {
     489                                                $active_installs_text = number_format_i18n( $plugin['active_installs'] ) . '+';
     490                                        }
     491                                        printf( __( '%s Active Installs' ), $active_installs_text );
     492                                        ?>
    482493                                </div>
    483494                                <div class="column-compatibility">
    484495                                        <?php
    485496                                        if ( ! empty( $plugin['tested'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['tested'] ) ), $plugin['tested'], '>' ) ) {
    486497                                                echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
    487498                                        } elseif ( ! empty( $plugin['requires'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['requires'] ) ), $plugin['requires'], '<' ) ) {
    488499                                                echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
    489500                                        } else {
    490501                                                echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
    491502                                        }
    492503                                        ?>
    493504                                </div>
    494505                        </div>
    495506                </div>
    496507                <?php
  • src/wp-admin/includes/plugin-install.php

    function install_plugin_install_status($ 
    336336/**
    337337 * Display plugin information in dialog box form.
    338338 *
    339339 * @since 2.7.0
    340340 */
    341341function install_plugin_information() {
    342342        global $tab;
    343343
    344344        if ( empty( $_REQUEST['plugin'] ) ) {
    345345                return;
    346346        }
    347347
    348348        $api = plugins_api( 'plugin_information', array(
    349349                'slug' => wp_unslash( $_REQUEST['plugin'] ),
    350350                'is_ssl' => is_ssl(),
    351                 'fields' => array( 'banners' => true, 'reviews' => true )
     351                'fields' => array(
     352                        'banners' => true,
     353                        'reviews' => true,
     354                        'downloaded' => false,
     355                        'active_installs' => true
     356                )
    352357        ) );
    353358
    354359        if ( is_wp_error( $api ) ) {
    355360                wp_die( $api );
    356361        }
    357362
    358363        $plugins_allowedtags = array(
    359364                'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ),
    360365                'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ),
    361366                'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(),
    362367                'div' => array( 'class' => array() ), 'span' => array( 'class' => array() ),
    363368                'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(),
    364369                'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(),
    365370                'img' => array( 'src' => array(), 'class' => array(), 'alt' => array() )
    366371        );
    function install_plugin_information() { 
    446451        <div id="<?php echo $_tab; ?>-content" class='<?php echo $_with_banner; ?>'>
    447452        <div class="fyi">
    448453                <ul>
    449454                <?php if ( ! empty( $api->version ) ) { ?>
    450455                        <li><strong><?php _e( 'Version:' ); ?></strong> <?php echo $api->version; ?></li>
    451456                <?php } if ( ! empty( $api->author ) ) { ?>
    452457                        <li><strong><?php _e( 'Author:' ); ?></strong> <?php echo links_add_target( $api->author, '_blank' ); ?></li>
    453458                <?php } if ( ! empty( $api->last_updated ) ) { ?>
    454459                        <li><strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( date_i18n( $date_format, $last_updated_timestamp ) ); ?>">
    455460                                <?php printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?>
    456461                        </span></li>
    457462                <?php } if ( ! empty( $api->requires ) ) { ?>
    458463                        <li><strong><?php _e( 'Requires WordPress Version:' ); ?></strong> <?php printf( __( '%s or higher' ), $api->requires ); ?></li>
    459464                <?php } if ( ! empty( $api->tested ) ) { ?>
    460465                        <li><strong><?php _e( 'Compatible up to:' ); ?></strong> <?php echo $api->tested; ?></li>
    461                 <?php } if ( ! empty( $api->downloaded ) ) { ?>
    462                         <li><strong><?php _e( 'Downloaded:' ); ?></strong> <?php printf( _n( '%s time', '%s times', $api->downloaded ), number_format_i18n( $api->downloaded ) ); ?></li>
     466                <?php } if ( ! empty( $api->active_installs ) ) { ?>
     467                        <li><strong><?php _e( 'Active Installs:' ); ?></strong> <?php
     468                                if ( $api->active_installs >= 1000000 ) {
     469                                        _ex( '1+ Million', 'Active plugin installs' );
     470                                } else {
     471                                        echo number_format_i18n( $api->active_installs ) . '+';
     472                                }
     473                        ?></li>
    463474                <?php } if ( ! empty( $api->slug ) && empty( $api->external ) ) { ?>
    464475                        <li><a target="_blank" href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php _e( 'WordPress.org Plugin Page &#187;' ); ?></a></li>
    465476                <?php } if ( ! empty( $api->homepage ) ) { ?>
    466477                        <li><a target="_blank" href="<?php echo esc_url( $api->homepage ); ?>"><?php _e( 'Plugin Homepage &#187;' ); ?></a></li>
    467478                <?php } if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) { ?>
    468479                        <li><a target="_blank" href="<?php echo esc_url( $api->donate_link ); ?>"><?php _e( 'Donate to this plugin &#187;' ); ?></a></li>
    469480                <?php } ?>
    470481                </ul>
    471482                <?php if ( ! empty( $api->rating ) ) { ?>
    472483                <h3><?php _e( 'Average Rating' ); ?></h3>
    473484                <?php wp_star_rating( array( 'rating' => $api->rating, 'type' => 'percent', 'number' => $api->num_ratings ) ); ?>
    474485                <small><?php printf( _n( '(based on %s rating)', '(based on %s ratings)', $api->num_ratings ), number_format_i18n( $api->num_ratings ) ); ?></small>
    475486                <?php }
    476487
    477488                if ( ! empty( $api->ratings ) && array_sum( (array) $api->ratings ) > 0 ) {