WordPress.org

Make WordPress Core

Ticket #7671: 7671.diff

File 7671.diff, 1.0 KB (added by DD32, 10 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':