PluginProbe
Adminimize / 1.11.2
Adminimize v1.11.2
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.2, at inc-setup/widget.php

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