WordPress.org

Make WordPress Core

Ticket #28673: 28673-quick-take.2.diff

File 28673-quick-take.2.diff, 8.1 KB (added by michalzuber, 8 years ago)

Added white background in Dashboard and Upload. Moved inline style into CSS file.

  • src/wp-admin/css/list-tables.css

     
    12151215        margin: 2.5em 0 8px;
    12161216}
    12171217
     1218.plugin-install-wrap {
     1219        background: #fff;
     1220        margin-top: 1em;
     1221        padding: 10px;
     1222}
     1223
     1224.plugin-install-wrap h4 {
     1225        margin: 0 0 1em;
     1226}
     1227
     1228.plugin-category-big {
     1229        float: left;
     1230        padding: 1em;
     1231        margin: 0 2em 0 0;
     1232        border: 1px solid black;
     1233        font-weight: bold;
     1234        width: 15%;
     1235}
     1236
     1237.plugin-category-small {
     1238        border: 0;
     1239        float: left;
     1240        padding: 1em;
     1241        margin: 0 2em 0 0;
     1242        width: 15%;
     1243}
     1244
     1245.plugins-list {
     1246        float: left;
     1247        margin-right: 7em;
     1248        padding: 1em;
     1249        width: 30%;
     1250}
     1251
    12181252/* ms */
    12191253/* Background Color for Site Status */
    12201254.wp-list-table .site-deleted {
  • src/wp-admin/includes/class-wp-plugin-install-list-table.php

     
    7474                                        case 'tag':
    7575                                                $args['tag'] = sanitize_title_with_dashes( $term );
    7676                                                break;
     77                                        case 'category':
     78                                                $args['category'] = sanitize_title_with_dashes( $term );
     79                                                break;
    7780                                        case 'term':
    7881                                                $args['search'] = $term;
    7982                                                break;
  • src/wp-admin/includes/plugin-install.php

     
    125125}
    126126
    127127function install_dashboard() {
    128         ?>
    129         <p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="%1$s">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%2$s">this page</a>.' ), 'https://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
     128?>
     129        <div class="tablenav top">
     130                <div class="alignleft actions">
     131                        <?php install_search_form( false ); ?>
     132                </div>
     133        </div>
     134        <div class="plugin-install-wrap">
     135       
     136                <?php install_category_list(); ?>
     137               
     138                <div class="top-plugins">
     139                        <div class="featured-plugins plugins-list">
     140                                <h4><?php _e( 'Featured plugins' ); ?></h4>
     141                                <?php install_short_plugin_list( 'featured' ); ?>
     142                        </div>
     143       
     144                        <div class="popular-plugins plugins-list">
     145                                <h4><?php _e( 'Popular plugins' ); ?></h4>
     146                                <?php install_short_plugin_list( 'popular' ); ?>
     147                        </div>
    130148
    131         <h4><?php _e('Search') ?></h4>
    132         <?php install_search_form( false ); ?>
     149                        <br class="clear" />
     150                </div>
     151        </div>
     152<?php
     153}
     154add_action('install_plugins_dashboard', 'install_dashboard');
    133155
    134         <h4><?php _e('Popular tags') ?></h4>
    135         <p class="install-help"><?php _e('You may also browse based on the most popular tags in the Plugin Directory:') ?></p>
    136         <?php
     156/**
     157 * Display a brief unordered list of plugins.
     158 */
     159function install_short_plugin_list( $type, $limit = 10 ) {
     160        $limit = intval( $limit );
     161        if ( $limit < 1 )
     162                $limit = 1;
     163               
     164        $key = "short_plugin_list_{$type}_{$limit}";
     165        $api = get_site_transient( $key );
    137166
    138         $api_tags = install_popular_tags();
     167        if ( !$api ) {
     168                $api = plugins_api( 'query_plugins', array( 'browse' => $type, 'page' => 1, 'per_page' => $limit ) );
     169       
     170                if ( is_wp_error( $api ) ) {
     171                        echo '<p>' . $api->get_error_message() . '</p>';
     172                        return $api;
     173                }
     174                set_site_transient( $key, $api, 3 * HOUR_IN_SECONDS );
     175        }
     176       
     177        echo '<ul class="'.esc_attr( $type ).'-plugins">';
     178        foreach ( $api->plugins as $plugin ) {
     179                echo '<li>';
     180                echo '<a href="' . self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin->slug .
     181                                                        '&amp;TB_iframe=true&amp;width=600&amp;height=550' ) . '" class="thickbox" title="' .
     182                                                        esc_attr( sprintf( __( 'More information about %s' ), $plugin->name ) ) . '">' . esc_html( $plugin->name ) . '</a>';
     183                echo '</li>';
     184        }
     185        echo '</ul>';
     186}
    139187
    140         echo '<p class="popular-tags">';
    141         if ( is_wp_error($api_tags) ) {
    142                 echo $api_tags->get_error_message();
    143         } else {
    144                 //Set up the tags in a way which can be interpreted by wp_generate_tag_cloud()
    145                 $tags = array();
    146                 foreach ( (array)$api_tags as $tag )
    147                         $tags[ $tag['name'] ] = (object) array(
    148                                                                         'link' => esc_url( self_admin_url('plugin-install.php?tab=search&type=tag&s=' . urlencode($tag['name'])) ),
    149                                                                         'name' => $tag['name'],
    150                                                                         'id' => sanitize_title_with_dashes($tag['name']),
    151                                                                         'count' => $tag['count'] );
    152                 echo wp_generate_tag_cloud($tags, array( 'single_text' => __('%s plugin'), 'multiple_text' => __('%s plugins') ) );
     188/**
     189 * Return a list of plugin categories.
     190 */
     191function install_get_category_list( $args = array() ) {
     192        $key = md5(serialize($args));
     193        if ( false !== ($categories = get_site_transient('plugin_categories_' . $key) ) )
     194                return $categories;
     195
     196        $categories = plugins_api('hot_categories', $args);
     197
     198        if ( is_wp_error($categories) )
     199                return $categories;
     200
     201        set_site_transient( 'plugin_categories_' . $key, $categories, 3 * HOUR_IN_SECONDS );
     202
     203        return $categories;
     204}
     205
     206/**
     207 * Display a list of plugin categories.
     208 */
     209function install_category_list() {
     210       
     211        $categories = install_get_category_list();
     212        $categories = array_values( $categories );
     213       
     214        echo '<div class="plugin-categories">';
     215        for ( $i=0; $i < 4; $i++ ) {
     216                echo '<div class="plugin-category-big">';
     217                echo '<a href="' . esc_url( self_admin_url('plugin-install.php?tab=search&type=category&s=' . urlencode($categories[$i]['name'])) ) . '">';
     218                echo esc_html( $categories[ $i ]['name'] );
     219                echo '</a>';
     220                echo '</div>';
    153221        }
    154         echo '</p><br class="clear" />';
     222        echo '<br class="clear" />';
     223        for ( $i=4; $i < 8; $i++ ) {
     224                echo '<div class="plugin-category-small">';
     225                echo '<a href="' . esc_url( self_admin_url('plugin-install.php?tab=search&type=category&s=' . urlencode($categories[$i]['name'])) ) . '">';
     226                echo esc_html( $categories[ $i ]['name'] );
     227                echo '</a>';
     228                echo '</div>';
     229        }
     230       
     231        echo '</div>';
     232        echo '<br class="clear" />';
     233       
    155234}
    156 add_action('install_plugins_dashboard', 'install_dashboard');
    157235
    158236/**
    159237 * Display search form for searching plugins.
     
    171249                        <option value="term"<?php selected('term', $type) ?>><?php _e('Keyword'); ?></option>
    172250                        <option value="author"<?php selected('author', $type) ?>><?php _e('Author'); ?></option>
    173251                        <option value="tag"<?php selected('tag', $type) ?>><?php _ex('Tag', 'Plugin Installer'); ?></option>
     252                        <option value="category"<?php selected('category', $type) ?>><?php _ex('Category', 'Plugin Installer'); ?></option>
    174253                </select>
    175254                <?php endif; ?>
    176255                <input type="search" name="s" value="<?php echo esc_attr($term) ?>" autofocus="autofocus" />
     
    187266 */
    188267function install_plugins_upload( $page = 1 ) {
    189268?>
    190         <h4><?php _e('Install a plugin in .zip format'); ?></h4>
    191         <p class="install-help"><?php _e('If you have a plugin in a .zip format, you may install it by uploading it here.'); ?></p>
    192         <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-plugin'); ?>">
    193                 <?php wp_nonce_field( 'plugin-upload'); ?>
    194                 <label class="screen-reader-text" for="pluginzip"><?php _e('Plugin zip file'); ?></label>
    195                 <input type="file" id="pluginzip" name="pluginzip" />
    196                 <?php submit_button( __( 'Install Now' ), 'button', 'install-plugin-submit', false ); ?>
    197         </form>
     269        <div class="plugin-install-wrap">
     270                <h4><?php _e('Install a plugin in .zip format'); ?></h4>
     271                <p class="install-help"><?php _e('If you have a plugin in a .zip format, you may install it by uploading it here.'); ?></p>
     272                <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-plugin'); ?>">
     273                        <?php wp_nonce_field( 'plugin-upload'); ?>
     274                        <label class="screen-reader-text" for="pluginzip"><?php _e('Plugin zip file'); ?></label>
     275                        <input type="file" id="pluginzip" name="pluginzip" />
     276                        <?php submit_button( __( 'Install Now' ), 'button', 'install-plugin-submit', false ); ?>
     277                </form>
     278        </div>
    198279<?php
    199280}
    200281add_action('install_plugins_upload', 'install_plugins_upload', 10, 1);