PluginProbe
Adminimize / 1.9.1
Adminimize v1.9.1
1.11.14 1.11.13 1.11.1 1.11.10 1.11.11 1.11.12 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 1.11.7 1.11.8 1.11.9 1.3 1.4.7 1.6 1.7.12 1.7.13 1.7.14 1.7.15 1.7.16 1.7.17 1.7.18 1.7.19 All 53 releases
← All changes | inc-setup/dashboard.php +30 -61 1.11.2 → 1.9.1 View file →
@@ -9,50 +9,30 @@
9 9 exit;
10 10 }
11 11
12 12 if ( ! is_admin() ) {
13 - return;
13 + return NULL;
14 14 }
15 15
16 -// If is AJAX Call.
17 -if ( defined('DOING_AJAX') && DOING_AJAX ) {
18 - return;
19 -}
16 +// Return registered widgets; only on page index/dashboard :(
17 +add_action( 'wp_dashboard_setup', '_mw_adminimize_dashboard_setup', 99 );
20 18
21 -add_action( 'wp_dashboard_setup', '_mw_adminimize_update_dashboard_widgets', 9998 );
22 -/**
23 - * Write dashboard widgets in settings.
24 - *
25 - * @return bool
26 - */
27 -function _mw_adminimize_update_dashboard_widgets() {
19 +function _mw_adminimize_dashboard_setup() {
28 20
29 - // Only manage options users have the chance to update the settings.
30 - if ( ! current_user_can( 'manage_options' ) ) {
31 - return FALSE;
32 - }
21 + $adminimizeoptions = _mw_adminimize_get_option_value();
33 22
34 - $adminimizeoptions = _mw_adminimize_get_option_value();
35 - $adminimizeoptions[ 'mw_adminimize_dashboard_widgets' ] = _mw_adminimize_get_dashboard_widgets();
23 + $widgets = _mw_adminimize_get_dashboard_widgets();
24 + $adminimizeoptions[ 'mw_adminimize_dashboard_widgets' ] = $widgets;
36 25
37 - return _mw_adminimize_update_option( $adminimizeoptions );
38 -}
26 + _mw_adminimize_update_option( $adminimizeoptions );
39 27
40 -// Return registered widgets; only on page index/dashboard :(
41 -add_action( 'wp_dashboard_setup', '_mw_adminimize_dashboard_setup', 9999 );
42 -/**
43 - * Set dashboard widget options.
44 - */
45 -function _mw_adminimize_dashboard_setup() {
46 -
47 28 // exclude super admin
48 29 if ( _mw_adminimize_exclude_super_admin() ) {
49 - return;
30 + return NULL;
50 31 }
51 32
52 33 $user_roles = _mw_adminimize_get_all_user_roles();
53 34
54 - $disabled_dashboard_option_ = array();
55 35 foreach ( $user_roles as $role ) {
56 36 $disabled_dashboard_option_[ $role ] = _mw_adminimize_get_option_value(
57 37 'mw_adminimize_disabled_dashboard_option_' . $role . '_items'
58 38 );
@@ -63,57 +43,46 @@
63 43 $disabled_dashboard_option_[ $role ][ '0' ] = '';
64 44 }
65 45 }
66 46
67 - // Get all widgets.
68 - $widgets = _mw_adminimize_get_dashboard_widgets();
69 - // Get current user data.
70 - $user = wp_get_current_user();
71 47 foreach ( $user_roles as $role ) {
48 + $user = wp_get_current_user();
72 49
73 - if ( is_array( $user->roles )
74 - && is_array( $disabled_dashboard_option_[ $role ] )
75 - && in_array( $role, $user->roles )
76 - && _mw_adminimize_current_user_has_role( $role )
77 - ) {
78 - foreach ( $disabled_dashboard_option_[ $role ] as $widget ) {
79 - if ( isset( $widgets[ $widget ][ 'context' ] ) ) {
80 - remove_meta_box( $widget, 'dashboard', $widgets[ $widget ][ 'context' ] );
50 + if ( is_array( $user->roles ) && in_array( $role, $user->roles ) ) {
51 + if ( _mw_adminimize_current_user_has_role( $role ) && is_array( $disabled_dashboard_option_[ $role ] ) ) {
52 + foreach ( $disabled_dashboard_option_[ $role ] as $widget ) {
53 + if ( isset( $widgets[ $widget ][ 'context' ] ) ) {
54 + remove_meta_box( $widget, 'dashboard', $widgets[ $widget ][ 'context' ] );
55 + }
81 56 }
82 57 }
83 58 }
84 -
85 59 }
86 60
87 61 }
88 62
89 -/**
90 - * Get all registered dashboard widgets.
91 - *
92 - * @return array
93 - */
94 63 function _mw_adminimize_get_dashboard_widgets() {
95 64
96 65 global $wp_meta_boxes;
97 66
98 67 $widgets = array();
99 - if ( ! isset( $wp_meta_boxes[ 'dashboard' ] ) ) {
100 - return $widgets;
101 - }
68 + if ( isset( $wp_meta_boxes[ 'dashboard' ] ) ) {
102 69
103 - foreach ( $wp_meta_boxes[ 'dashboard' ] as $context => $datas ) {
104 - foreach ( $datas as $priority => $data ) {
105 - foreach ( $data as $widget => $value ) {
106 - $widgets[ $widget ] = array(
107 - 'id' => $widget,
108 - 'title' => strip_tags(
109 - preg_replace( '/( |)<span.*span>/im', '', $value[ 'title' ] )
110 - ),
111 - 'context' => $context,
112 - 'priority' => $priority
113 - );
70 + foreach ( $wp_meta_boxes[ 'dashboard' ] as $context => $datas ) {
71 + foreach ( $datas as $priority => $data ) {
72 + foreach ( $data as $widget => $value ) {
73 + $widgets[ $widget ] = array(
74 + 'id' => $widget,
75 + 'title' => strip_tags(
76 + preg_replace( '/( |)<span.*span>/im', '', $value[ 'title' ] )
77 + ),
78 + 'context' => $context,
79 + 'priority' => $priority
80 + );
81 + }
114 82 }
115 83 }
84 +
116 85 }
117 86
118 87 return $widgets;
119 88 }