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 -117 1.11.4 → 1.9.1 View file →
@@ -3,9 +3,8 @@
3 3 * @package Adminimize
4 4 * @subpackage Dashboard Setup
5 5 * @author Frank Bültge
6 6 */
7 -
8 7 if ( ! function_exists( 'add_action' ) ) {
9 8 echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
10 9 exit;
11 10 }
@@ -10,50 +9,30 @@
10 9 exit;
11 10 }
12 11
13 12 if ( ! is_admin() ) {
14 - return;
13 + return NULL;
15 14 }
16 15
17 -// If is AJAX Call.
18 -if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
19 - return;
20 -}
16 +// Return registered widgets; only on page index/dashboard :(
17 +add_action( 'wp_dashboard_setup', '_mw_adminimize_dashboard_setup', 99 );
21 18
22 -add_action( 'wp_dashboard_setup', '_mw_adminimize_update_dashboard_widgets', 9998 );
23 -/**
24 - * Write dashboard widgets in settings.
25 - *
26 - * @return bool
27 - */
28 -function _mw_adminimize_update_dashboard_widgets() {
19 +function _mw_adminimize_dashboard_setup() {
29 20
30 - // Only manage options users have the chance to update the settings.
31 - if ( ! current_user_can( 'manage_options' ) ) {
32 - return FALSE;
33 - }
21 + $adminimizeoptions = _mw_adminimize_get_option_value();
34 22
35 - $adminimizeoptions = _mw_adminimize_get_option_value();
36 - $adminimizeoptions[ 'mw_adminimize_dashboard_widgets' ] = _mw_adminimize_get_dashboard_widgets();
23 + $widgets = _mw_adminimize_get_dashboard_widgets();
24 + $adminimizeoptions[ 'mw_adminimize_dashboard_widgets' ] = $widgets;
37 25
38 - return _mw_adminimize_update_option( $adminimizeoptions );
39 -}
26 + _mw_adminimize_update_option( $adminimizeoptions );
40 27
41 -// Return registered widgets; only on page index/dashboard :(
42 -add_action( 'wp_dashboard_setup', '_mw_adminimize_dashboard_setup', 9999 );
43 -/**
44 - * Set dashboard widget options.
45 - */
46 -function _mw_adminimize_dashboard_setup() {
47 -
48 28 // exclude super admin
49 29 if ( _mw_adminimize_exclude_super_admin() ) {
50 - return;
30 + return NULL;
51 31 }
52 32
53 33 $user_roles = _mw_adminimize_get_all_user_roles();
54 34
55 - $disabled_dashboard_option_ = array();
56 35 foreach ( $user_roles as $role ) {
57 36 $disabled_dashboard_option_[ $role ] = _mw_adminimize_get_option_value(
58 37 'mw_adminimize_disabled_dashboard_option_' . $role . '_items'
59 38 );
@@ -58,14 +37,8 @@
58 37 'mw_adminimize_disabled_dashboard_option_' . $role . '_items'
59 38 );
60 39 }
61 40
62 - $user = wp_get_current_user();
63 - // Support Multiple Roles for users.
64 - if ( _mw_adminimize_get_option_value( 'mw_adminimize_multiple_roles' ) && 1 < count( $user->roles ) ) {
65 - $disabled_dashboard_option_ = _mw_adminimize_get_duplicate( $disabled_dashboard_option_ );
66 - }
67 -
68 41 foreach ( $user_roles as $role ) {
69 42 if ( ! isset( $disabled_dashboard_option_[ $role ][ '0' ] ) ) {
70 43 $disabled_dashboard_option_[ $role ][ '0' ] = '';
71 44 }
@@ -70,27 +43,17 @@
70 43 $disabled_dashboard_option_[ $role ][ '0' ] = '';
71 44 }
72 45 }
73 46
74 - // Get all widgets.
75 - $widgets = _mw_adminimize_get_dashboard_widgets();
76 - // Get current user data.
77 - $user = wp_get_current_user();
78 - // If the current user is not inside the roles, abort.
79 - if ( ! $user->roles ) {
80 - return;
81 - }
82 -
83 47 foreach ( $user_roles as $role ) {
48 + $user = wp_get_current_user();
84 49
85 - if ( is_array( $user->roles )
86 - && is_array( $disabled_dashboard_option_[ $role ] )
87 - && in_array( $role, $user->roles, TRUE )
88 - && _mw_adminimize_current_user_has_role( $role )
89 - ) {
90 - foreach ( (array) $disabled_dashboard_option_[ $role ] as $widget ) {
91 - if ( isset( $widgets[ $widget ][ 'context' ] ) ) {
92 - 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 + }
93 56 }
94 57 }
95 58 }
96 59 }
@@ -96,80 +59,30 @@
96 59 }
97 60
98 61 }
99 62
100 -add_action( 'admin_head-index.php', '_mw_adminimize_remove_custom_panels', 99 );
101 -/**
102 - * Add custom options to the head head to hide it via css.
103 - *
104 - * @since 2017-01-05
105 - */
106 -function _mw_adminimize_remove_custom_panels() {
107 -
108 - // exclude super admin
109 - if ( _mw_adminimize_exclude_super_admin() ) {
110 - return;
111 - }
112 -
113 - $options = _mw_adminimize_get_option_value( '_mw_adminimize_own_dashboard_values' );
114 -
115 - if ( empty( $options ) ) {
116 - return;
117 - }
118 -
119 - // Get current user data.
120 - $user = wp_get_current_user();
121 - if ( ! $user->roles ) {
122 - return;
123 - }
124 -
125 - // Get settings for the roles.
126 - $disabled_dashboard_option_ = array();
127 - foreach ( $user->roles as $role ) {
128 - $disabled_dashboard_option_[] = _mw_adminimize_get_option_value( 'mw_adminimize_disabled_dashboard_option_' . $role . '_items' );
129 - }
130 -
131 - // Support Multiple Roles for users.
132 - if ( _mw_adminimize_get_option_value( 'mw_adminimize_multiple_roles' ) && 1 < count( $user->roles ) ) {
133 - $disabled_dashboard_option_ = _mw_adminimize_get_duplicate( $disabled_dashboard_option_ );
134 - }
135 -
136 - if ( empty( $disabled_dashboard_option_[ 0 ] ) ) {
137 - return;
138 - }
139 -
140 - $selectors = implode( ', ', $disabled_dashboard_option_[ 0 ] );
141 - echo '<!-- Set Adminimize dashboard options -->' . "\n";
142 - echo '<style type="text/css">' . esc_attr( $selectors ) . ' {display:none !important;}</style>' . "\n";
143 -}
144 -
145 -/**
146 - * Get all registered dashboard widgets.
147 - *
148 - * @return array
149 - */
150 63 function _mw_adminimize_get_dashboard_widgets() {
151 64
152 65 global $wp_meta_boxes;
153 66
154 67 $widgets = array();
155 - if ( ! isset( $wp_meta_boxes[ 'dashboard' ] ) ) {
156 - return $widgets;
157 - }
68 + if ( isset( $wp_meta_boxes[ 'dashboard' ] ) ) {
158 69
159 - foreach ( (array) $wp_meta_boxes[ 'dashboard' ] as $context => $datas ) {
160 - foreach ( (array) $datas as $priority => $data ) {
161 - foreach ( (array) $data as $widget => $value ) {
162 - $widgets[ $widget ] = array(
163 - 'id' => $widget,
164 - 'title' => strip_tags(
165 - preg_replace( '/( |)<span.*span>/im', '', $value[ 'title' ] )
166 - ),
167 - 'context' => $context,
168 - 'priority' => $priority,
169 - );
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 + }
170 82 }
171 83 }
84 +
172 85 }
173 86
174 87 return $widgets;
175 88 }