PluginProbe
Plugin Groups / trunk
Plugin Groups vtrunk
trunk 1.0.3 1.1.0 1.2.1 1.2.2 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.9 3.0.0
← All changes | classes/class-rest.php +11 -5 2.0.6trunk View file →
@@ -54,9 +54,9 @@
54 54 'permission_callback' => function( \WP_REST_Request $request ) {
55 55
56 56 if ( is_multisite() ) {
57 57 $data = $request->get_json_params();
58 - $can = current_user_can_for_blog( $data['siteID'], 'manage_options' );
58 + $can = $this->plugin_groups->can_manage_site_config( $data['siteID'] ?? get_current_blog_id() );
59 59 } else {
60 60 $can = current_user_can( 'manage_options' );
61 61 }
62 62
@@ -75,9 +75,9 @@
75 75 'permission_callback' => function( \WP_REST_Request $request ) {
76 76
77 77 $id = $request->get_param( 'siteID' );
78 78
79 - return current_user_can_for_blog( $id, 'manage_options' );
79 + return $this->plugin_groups->can_manage_site_config( $id );
80 80 },
81 81 )
82 82 );
83 83
@@ -91,9 +91,9 @@
91 91 'permission_callback' => function( \WP_REST_Request $request ) {
92 92
93 93 if ( is_multisite() ) {
94 94 $data = $request->get_json_params();
95 - $can = current_user_can_for_blog( $data['siteID'], 'manage_options' );
95 + $can = $this->plugin_groups->can_manage_site_config( $data['siteID'] ?? get_current_blog_id() );
96 96 } else {
97 97 $can = current_user_can( 'manage_options' );
98 98 }
99 99
@@ -150,14 +150,20 @@
150 150 $data = $request->get_json_params();
151 151 $site_id = get_current_blog_id();
152 152 if ( is_multisite() ) {
153 153 if ( ! empty( $data['siteID'] ) ) {
154 - $site_id = $data['siteID'];
154 + $site_id = (int) $data['siteID'];
155 155 unset( $data['siteID'] );
156 156 }
157 - if ( ! empty( $data['sitesEnabled'] ) ) {
157 + if ( isset( $data['sitesEnabled'] ) ) {
158 158 // Ensure we have the same types.
159 159 $data['sitesEnabled'] = array_map( 'intval', $data['sitesEnabled'] );
160 + $main_site_id = get_main_site_id();
161 + $this->plugin_groups->save_sites_enabled( $data['sitesEnabled'] );
162 +
163 + if ( $main_site_id !== $site_id ) {
164 + unset( $data['sitesEnabled'] );
165 + }
160 166 }
161 167 }
162 168
163 169 $config = wp_parse_args( $data, $this->plugin_groups->load_config( $site_id ) );