WordPress.org

Make WordPress Core

Ticket #39711: 39711.patch

File 39711.patch, 9.8 KB (added by Mista-Flo, 4 years ago)

First patch : Add network activate/deactivate/delete actions to sub site plugin list table

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

    diff --git wp-admin/includes/class-wp-plugins-list-table.php wp-admin/includes/class-wp-plugins-list-table.php
    index 136fbd4..5a08fd8 100644
    class WP_Plugins_List_Table extends WP_List_Table { 
    602602                                        if ( current_user_can( 'manage_network_plugins' ) ) {
    603603                                                /* translators: %s: plugin name */
    604604                                                $actions['deactivate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( _x( 'Network Deactivate %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Deactivate' ) . '</a>';
    605                                                 }
     605                    }
    606606                                } else {
    607607                                        if ( current_user_can( 'manage_network_plugins' ) ) {
    608608                                                /* translators: %s: plugin name */
    class WP_Plugins_List_Table extends WP_List_Table { 
    615615                                }
    616616                        } else {
    617617                                if ( $restrict_network_active ) {
    618                                         $actions = array(
    619                                                 'network_active' => __( 'Network Active' ),
    620                                         );
     618                                        if ( current_user_can( 'manage_network_plugins' ) ) {
     619                                                /* translators: %s: plugin name */
     620                                                $actions['network_deactivate'] = '<a href="' . wp_nonce_url( network_home_url( 'wp-admin/network/plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s ) , 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( _x( 'Network Deactivate %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Deactivate' ) . '</a>';
     621                                        } else {
     622                                                $actions = array(
     623                                                        'network_active' => __( 'Network Active' ),
     624                                                );
     625                    }
    621626                                } elseif ( $restrict_network_only ) {
    622                                         $actions = array(
    623                                                 'network_only' => __( 'Network Only' ),
    624                                         );
     627                                        if ( current_user_can( 'manage_network_plugins' ) ) {
     628                                                /* translators: %s: plugin name */
     629                                                $actions['network_activate'] = '<a href="' . wp_nonce_url( network_home_url( 'wp-admin/network/plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s ), 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( _x( 'Network Activate %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Activate' ) . '</a>';
     630                                        } else {
     631                                                $actions = array(
     632                                                        'network_only' => __( 'Network Only' ),
     633                                                );
     634                    }
    625635                                } elseif ( $is_active ) {
    626636                                        /* translators: %s: plugin name */
    627637                                        $actions['deactivate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( _x( 'Deactivate %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Deactivate' ) . '</a>';
    628638                                } else {
    629639                                        /* translators: %s: plugin name */
    630640                                        $actions['activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( _x( 'Activate %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Activate' ) . '</a>';
    631 
     641                                       
     642                                        if ( current_user_can( 'manage_network_plugins' ) ) {
     643                                                /* translators: %s: plugin name */
     644                                                $actions['network_activate'] = '<a href="' . wp_nonce_url( network_home_url( 'wp-admin/network/plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s ), 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( _x( 'Network Activate %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Activate' ) . '</a>';
     645                                               
     646                                                /* translators: %s: plugin name */
     647                                                $actions['network_delete'] = '<a href="' . wp_nonce_url( network_home_url( 'wp-admin/network/plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s ), 'bulk-plugins' ) . '" class="delete" aria-label="' . esc_attr( sprintf( _x( 'Delete %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Delete' ) . '</a>';
     648                                        }
     649                                       
    632650                                        if ( ! is_multisite() && current_user_can( 'delete_plugins' ) ) {
    633651                                                /* translators: %s: plugin name */
    634652                                                $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' ) . '" class="delete" aria-label="' . esc_attr( sprintf( _x( 'Delete %s', 'plugin' ), $plugin_data['Name'] ) ) . '">' . __( 'Delete' ) . '</a>';