WordPress.org

Make WordPress Core

Ticket #7671: 7671.diff

File 7671.diff, 1.0 KB (added by DD32, 7 years ago)
  • wp-admin/includes/plugin.php

     
    199199                $plugins = array($plugins); 
    200200 
    201201        foreach ( $plugins as $plugin ) { 
     202                $plugin = plugin_basename($plugin); 
    202203                if( ! is_plugin_active($plugin) ) 
    203204                        continue; 
    204205                array_splice($current, array_search( $plugin, $current), 1 ); // Fixed Array-fu! 
  • wp-admin/plugins.php

     
    5959                                wp_die($valid); 
    6060                        error_reporting( E_ALL ^ E_NOTICE ); 
    6161                        @ini_set('display_errors', true); //Ensure that Fatal errors are displayed. 
    62                         include(WP_PLUGIN_DIR . '/' . $plugin); 
     62                        $result = activate_plugin($plugin, false); 
     63                        if ( is_wp_error( $result ) ) 
     64                                die( $result->get_error_message() ); 
    6365                        exit; 
    6466                        break; 
    6567                case 'deactivate':