WordPress.org

Make WordPress Core

Ticket #15709: 15709.4.diff

File 15709.4.diff, 3.3 KB (added by PeteMall, 7 years ago)

Updated error string

  • wp-admin/includes/class-wp-plugins-list-table.php

     
    362362                                } else {
    363363                                        if ( current_user_can( 'manage_network_plugins' ) )
    364364                                                $actions['network_activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;networkwide=1&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . __('Activate this plugin for all sites in this network') . '" class="edit">' . __('Network Activate') . '</a>';
    365                                         if ( current_user_can('delete_plugins') )
     365                                        if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) )
    366366                                                $actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . __('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
    367367                                }
    368368                        } else {
  • wp-admin/plugins.php

     
    195195
    196196                        //$_POST = from the plugin form; $_GET = from the FTP details screen.
    197197                        $plugins = isset( $_REQUEST['checked'] ) ? (array) $_REQUEST['checked'] : array();
    198                         $plugins = array_filter($plugins, 'is_plugin_inactive'); // Do not allow to delete Activated plugins.
    199                         if ( empty($plugins) ) {
     198                        if ( empty( $plugins ) ) {
    200199                                wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
    201200                                exit;
    202201                        }
    203 
     202                       
     203                        $plugins = array_filter($plugins, 'is_plugin_inactive'); // Do not allow to delete Activated plugins.
     204                        if ( empty( $plugins ) ) {
     205                                wp_redirect( self_admin_url( "plugins.php?error=true&main=true&plugin_status=$status&paged=$page&s=$s" ) );
     206                                exit;
     207                        }
     208                                               
    204209                        include(ABSPATH . 'wp-admin/update.php');
    205210
    206211                        $parent_file = 'plugins.php';
     
    330335
    331336<?php if ( isset($_GET['error']) ) :
    332337
    333         if ( isset($_GET['charsout']) )
     338        if ( isset( $_GET['main'] ) )
     339                $errmsg = __( 'You cannot delete a plugin while it is active on the main site.' );             
     340        elseif ( isset($_GET['charsout']) )
    334341                $errmsg = sprintf(__('The plugin generated %d characters of <strong>unexpected output</strong> during activation.  If you notice &#8220;headers already sent&#8221; messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.'), $_GET['charsout']);
    335342        else
    336343                $errmsg = __('Plugin could not be activated because it triggered a <strong>fatal error</strong>.');
    337344        ?>
    338345        <div id="message" class="updated"><p><?php echo $errmsg; ?></p>
    339346        <?php
    340                 if ( !isset($_GET['charsout']) && wp_verify_nonce($_GET['_error_nonce'], 'plugin-activation-error_' . $plugin) ) { ?>
     347                if ( !isset( $_GET['main'] ) && !isset($_GET['charsout']) && wp_verify_nonce($_GET['_error_nonce'], 'plugin-activation-error_' . $plugin) ) { ?>
    341348        <iframe style="border:0" width="100%" height="70px" src="<?php echo 'plugins.php?action=error_scrape&amp;plugin=' . esc_attr($plugin) . '&amp;_wpnonce=' . esc_attr($_GET['_error_nonce']); ?>"></iframe>
    342349        <?php
    343350                }