PluginProbe
My WP Customize Admin/Frontend / 1.5
My WP Customize Admin/Frontend v1.5
1.27.4 1.27.3 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.10 1.10.1 1.10.2 1.11 1.12 1.12.1 1.12.2 1.13 1.13.1 1.13.2 1.14 1.15.0 1.16 1.17.0 All 76 releases
my-wp / controller / modules / mywp.controller.module.admin.dashboard.php

mywp.controller.module.admin.dashboard.php in My WP Customize Admin/Frontend 1.5, at controller/modules/mywp.controller.module.admin.dashboard.php

388 lines 6.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit;
5 }
6
7 if( ! class_exists( 'MywpControllerAbstractModule' ) ) {
8 return false;
9 }
10
11 if ( ! class_exists( 'MywpControllerModuleAdminDashboard' ) ) :
12
13 final class MywpControllerModuleAdminDashboard extends MywpControllerAbstractModule {
14
15 static protected $id = 'admin_dashboard';
16
17 public static function mywp_controller_initial_data( $initial_data ) {
18
19 $initial_data['meta_boxes'] = array();
20
21 $initial_data['hide_welcome_panel'] = '';
22 $initial_data['prevent_meta_box'] = '';
23
24 return $initial_data;
25
26 }
27
28 public static function mywp_controller_default_data( $default_data ) {
29
30 $default_data['meta_boxes'] = array();
31
32 $default_data['hide_welcome_panel'] = false;
33 $default_data['prevent_meta_box'] = false;
34
35 return $default_data;
36
37 }
38
39 public static function mywp_wp_loaded() {
40
41 if( ! is_admin() ) {
42
43 return false;
44
45 }
46
47 if( is_network_admin() ) {
48
49 return false;
50
51 }
52
53 if( ! self::is_do_controller() ) {
54
55 return false;
56
57 }
58
59 add_action( 'load-index.php' , array( __CLASS__ , 'load_index' ) , 1000 );
60
61 }
62
63 public static function load_index() {
64
65 add_action( 'admin_head' , array( __CLASS__ , 'hide_welcome_panel' ) );
66
67 add_action( 'admin_head' , array( __CLASS__ , 'hide_meta_boxes' ) );
68
69 add_action( 'in_admin_header' , array( __CLASS__ , 'remove_meta_boxes' ) );
70
71 add_action( 'in_admin_header' , array( __CLASS__ , 'change_title_meta_boxes' ) );
72
73 add_action( 'admin_print_footer_scripts' , array( __CLASS__ , 'prevent_meta_boxes' ) );
74
75 }
76
77 public static function hide_welcome_panel() {
78
79 if( ! self::is_do_function( __FUNCTION__ ) ) {
80
81 return false;
82
83 }
84
85 $setting_data = self::get_setting_data();
86
87 if( empty( $setting_data['hide_welcome_panel'] ) ) {
88
89 return false;
90
91 }
92
93 echo '<style>';
94
95 echo '#welcome-panel { display: none; }';
96
97 echo '</style>';
98
99 echo '<script>jQuery(document).ready(function($){';
100
101 echo '$("#screen-options-wrap .metabox-prefs label[for=wp_welcome_panel-hide]").css("display", "none");';
102
103 echo '});</script>';
104
105 self::after_do_function( __FUNCTION__ );
106
107 }
108
109 public static function hide_meta_boxes() {
110
111 if( ! self::is_do_function( __FUNCTION__ ) ) {
112
113 return false;
114
115 }
116
117 $setting_data = self::get_setting_data();
118
119 if( empty( $setting_data['meta_boxes'] ) ) {
120
121 return false;
122
123 }
124
125 $hide_meta_boxes = array();
126
127 foreach( $setting_data['meta_boxes'] as $meta_box_id => $meta_box_setting ) {
128
129 if( $meta_box_setting['action'] != 'hide' ) {
130
131 continue;
132
133 }
134
135 $hide_meta_boxes[] = $meta_box_id;
136
137 }
138
139 if( empty( $hide_meta_boxes ) ) {
140
141 return false;
142
143 }
144
145 echo '<style>';
146
147 foreach( $hide_meta_boxes as $meta_box_id ) {
148
149 printf( '.postbox#%s { height: 0; overflow: hidden; margin: 0; box-shadow: none; border: 0 none; }' , $meta_box_id );
150
151 }
152
153 echo '</style>';
154
155 echo '<script>jQuery(document).ready(function($){';
156
157 foreach( $hide_meta_boxes as $meta_box_id ) {
158
159 printf( '$("#screen-options-wrap .metabox-prefs label[for=%s-hide]").css("display", "none");' , $meta_box_id );
160
161 }
162
163 echo '});</script>';
164
165 self::after_do_function( __FUNCTION__ );
166
167 }
168
169 public static function remove_meta_boxes() {
170
171 global $wp_meta_boxes;
172
173 if( ! self::is_do_function( __FUNCTION__ ) ) {
174
175 return false;
176
177 }
178
179 $setting_data = self::get_setting_data();
180
181 if( empty( $setting_data['meta_boxes'] ) ) {
182
183 return false;
184
185 }
186
187 $remove_meta_boxes = array();
188
189 foreach( $setting_data['meta_boxes'] as $meta_box_id => $meta_box_setting ) {
190
191 if( $meta_box_setting['action'] != 'remove' ) {
192
193 continue;
194
195 }
196
197 $remove_meta_boxes[] = $meta_box_id;
198
199 }
200
201 if( empty( $remove_meta_boxes ) ) {
202
203 return false;
204
205 }
206
207 if( empty( $wp_meta_boxes['dashboard'] ) ) {
208
209 return false;
210
211 }
212
213 $current_meta_boxes = $wp_meta_boxes['dashboard'];
214
215 foreach( $current_meta_boxes as $context => $priority_meta_boxes ) {
216
217 if( empty( $priority_meta_boxes ) or ! is_array( $priority_meta_boxes ) ) {
218
219 continue;
220
221 }
222
223 foreach( $priority_meta_boxes as $priority => $meta_boxes ) {
224
225 if( empty( $meta_boxes ) or ! is_array( $meta_boxes ) ) {
226
227 continue;
228
229 }
230
231 foreach( $meta_boxes as $meta_box_id => $meta_box ) {
232
233 if( empty( $meta_box ) or ! is_array( $meta_box ) ) {
234
235 continue;
236
237 }
238
239 if( ! in_array( $meta_box_id , $remove_meta_boxes ) ) {
240
241 continue;
242
243 }
244
245 remove_meta_box( $meta_box_id , 'dashboard' , $context );
246
247 }
248
249 }
250
251 }
252
253 self::after_do_function( __FUNCTION__ );
254
255 }
256
257 public static function change_title_meta_boxes() {
258
259 global $wp_meta_boxes;
260
261 if( ! self::is_do_function( __FUNCTION__ ) ) {
262
263 return false;
264
265 }
266
267 $setting_data = self::get_setting_data();
268
269 if( empty( $setting_data['meta_boxes'] ) ) {
270
271 return false;
272
273 }
274
275 $change_title_meta_boxes = array();
276
277 foreach( $setting_data['meta_boxes'] as $meta_box_id => $meta_box_setting ) {
278
279 if( ! empty( $meta_box_setting['action'] ) ) {
280
281 continue;
282
283 }
284
285 if( empty( $meta_box_setting['title'] ) ) {
286
287 continue;
288
289 }
290
291 $change_title_meta_boxes[ $meta_box_id ] = $meta_box_setting['title'];
292
293 }
294
295 if( empty( $change_title_meta_boxes ) ) {
296
297 return false;
298
299 }
300
301 if( empty( $wp_meta_boxes['dashboard'] ) ) {
302
303 return false;
304
305 }
306
307 $current_meta_boxes = $wp_meta_boxes['dashboard'];
308
309 foreach( $current_meta_boxes as $context => $priority_meta_boxes ) {
310
311 if( empty( $priority_meta_boxes ) or ! is_array( $priority_meta_boxes ) ) {
312
313 continue;
314
315 }
316
317 foreach( $priority_meta_boxes as $priority => $meta_boxes ) {
318
319 if( empty( $meta_boxes ) or ! is_array( $meta_boxes ) ) {
320
321 continue;
322
323 }
324
325 foreach( $meta_boxes as $meta_box_id => $meta_box ) {
326
327 if( empty( $meta_box ) or ! is_array( $meta_box ) ) {
328
329 continue;
330
331 }
332
333 if( empty( $change_title_meta_boxes[ $meta_box_id ] ) ) {
334
335 continue;
336
337 }
338
339 $wp_meta_boxes['dashboard'][ $context ][ $priority ][ $meta_box_id ]['title'] = do_shortcode( $change_title_meta_boxes[ $meta_box_id ] );
340
341 }
342
343 }
344
345 }
346
347 self::after_do_function( __FUNCTION__ );
348
349 }
350
351 public static function prevent_meta_boxes() {
352
353 if( ! self::is_do_function( __FUNCTION__ ) ) {
354
355 return false;
356
357 }
358
359 $setting_data = self::get_setting_data();
360
361 if( empty( $setting_data['prevent_meta_box'] ) ) {
362
363 return false;
364
365 }
366
367 echo '<script>jQuery(document).ready(function($){';
368
369 echo '$(".meta-box-sortables").sortable("disable");';
370
371 echo '});</script>';
372
373 echo '<style>';
374
375 echo '.js .postbox .hndle { cursor: pointer; }';
376
377 echo '</style>';
378
379 self::after_do_function( __FUNCTION__ );
380
381 }
382
383 }
384
385 MywpControllerModuleAdminDashboard::init();
386
387 endif;
388