Make WordPress Core

Ticket #50850: 50850.diff

File 50850.diff, 1.1 KB (added by zenithcity, 4 years ago)
  • wp-admin/includes/plugin.php

     
    567567                return false;
    568568        }
    569569
    570         $plugins = get_site_option( 'active_sitewide_plugins' );
    571         if ( isset( $plugins[ $plugin ] ) ) {
     570        $plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
     571        if ( in_array( $plugin, $plugins, true ) ) {
    572572                return true;
    573573        }
    574574
     
    10531053        }
    10541054
    10551055        if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
    1056                 $network_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
    1057                 $plugins         = array_merge( $plugins, array_keys( $network_plugins ) );
     1056                $network_plugins = get_site_option( 'active_sitewide_plugins', array() );
     1057                // Validate vartype: array.
     1058                if ( ! is_array( $network_plugins ) ) {
     1059                        update_option( 'active_sitewide_plugins', array() );
     1060                        $network_plugins = array();
     1061                }
     1062                $plugins = array_merge( $plugins, array_keys( $network_plugins ) );
    10581063        }
    10591064
    10601065        if ( empty( $plugins ) ) {