WordPress.org

Make WordPress Core

Ticket #11598: 11598.patch

File 11598.patch, 2.6 KB (added by hakre, 6 years ago)
  • wp-admin/includes/dashboard.php

    ### Eclipse Workspace Patch 1.0
    #P wordpress-trunk
     
    770770 * @since unknown 
    771771 */ 
    772772function wp_dashboard_plugins_output() { 
    773         $popular = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/popular/' ); 
    774         $new     = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/new/' ); 
    775         $updated = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/updated/' ); 
    776773 
     774        /* feed configurations */ 
     775        $feeds = array(          
     776                'popular' => array( 
     777                        'url'   => 'http://wordpress.org/extend/plugins/rss/browse/popular/', 
     778                        'label' => __('Most Popular'), 
     779                        ), 
     780                'new'     => array( 
     781                        'url' => 'http://wordpress.org/extend/plugins/rss/browse/popular/', 
     782                        'label' => __('Newest Plugins'), 
     783                        ), 
     784                'updated' => array( 
     785                        'url' => 'http://wordpress.org/extend/plugins/rss/browse/popular/', 
     786                        'label' => __('Recently Updated'), 
     787                        ), 
     788        ); 
     789 
    777790        if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) { 
    778791                $plugin_slugs = array_keys( get_plugins() ); 
    779792                set_transient( 'plugin_slugs', $plugin_slugs, 86400 ); 
    780793        } 
    781794 
    782         foreach ( array( 'popular' => __('Most Popular'), 'new' => __('Newest Plugins'), 'updated' => __('Recently Updated') ) as $feed => $label ) { 
    783                 if ( is_wp_error($$feed) || !$$feed->get_item_quantity() ) 
     795        foreach ( $feeds as $feed_key => $feed_data  ) { 
     796                $label = $feed_data['label']; 
     797                $feed  = fetch_feed( $feed_data['url'] ); 
     798 
     799                if ( is_wp_error($feed) || !$feed->get_item_quantity() ) 
    784800                        continue; 
    785801 
    786                 $items = $$feed->get_items(0, 5); 
     802                $items = $feed->get_items(0, 5); 
    787803 
    788804                // Pick a random, non-installed plugin 
    789                 while ( true ) { 
     805                do { 
    790806                        // Abort this foreach loop iteration if there's no plugins left of this type 
    791807                        if ( 0 == count($items) ) 
    792808                                continue 2; 
     
    812828                                        continue 2; 
    813829                                } 
    814830                        } 
     831                } while ( false ); 
    815832 
    816                         // If we get to this point, then the random plugin isn't installed and we can stop the while(). 
    817                         break; 
    818                 } 
    819  
    820833                // Eliminate some common badly formed plugin descriptions 
    821834                while ( ( null !== $item_key = array_rand($items) ) && false !== strpos( $items[$item_key]->get_description(), 'Plugin Name:' ) ) 
    822835                        unset($items[$item_key]); 
     
    840853                echo "<h5><a href='$link'>$title</a></h5>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span>\n"; 
    841854                echo "<p>$description</p>\n"; 
    842855                 
    843                 $$feed->__destruct(); 
    844                 unset($$feed); 
     856                $feed->__destruct(); 
     857                unset($feed); 
    845858        } 
    846859} 
    847860