PluginProbe
Adminimize / 1.11.10
Adminimize v1.11.10
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
adminimize / inc-setup / widget.php

widget.php in Adminimize 1.11.10, at inc-setup/widget.php

165 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package Adminimize
4 * @subpackage Widget Setup
5 * @author Frank Bültge
6 * @since 1.8.1 01/10/2013
7 */
8
9 if ( ! function_exists( 'add_action' ) ) {
10 echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
11 exit;
12 }
13
14 if ( ! is_admin() ) {
15 return;
16 }
17
18 // If is AJAX Call.
19 if ( defined('DOING_AJAX') && DOING_AJAX ) {
20 return;
21 }
22
23 function _mw_adminimize_get_all_widgets() {
24
25 global $wp_widget_factory;
26
27 if ( is_object( $wp_widget_factory ) ) {
28 return $wp_widget_factory->widgets;
29 }
30
31 return FALSE;
32 }
33
34 function _mw_adminimize_get_registered_widgets() {
35
36 global $wp_registered_widgets;
37
38 return $wp_registered_widgets;
39 }
40
41 function _mw_adminimize_get_sidebars_widgets() {
42
43 global $sidebars_widgets;
44
45 return $sidebars_widgets;
46 }
47
48 function _mw_adminimize_get_registered_sidebars() {
49 global $wp_registered_sidebars;
50
51 return $wp_registered_sidebars;
52 }
53
54 /**
55 * Doing on load of widgets.php
56 *
57 * @return void
58 */
59 add_action( 'after_setup_theme', '_mw_adminimize_on_widgets_init' );
60 function _mw_adminimize_on_widgets_init() {
61
62 if ( is_admin() && 'widgets.php' === $GLOBALS[ 'pagenow' ] ) {
63 add_action( 'widgets_init', '_mw_adminimize_unregister_widgets' );
64 add_action( 'widgets_init', '_mw_adminimize_unregister_sidebars', 9999 );
65 }
66 }
67
68 /**
69 * Remove widgets, areas for different roles
70 *
71 * @return void
72 */
73 function _mw_adminimize_unregister_widgets() {
74
75 // Get settings.
76 $adminimizeoptions = _mw_adminimize_get_option_value();
77
78 // Update settings.
79 _mw_adminimize_update_option( $adminimizeoptions );
80
81 // exclude super admin
82 if ( _mw_adminimize_exclude_super_admin() ) {
83 return NULL;
84 }
85
86 $user_roles = _mw_adminimize_get_all_user_roles();
87
88 foreach ( $user_roles as $role ) {
89 $disabled_widget_option_[ $role ] = _mw_adminimize_get_option_value(
90 'mw_adminimize_disabled_widget_option_' . $role . '_items'
91 );
92 }
93
94 foreach ( $user_roles as $role ) {
95 if ( ! isset( $disabled_widget_option_[ $role ][ '0' ] ) ) {
96 $disabled_widget_option_[ $role ][ '0' ] = '';
97 }
98 }
99
100 foreach ( $user_roles as $role ) {
101 $user = wp_get_current_user();
102
103 if ( is_array( $user->roles ) && in_array( $role, $user->roles ) ) {
104
105 if ( _mw_adminimize_current_user_has_role( $role ) && is_array( $disabled_widget_option_[ $role ] ) ) {
106 foreach ( $disabled_widget_option_[ $role ] as $widgets ) {
107 unregister_widget( $widgets );
108 $GLOBALS[ 'wp_widget_factory' ]->unregister( $widgets );
109 //wp_unregister_sidebar_widget( 'Monster_Widget' );
110 }
111 }
112
113 } // end if user roles
114 }
115
116 }
117
118 /**
119 * Remove sidebars for different roles
120 *
121 * @return void
122 */
123 function _mw_adminimize_unregister_sidebars() {
124
125 // Get settings.
126 $adminimizeoptions = _mw_adminimize_get_option_value();
127
128 // Get settings.
129 _mw_adminimize_update_option( $adminimizeoptions );
130
131 // exclude super admin
132 if ( _mw_adminimize_exclude_super_admin() ) {
133 return NULL;
134 }
135
136 $user_roles = _mw_adminimize_get_all_user_roles();
137
138 foreach ( $user_roles as $role ) {
139 $disabled_widget_option_[ $role ] = _mw_adminimize_get_option_value(
140 'mw_adminimize_disabled_widget_option_' . $role . '_items'
141 );
142 }
143
144 foreach ( $user_roles as $role ) {
145 if ( ! isset( $disabled_widget_option_[ $role ][ '0' ] ) ) {
146 $disabled_widget_option_[ $role ][ '0' ] = '';
147 }
148 }
149
150 foreach ( $user_roles as $role ) {
151 $user = wp_get_current_user();
152
153 if ( is_array( $user->roles ) && in_array( $role, $user->roles ) ) {
154
155 if ( _mw_adminimize_current_user_has_role( $role ) && is_array( $disabled_widget_option_[ $role ] ) ) {
156 foreach ( $disabled_widget_option_[ $role ] as $sidebar ) {
157 unregister_sidebar( $sidebar );
158 }
159 }
160
161 } // end if user roles
162 }
163
164 }
165