Make WordPress Core


Ignore:
Timestamp:
09/25/2015 07:15:08 PM (9 years ago)
Author:
johnbillion
Message:

Implement 'Recently Active' functionality for network-wide plugins in the Network Admin.

Fixes #20468
Thanks to WordCamp RI attendees for testing!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/plugins.php

    r34521 r34551  
    5555                unset( $recent[ $plugin ] );
    5656                update_option( 'recently_activated', $recent );
     57            } else {
     58                $recent = (array) get_site_option( 'recently_activated' );
     59                unset( $recent[ $plugin ] );
     60                update_site_option( 'recently_activated', $recent );
    5761            }
    5862
     
    97101            if ( ! is_network_admin() ) {
    98102                $recent = (array) get_option('recently_activated' );
    99                 foreach ( $plugins as $plugin )
    100                     unset( $recent[ $plugin ] );
     103            } else {
     104                $recent = (array) get_site_option('recently_activated' );
     105            }
     106
     107            foreach ( $plugins as $plugin ) {
     108                unset( $recent[ $plugin ] );
     109            }
     110
     111            if ( ! is_network_admin() ) {
    101112                update_option( 'recently_activated', $recent );
     113            } else {
     114                update_site_option( 'recently_activated', $recent );
    102115            }
    103116
     
    166179
    167180            deactivate_plugins( $plugin, false, is_network_admin() );
    168             if ( ! is_network_admin() )
     181
     182            if ( ! is_network_admin() ) {
    169183                update_option( 'recently_activated', array( $plugin => time() ) + (array) get_option( 'recently_activated' ) );
     184            } else {
     185                update_site_option( 'recently_activated', array( $plugin => time() ) + (array) get_site_option( 'recently_activated' ) );
     186            }
     187
    170188            if ( headers_sent() )
    171189                echo "<meta http-equiv='refresh' content='" . esc_attr( "0;url=plugins.php?deactivate=true&plugin_status=$status&paged=$page&s=$s" ) . "' />";
     
    195213            deactivate_plugins( $plugins, false, is_network_admin() );
    196214
     215            $deactivated = array();
     216            foreach ( $plugins as $plugin ) {
     217                $deactivated[ $plugin ] = time();
     218            }
     219
    197220            if ( ! is_network_admin() ) {
    198                 $deactivated = array();
    199                 foreach ( $plugins as $plugin )
    200                     $deactivated[ $plugin ] = time();
    201221                update_option( 'recently_activated', $deactivated + (array) get_option( 'recently_activated' ) );
     222            } else {
     223                update_site_option( 'recently_activated', $deactivated + (array) get_site_option( 'recently_activated' ) );
    202224            }
    203225
     
    355377
    356378        case 'clear-recent-list':
    357             if ( ! is_network_admin() )
     379            if ( ! is_network_admin() ) {
    358380                update_option( 'recently_activated', array() );
     381            } else {
     382                update_site_option( 'recently_activated', array() );
     383            }
    359384            break;
    360385    }
Note: See TracChangeset for help on using the changeset viewer.