12
12
* Plugin URI: https://github.com/soderlind/super-admin-all-sites-menu
13
13
* GitHub Plugin URI: https://github.com/soderlind/super-admin-all-sites-menu
14
14
* Description: For the super admin, replace WP Admin Bar My Sites menu with an All Sites menu.
15
- * Version: 1.7.1
15
+ * Version: 1.7.2
16
16
* Author: Per Soderlind
17
17
* Network: true
18
18
* Author URI: https://soderlind.no
21
21
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
22
22
*/
23
23
24
- declare ( strict_types = 1 );
24
+ declare (strict_types= 1 );
25
25
namespace Soderlind \Multisite ;
26
26
27
27
if ( ! defined ( 'ABSPATH ' ) ) {
@@ -107,7 +107,7 @@ public function init() {
107
107
*
108
108
* @return void
109
109
*/
110
- public function action_admin_bar_init () : void {
110
+ public function action_admin_bar_init (): void {
111
111
load_plugin_textdomain ( 'super-admin-all-sites-menu ' , false , dirname ( plugin_basename ( __FILE__ ) ) . '/languages ' );
112
112
if ( \is_super_admin () ) {
113
113
add_action ( 'add_admin_bar_menus ' , [ $ this , 'action_add_admin_bar_menus ' ] );
@@ -133,7 +133,7 @@ public function action_admin_bar_init() : void {
133
133
*
134
134
* @return void
135
135
*/
136
- public function set_properties () : void {
136
+ public function set_properties (): void {
137
137
$ this ->plugins = \apply_filters ( 'all_sites_menu_plugin_trigger ' , PLUGINS );
138
138
if ( ! is_array ( $ this ->plugins ) ) {
139
139
$ this ->plugins = PLUGINS ;
@@ -164,7 +164,7 @@ public function set_properties() : void {
164
164
*
165
165
* @return void
166
166
*/
167
- public function action_add_admin_bar_menus () : void {
167
+ public function action_add_admin_bar_menus (): void {
168
168
remove_action ( 'admin_bar_menu ' , 'wp_admin_bar_my_sites_menu ' , 20 );
169
169
}
170
170
@@ -176,25 +176,25 @@ public function action_add_admin_bar_menus() : void {
176
176
* @param \WP_Admin_Bar $wp_admin_bar The admin bar object.
177
177
* @return void
178
178
*/
179
- public function super_admin_all_sites_menu ( \WP_Admin_Bar $ wp_admin_bar ) : void {
179
+ public function super_admin_all_sites_menu ( \WP_Admin_Bar $ wp_admin_bar ): void {
180
180
$ my_sites_url = \admin_url ( '/my-sites.php ' );
181
181
$ wp_admin_bar ->add_menu (
182
- [
182
+ [
183
183
'id ' => 'my-sites ' ,
184
184
'title ' => __ ( 'All Sites ' , 'super-admin-all-sites-menu ' ),
185
185
'href ' => $ my_sites_url ,
186
186
]
187
187
);
188
188
189
189
$ wp_admin_bar ->add_group (
190
- [
190
+ [
191
191
'parent ' => 'my-sites ' ,
192
192
'id ' => 'my-sites-super-admin ' ,
193
193
]
194
194
);
195
195
196
196
$ wp_admin_bar ->add_menu (
197
- [
197
+ [
198
198
'parent ' => 'my-sites-super-admin ' ,
199
199
'id ' => 'network-admin ' ,
200
200
'title ' => __ ( 'Network Admin ' , 'super-admin-all-sites-menu ' ),
@@ -203,55 +203,55 @@ public function super_admin_all_sites_menu( \WP_Admin_Bar $wp_admin_bar ) : void
203
203
);
204
204
205
205
$ wp_admin_bar ->add_menu (
206
- [
206
+ [
207
207
'parent ' => 'network-admin ' ,
208
208
'id ' => 'network-admin-d ' ,
209
209
'title ' => __ ( 'Dashboard ' , 'super-admin-all-sites-menu ' ),
210
210
'href ' => \network_admin_url (),
211
211
]
212
212
);
213
213
$ wp_admin_bar ->add_menu (
214
- [
214
+ [
215
215
'parent ' => 'network-admin ' ,
216
216
'id ' => 'network-admin-s ' ,
217
217
'title ' => __ ( 'Sites ' , 'super-admin-all-sites-menu ' ),
218
218
'href ' => \network_admin_url ( '/sites.php ' ),
219
219
]
220
220
);
221
221
$ wp_admin_bar ->add_menu (
222
- [
222
+ [
223
223
'parent ' => 'network-admin ' ,
224
224
'id ' => 'network-admin-n ' ,
225
225
'title ' => __ ( 'Add New Site ' , 'super-admin-all-sites-menu ' ),
226
226
'href ' => \network_admin_url ( '/site-new.php ' ),
227
227
]
228
228
);
229
229
$ wp_admin_bar ->add_menu (
230
- [
230
+ [
231
231
'parent ' => 'network-admin ' ,
232
232
'id ' => 'network-admin-u ' ,
233
233
'title ' => __ ( 'Users ' , 'super-admin-all-sites-menu ' ),
234
234
'href ' => \network_admin_url ( '/users.php ' ),
235
235
]
236
236
);
237
237
$ wp_admin_bar ->add_menu (
238
- [
238
+ [
239
239
'parent ' => 'network-admin ' ,
240
240
'id ' => 'network-admin-t ' ,
241
241
'title ' => __ ( 'Themes ' , 'super-admin-all-sites-menu ' ),
242
242
'href ' => \network_admin_url ( '/themes.php ' ),
243
243
]
244
244
);
245
245
$ wp_admin_bar ->add_menu (
246
- [
246
+ [
247
247
'parent ' => 'network-admin ' ,
248
248
'id ' => 'network-admin-p ' ,
249
249
'title ' => __ ( 'Plugins ' , 'super-admin-all-sites-menu ' ),
250
250
'href ' => \network_admin_url ( '/plugins.php ' ),
251
251
]
252
252
);
253
253
$ wp_admin_bar ->add_menu (
254
- [
254
+ [
255
255
'parent ' => 'network-admin ' ,
256
256
'id ' => 'network-admin-o ' ,
257
257
'title ' => __ ( 'Settings ' , 'super-admin-all-sites-menu ' ),
@@ -261,10 +261,10 @@ public function super_admin_all_sites_menu( \WP_Admin_Bar $wp_admin_bar ) : void
261
261
262
262
// Add site links.
263
263
$ wp_admin_bar ->add_group (
264
- [
264
+ [
265
265
'parent ' => 'my-sites ' ,
266
266
'id ' => 'my-sites-list ' ,
267
- 'meta ' => [
267
+ 'meta ' => [
268
268
'class ' => 'ab-sub-secondary my-sites-container ' ,
269
269
],
270
270
]
@@ -273,15 +273,15 @@ public function super_admin_all_sites_menu( \WP_Admin_Bar $wp_admin_bar ) : void
273
273
if ( $ this ->number_of_sites > $ this ->search_threshold ) {
274
274
// Add search field.
275
275
$ wp_admin_bar ->add_menu (
276
- [
276
+ [
277
277
'parent ' => 'my-sites-list ' ,
278
278
'id ' => 'all-sites-search ' ,
279
279
'title ' => sprintf (
280
280
'<label for="all-sites-search-text">%s</label><input type="text" id="all-sites-search-text" placeholder="%s" /> ' ,
281
281
esc_html__ ( 'Filter My Sites ' , 'super-admin-all-sites-menu ' ),
282
282
esc_attr__ ( 'Search Sites ' , 'super-admin-all-sites-menu ' )
283
283
),
284
- 'meta ' => [
284
+ 'meta ' => [
285
285
'class ' => 'hide-if-no-js ' ,
286
286
],
287
287
]
@@ -291,11 +291,11 @@ public function super_admin_all_sites_menu( \WP_Admin_Bar $wp_admin_bar ) : void
291
291
// Add an observable container, used by the IntersectionObserver in src/modules/observe.js.
292
292
$ timestamp = $ this ->get_timestamp ();
293
293
$ wp_admin_bar ->add_menu (
294
- [
294
+ [
295
295
'id ' => 'load-more ' ,
296
296
'parent ' => 'my-sites-list ' ,
297
297
'title ' => __ ( 'Loading.. ' , 'super-admin-all-sites-menu ' ),
298
- 'meta ' => [
298
+ 'meta ' => [
299
299
'html ' => sprintf ( '<span id="load-more-timestamp" data-timestamp="%s"></span> ' , $ timestamp ),
300
300
'class ' => 'load-more hide-if-no-js ' ,
301
301
'tabindex ' => -1 ,
@@ -310,17 +310,17 @@ public function super_admin_all_sites_menu( \WP_Admin_Bar $wp_admin_bar ) : void
310
310
*
311
311
* @param \WP_REST_Server $wp_rest_server Server object.
312
312
*/
313
- public function action_rest_api_init ( \WP_REST_Server $ wp_rest_server ) : void {
313
+ public function action_rest_api_init ( \WP_REST_Server $ wp_rest_server ): void {
314
314
$ is_route_created = register_rest_route (
315
315
REST_NAMESPACE ,
316
316
'/ ' . REST_BASE ,
317
- [
317
+ [
318
318
'methods ' => \WP_REST_Server::CREATABLE ,
319
319
'callback ' => [ $ this , 'get_sites ' ],
320
320
'permission_callback ' => [ $ this , 'get_sites_permissions_check ' ],
321
- 'args ' => [
322
- 'offset ' => [
323
- 'validate_callback ' => function ( $ param , $ request , $ key ) {
321
+ 'args ' => [
322
+ 'offset ' => [
323
+ 'validate_callback ' => function ( $ param , $ request , $ key ) {
324
324
return is_numeric ( $ param );
325
325
},
326
326
],
@@ -336,7 +336,7 @@ public function action_rest_api_init( \WP_REST_Server $wp_rest_server ) : void {
336
336
* @param \WP_REST_Request $request The request.
337
337
* @return bool|\WP_Error
338
338
*/
339
- public function get_sites_permissions_check ( \WP_REST_Request $ request ) : bool {
339
+ public function get_sites_permissions_check ( \WP_REST_Request $ request ): bool {
340
340
return current_user_can ( 'manage_network ' );
341
341
}
342
342
@@ -346,14 +346,14 @@ public function get_sites_permissions_check( \WP_REST_Request $request ) : bool
346
346
* @param \WP_REST_Request $request The request.
347
347
* @return array
348
348
*/
349
- public function get_sites ( \WP_REST_Request $ request ) : array {
349
+ public function get_sites ( \WP_REST_Request $ request ): array {
350
350
351
351
$ params = $ request ->get_params ();
352
352
header ( 'Content-type: application/json ' );
353
- $ offset = ( isset ( $ params ['offset ' ] ) ) ? filter_var ( wp_unslash ( $ params ['offset ' ] ), FILTER_VALIDATE_INT , [ 'default ' => 0 ] ) : 0 ;
353
+ $ offset = ( isset ( $ params [ 'offset ' ] ) ) ? filter_var ( wp_unslash ( $ params [ 'offset ' ] ), FILTER_VALIDATE_INT , [ 'default ' => 0 ] ) : 0 ;
354
354
355
355
$ sites = \get_sites (
356
- [
356
+ [
357
357
'orderby ' => 'path ' ,
358
358
'number ' => $ this ->load_increments ,
359
359
'offset ' => $ offset ,
@@ -382,7 +382,7 @@ public function get_sites( \WP_REST_Request $request ) : array {
382
382
if ( 2 === (int ) $ site ->public ) {
383
383
$ blavatar = '<div class="blavatar" style="color:#f00;"></div> ' ;
384
384
}
385
- $ menu [] = [
385
+ $ menu [] = [
386
386
'parent ' => 'my-sites-list ' ,
387
387
'id ' => $ menu_id ,
388
388
'name ' => strtoupper ( $ blogname ), // Index in local storage.
@@ -394,11 +394,11 @@ public function get_sites( \WP_REST_Request $request ) : array {
394
394
}
395
395
396
396
if ( [] !== $ menu ) {
397
- $ response ['response ' ] = 'success ' ;
398
- $ response ['data ' ] = $ menu ;
397
+ $ response [ 'response ' ] = 'success ' ;
398
+ $ response [ 'data ' ] = $ menu ;
399
399
} else {
400
- $ response ['response ' ] = 'unobserve ' ;
401
- $ response ['data ' ] = '' ;
400
+ $ response [ 'response ' ] = 'unobserve ' ;
401
+ $ response [ 'data ' ] = '' ;
402
402
}
403
403
404
404
return $ response ;
@@ -410,16 +410,16 @@ public function get_sites( \WP_REST_Request $request ) : array {
410
410
* @param string $hook_suffix The current admin page.
411
411
* @return void
412
412
*/
413
- public function action_enqueue_scripts ( string $ hook_suffix ) : void {
413
+ public function action_enqueue_scripts ( string $ hook_suffix ): void {
414
414
415
415
$ deps_file = plugin_dir_path ( __FILE__ ) . 'build/index.asset.php ' ;
416
416
417
417
$ jsdeps = [ 'admin-bar ' ];
418
418
$ version = wp_rand ();
419
419
if ( file_exists ( $ deps_file ) ) {
420
420
$ file = require $ deps_file ;
421
- $ jsdeps = array_merge ( $ jsdeps , $ file ['dependencies ' ] );
422
- $ version = $ file ['version ' ];
421
+ $ jsdeps = array_merge ( $ jsdeps , $ file [ 'dependencies ' ] );
422
+ $ version = $ file [ 'version ' ];
423
423
}
424
424
wp_register_style ( 'super-admin-all-sites-menu ' , plugin_dir_url ( __FILE__ ) . 'css/all-sites-menu.css ' , [], $ version );
425
425
wp_enqueue_style ( 'super-admin-all-sites-menu ' );
@@ -428,7 +428,7 @@ public function action_enqueue_scripts( string $hook_suffix ) : void {
428
428
wp_enqueue_script ( 'super-admin-all-sites-menu ' );
429
429
430
430
$ data = wp_json_encode (
431
- [
431
+ [
432
432
'nonce ' => wp_create_nonce ( 'wp_rest ' ),
433
433
'restURL ' => rest_url () . REST_ENDPOINT ,
434
434
'loadincrements ' => $ this ->load_increments ,
@@ -448,7 +448,7 @@ public function action_enqueue_scripts( string $hook_suffix ) : void {
448
448
* @param \WP_Site $site Site object.
449
449
* @return void
450
450
*/
451
- public function update_local_storage ( \WP_Site $ site ) : void {
451
+ public function update_local_storage ( \WP_Site $ site ): void {
452
452
$ this ->refresh_local_storage ();
453
453
}
454
454
@@ -458,7 +458,7 @@ public function update_local_storage( \WP_Site $site ) : void {
458
458
* @param string $plugin Path to the plugin file relative to the plugins directory.
459
459
* @return void or just the current site. Multisite only. Default false.
460
460
*/
461
- public function plugin_update_local_storage ( string $ plugin ) : void {
461
+ public function plugin_update_local_storage ( string $ plugin ): void {
462
462
if ( in_array ( $ plugin , $ this ->plugins , true ) ) {
463
463
$ this ->refresh_local_storage ();
464
464
}
@@ -472,7 +472,7 @@ public function plugin_update_local_storage( string $plugin ) : void {
472
472
* @param string $option Option name.
473
473
* @return void
474
474
*/
475
- public function action_update_option_blogname ( $ old_value , $ value , string $ option ) : void {
475
+ public function action_update_option_blogname ( $ old_value , $ value , string $ option ): void {
476
476
if ( $ old_value !== $ value ) {
477
477
$ this ->refresh_local_storage ();
478
478
}
@@ -483,7 +483,7 @@ public function action_update_option_blogname( $old_value, $value, string $optio
483
483
*
484
484
* @return void
485
485
*/
486
- public function refresh_local_storage () : void {
486
+ public function refresh_local_storage (): void {
487
487
$ this ->remove_timestamp ();
488
488
}
489
489
@@ -492,7 +492,7 @@ public function refresh_local_storage() : void {
492
492
*
493
493
* @return void
494
494
*/
495
- public function deactivate () : void {
495
+ public function deactivate (): void {
496
496
$ this ->remove_timestamp ();
497
497
}
498
498
@@ -501,10 +501,10 @@ public function deactivate() : void {
501
501
*
502
502
* @return integer
503
503
*/
504
- private function get_number_of_sites () : int {
504
+ private function get_number_of_sites (): int {
505
505
$ network_id = get_current_network_id ();
506
506
507
- $ args = [
507
+ $ args = [
508
508
'network_id ' => $ network_id ,
509
509
'number ' => 1 ,
510
510
'fields ' => 'ids ' ,
@@ -520,7 +520,7 @@ private function get_number_of_sites() : int {
520
520
*
521
521
* @return string
522
522
*/
523
- private function get_timestamp () : string {
523
+ private function get_timestamp (): string {
524
524
$ timestamp = get_site_transient ( 'allsitemenutimestamp ' );
525
525
if ( ! $ timestamp ) {
526
526
$ timestamp = (string ) time ();
@@ -534,7 +534,7 @@ private function get_timestamp() : string {
534
534
*
535
535
* @return void
536
536
*/
537
- private function remove_timestamp () : void {
537
+ private function remove_timestamp (): void {
538
538
delete_site_transient ( 'allsitemenutimestamp ' );
539
539
}
540
540
0 commit comments