Changeset 10738 for trunk/wp-admin/includes/dashboard.php
- Timestamp:
- 03/07/2009 02:07:24 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/dashboard.php
r10729 r10738 735 735 $updated = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/updated/' ); 736 736 737 if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) { 738 $plugin_slugs = array_keys( get_plugins() ); 739 set_transient( 'plugin_slugs', $plugin_slugs, 86400 ); 740 } 741 737 742 foreach ( array( 'popular' => __('Most Popular'), 'new' => __('Newest Plugins'), 'updated' => __('Recently Updated') ) as $feed => $label ) { 738 743 if ( !$$feed->get_item_quantity() ) … … 740 745 741 746 $items = $$feed->get_items(0, 5); 742 $item_key = array_rand($items); 747 748 // Pick a random, non-installed plugin 749 while ( true ) { 750 // Abort this foreach loop iteration if there's no plugins left of this type 751 if ( 0 == count($items) ) 752 continue 2; 753 754 $item_key = array_rand($items); 755 $item = $items[$item_key]; 756 757 list($link, $frag) = explode( '#', $item->get_link() ); 758 759 $link = clean_url($link); 760 if ( preg_match( '|/([^/]+?)/?$|', $link, $matches ) ) 761 $slug = $matches[1]; 762 else { 763 unset( $items[$item_key] ); 764 continue; 765 } 766 767 // Is this random plugin's slug already installed? If so, try again. 768 reset( $plugin_slugs ); 769 foreach ( $plugin_slugs as $plugin_slug ) { 770 if ( $slug == substr( $plugin_slug, 0, strlen( $slug ) ) ) { 771 unset( $items[$item_key] ); 772 continue 2; 773 } 774 } 775 776 // If we get to this point, then the random plugin isn't installed and we can stop the while(). 777 break; 778 } 743 779 744 780 // Eliminate some common badly formed plugin descriptions … … 748 784 if ( !isset($items[$item_key]) ) 749 785 continue; 750 751 $item = $items[$item_key];752 786 753 787 // current bbPress feed item titles are: user on "topic title" … … 759 793 760 794 $description = wp_specialchars( strip_tags(html_entity_decode($item->get_description(), ENT_QUOTES, get_option('blog_charset'))) ); 761 762 list($link, $frag) = explode( '#', $item->get_link() );763 764 $link = clean_url($link);765 if( preg_match('|/([^/]+?)/?$|', $link, $matches) )766 $slug = $matches[1];767 else768 $slug = '';769 795 770 796 $ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) .
Note: See TracChangeset
for help on using the changeset viewer.