equal
deleted
inserted
replaced
7 */ |
7 */ |
8 |
8 |
9 /** WordPress Administration Bootstrap */ |
9 /** WordPress Administration Bootstrap */ |
10 require_once('./admin.php'); |
10 require_once('./admin.php'); |
11 |
11 |
12 if ( is_multisite() ) { |
12 if ( ! current_user_can('activate_plugins') ) |
13 $menu_perms = get_site_option( 'menu_items', array() ); |
|
14 |
|
15 if ( empty( $menu_perms['plugins'] ) && ! current_user_can( 'manage_network_plugins' ) ) |
|
16 wp_die( __( 'Cheatin’ uh?' ) ); |
|
17 } |
|
18 |
|
19 if ( !current_user_can('activate_plugins') ) |
|
20 wp_die( __( 'You do not have sufficient permissions to manage plugins for this site.' ) ); |
13 wp_die( __( 'You do not have sufficient permissions to manage plugins for this site.' ) ); |
21 |
14 |
22 $wp_list_table = _get_list_table('WP_Plugins_List_Table'); |
15 $wp_list_table = _get_list_table('WP_Plugins_List_Table'); |
23 $pagenum = $wp_list_table->get_pagenum(); |
16 $pagenum = $wp_list_table->get_pagenum(); |
24 |
17 |
34 |
27 |
35 switch ( $action ) { |
28 switch ( $action ) { |
36 case 'activate': |
29 case 'activate': |
37 if ( ! current_user_can('activate_plugins') ) |
30 if ( ! current_user_can('activate_plugins') ) |
38 wp_die(__('You do not have sufficient permissions to activate plugins for this site.')); |
31 wp_die(__('You do not have sufficient permissions to activate plugins for this site.')); |
|
32 |
|
33 if ( is_multisite() && ! is_network_admin() && is_network_only_plugin( $plugin ) ) { |
|
34 wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") ); |
|
35 exit; |
|
36 } |
39 |
37 |
40 check_admin_referer('activate-plugin_' . $plugin); |
38 check_admin_referer('activate-plugin_' . $plugin); |
41 |
39 |
42 $result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . $plugin), is_network_admin() ); |
40 $result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . $plugin), is_network_admin() ); |
43 if ( is_wp_error( $result ) ) { |
41 if ( is_wp_error( $result ) ) { |
49 wp_die($result); |
47 wp_die($result); |
50 } |
48 } |
51 } |
49 } |
52 |
50 |
53 if ( ! is_network_admin() ) { |
51 if ( ! is_network_admin() ) { |
54 if ( is_network_only_plugin( $plugin ) ) { |
|
55 wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") ); |
|
56 exit; |
|
57 } |
|
58 |
|
59 $recent = (array) get_option( 'recently_activated' ); |
52 $recent = (array) get_option( 'recently_activated' ); |
60 unset( $recent[ $plugin ] ); |
53 unset( $recent[ $plugin ] ); |
61 update_option( 'recently_activated', $recent ); |
54 update_option( 'recently_activated', $recent ); |
62 } |
55 } |
63 |
56 |