| @@ -1,957 +1,1772 @@ | ||
| 1 | 1 | <?php |
| 2 | - | |
| 3 | -/* | |
| 4 | -Plugin Name: Adminimize | |
| 5 | -Plugin URI: http://bueltge.de/wordpress-admin-theme-adminimize/674/ | |
| 6 | -Description: Visually compresses the administratrive header so that more admin page content can be initially seen. Also moves 'Dashboard' onto the main administrative menu because having it sit in the tip-top black bar was ticking me off and many other changes in the edit-area. The plugin that lets you hide 'unnecessary' items from the WordPress administration menu, with or without admins. You can also hide post meta controls on the edit-area to simplify the interface. | |
| 7 | -Author: Frank Bueltge | |
| 8 | -Author URI: http://bueltge.de/ | |
| 9 | -Version: 1.3 | |
| 10 | -Last Update: 01.08.2008 08:35:48 | |
| 11 | -*/ | |
| 12 | - | |
| 13 | 2 | /** |
| 14 | - * The stylesheet and the initial idea is from Eric A. Meyer, http://meyerweb.com/ | |
| 15 | - * and i have written a plugin with many options on the basis | |
| 16 | - * of differently user-right and a user-friendly range in admin-area. | |
| 3 | + * Plugin Name: Adminimize | |
| 4 | + * Plugin URI: https://wordpress.org/plugins/adminimize/ | |
| 5 | + * Text Domain: adminimize | |
| 6 | + * Domain Path: /languages | |
| 7 | + * Description: Visually compresses the administrative meta-boxes so that more admin page content can be initially seen. The plugin that lets you hide 'unnecessary' items from the WordPress administration menu, for all roles of your install. You can also hide post meta controls on the edit-area to simplify the interface. It is possible to simplify the admin in different for all roles. | |
| 8 | + * Author: Frank Bültge | |
| 9 | + * Author URI: http://bueltge.de/ | |
| 10 | + * Version: 1.9.1 | |
| 11 | + * License: GPLv2+ | |
| 17 | 12 | * |
| 18 | - * The javascript for de/activate ist by Oliver Schl�be, http://www.schloebe.de | |
| 19 | - * - many thanks | |
| 13 | + * @package WordPress | |
| 14 | + * @author Frank Bültge <[email protected]> | |
| 15 | + * @license http://opensource.org/licenses/gpl-license.php GNU Public License | |
| 16 | + * @version 2016-01-25 | |
| 20 | 17 | */ |
| 21 | 18 | |
| 19 | +/** | |
| 20 | + * The stylesheet and the initial idea is from Eric A. Meyer http://meyerweb.com/ | |
| 21 | + * I have written a plugin with many options on the basis idea | |
| 22 | + * of differently user-right and a user-friendly range in admin-area via reduce areas. | |
| 23 | + * :( grmpf i have so much wishes and hints form users, there use the plugin and | |
| 24 | + * it is not easy to development this on my free time. | |
| 25 | + */ | |
| 22 | 26 | |
| 23 | -// Pre-2.6 compatibility | |
| 24 | -if ( !defined('WP_CONTENT_URL') ) | |
| 25 | - define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); | |
| 26 | -if ( !defined('WP_CONTENT_DIR') ) | |
| 27 | - define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); | |
| 27 | +if ( ! function_exists( 'add_action' ) ) { | |
| 28 | + echo "Hi there! I'm just a part of plugin, not much I can do when called directly."; | |
| 29 | + exit; | |
| 30 | +} | |
| 28 | 31 | |
| 32 | +// plugin definitions | |
| 33 | +define( 'FB_ADMINIMIZE_BASENAME', plugin_basename( __FILE__ ) ); | |
| 34 | +define( 'FB_ADMINIMIZE_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) ); | |
| 29 | 35 | |
| 30 | -function _mw_adminimize_textdomain() { | |
| 36 | +function _mw_adminimize_get_plugin_data( $value = 'Version' ) { | |
| 31 | 37 | |
| 32 | - if (function_exists('load_plugin_textdomain')) { | |
| 33 | - if ( !defined('WP_PLUGIN_DIR') ) { | |
| 34 | - load_plugin_textdomain('adminimize', str_replace( ABSPATH, '', dirname(__FILE__) ) . '/languages'); | |
| 35 | - } else { | |
| 36 | - load_plugin_textdomain('adminimize', false, dirname(plugin_basename(__FILE__)) . '/languages'); | |
| 37 | - } | |
| 38 | + if ( ! function_exists( 'get_plugin_data' ) ) { | |
| 39 | + require_once ABSPATH . '/wp-admin/includes/plugin.php'; | |
| 38 | 40 | } |
| 41 | + | |
| 42 | + $plugin_data = get_plugin_data( __FILE__ ); | |
| 43 | + $plugin_value = $plugin_data[ $value ]; | |
| 44 | + | |
| 45 | + return $plugin_value; | |
| 39 | 46 | } |
| 40 | 47 | |
| 48 | +/** | |
| 49 | + * Load language files. | |
| 50 | + */ | |
| 51 | +function _mw_adminimize_textdomain() { | |
| 41 | 52 | |
| 53 | + load_plugin_textdomain( | |
| 54 | + _mw_adminimize_get_plugin_data( 'TextDomain' ), | |
| 55 | + FALSE, | |
| 56 | + dirname( FB_ADMINIMIZE_BASENAME ) . _mw_adminimize_get_plugin_data( 'DomainPath' ) | |
| 57 | + ); | |
| 58 | +} | |
| 59 | + | |
| 42 | 60 | /** |
| 43 | - * some basic security with nonce | |
| 44 | - * @var $_mw_adminimize_nonce | |
| 61 | + * Exclude the Super Admin of Multisite. | |
| 62 | + * | |
| 63 | + * @return bool | |
| 45 | 64 | */ |
| 46 | -if ( !function_exists('wp_nonce_field') ) { | |
| 47 | - function _mw_adminimize_nonce_field($action = -1) { | |
| 48 | - return; | |
| 65 | +function _mw_adminimize_exclude_super_admin() { | |
| 66 | + | |
| 67 | + if ( ! function_exists( 'is_super_admin' ) ) { | |
| 68 | + return FALSE; | |
| 49 | 69 | } |
| 50 | - $_mw_adminimize_nonce = -1; | |
| 51 | -} else { | |
| 52 | - function _mw_adminimize_nonce_field($action = -1) { | |
| 53 | - return wp_nonce_field($action); | |
| 70 | + | |
| 71 | + if ( ! is_super_admin() ) { | |
| 72 | + return FALSE; | |
| 54 | 73 | } |
| 55 | - $_mw_adminimize_nonce = '_mw_adminimize_update_key'; | |
| 74 | + | |
| 75 | + if ( 1 === (int) _mw_adminimize_get_option_value( '_mw_adminimize_exclude_super_admin' ) ) { | |
| 76 | + return TRUE; | |
| 77 | + } | |
| 78 | + | |
| 79 | + return FALSE; | |
| 56 | 80 | } |
| 57 | 81 | |
| 82 | +/** | |
| 83 | + * Get the status, if is on the settings page. | |
| 84 | + * | |
| 85 | + * @return bool | |
| 86 | + */ | |
| 87 | +function _mw_adminimize_exclude_settings_page() { | |
| 58 | 88 | |
| 89 | + if ( ! function_exists( 'get_current_screen' ) ) { | |
| 90 | + return TRUE; | |
| 91 | + } | |
| 92 | + | |
| 93 | + // Get admin page | |
| 94 | + $screen = get_current_screen(); | |
| 95 | + | |
| 96 | + // Don't filter on settings page | |
| 97 | + if ( isset( $screen->id ) && FALSE !== strpos( $screen->id, 'adminimize' ) ) { | |
| 98 | + return TRUE; | |
| 99 | + } | |
| 100 | + | |
| 101 | + return FALSE; | |
| 102 | +} | |
| 103 | + | |
| 59 | 104 | /** |
| 60 | - * some basics for message | |
| 61 | - * @var $_mw_adminimize_nonce | |
| 105 | + * Get status, if the plugin active network wide. | |
| 106 | + * | |
| 107 | + * @return bool | |
| 62 | 108 | */ |
| 63 | -class _mw_adminimize_message_class { | |
| 64 | - function _mw_adminimize_message_class() { | |
| 65 | - $this->localizionName = 'adminimize'; | |
| 66 | - $this->errors = new WP_Error(); | |
| 67 | - $this->initialize_errors(); | |
| 109 | +function _mw_adminimize_is_active_on_multisite() { | |
| 110 | + | |
| 111 | + if ( ! function_exists( 'is_plugin_active_for_network' ) ) { | |
| 112 | + require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); | |
| 68 | 113 | } |
| 69 | - | |
| 70 | - /** | |
| 71 | - get_error - Returns an error message based on the passed code | |
| 72 | - Parameters - $code (the error code as a string) | |
| 73 | - Returns an error message | |
| 74 | - */ | |
| 75 | - function get_error($code = '') { | |
| 76 | - $errorMessage = $this->errors->get_error_message($code); | |
| 77 | - if ($errorMessage == null) { | |
| 78 | - return __("Unbekannter Fehler.", $this->localizionName); | |
| 114 | + | |
| 115 | + if ( is_multisite() && is_plugin_active_for_network( MW_ADMIN_FILE ) ) { | |
| 116 | + return TRUE; | |
| 117 | + } | |
| 118 | + | |
| 119 | + return FALSE; | |
| 120 | +} | |
| 121 | + | |
| 122 | +/** | |
| 123 | + * Returns an array with all user roles(names) in it. | |
| 124 | + * Inclusive self defined roles (for example with the 'Role Manager' plugin). | |
| 125 | + * | |
| 126 | + * @uses $wp_roles | |
| 127 | + * @return array $user_roles | |
| 128 | + */ | |
| 129 | +function _mw_adminimize_get_all_user_roles() { | |
| 130 | + | |
| 131 | + global $wp_roles; | |
| 132 | + | |
| 133 | + $user_roles = array(); | |
| 134 | + | |
| 135 | + if ( NULL !== $wp_roles->roles && is_array( $wp_roles->roles ) ) { | |
| 136 | + /** @var array $wp_roles */ | |
| 137 | + foreach ( $wp_roles->roles as $role => $data ) { | |
| 138 | + $user_roles[] = $role; | |
| 139 | + //$data contains caps, maybe for later use.. | |
| 79 | 140 | } |
| 80 | - return $errorMessage; | |
| 81 | 141 | } |
| 82 | - | |
| 83 | - // Initializes all the error messages | |
| 84 | - function initialize_errors() { | |
| 85 | - $this->errors->add('_mw_adminimize_update', __('Die Einstellungen wurden gespeichert.', 'adminimize')); | |
| 86 | - $this->errors->add('_mw_adminimize_access_denied', __('Du hast nicht ausreichend Rechte um diese Aktion durchzuführen!', 'adminimize')); | |
| 87 | - $this->errors->add('_mw_adminimize_deinstall', __('Die Einstellungen wurde gelöscht!', 'adminimize')); | |
| 88 | - $this->errors->add('_mw_adminimize_deinstall_yes', __('Checkbox setzen, wenn wirklich deinstalliert werden soll!', 'adminimize')); | |
| 89 | - $this->errors->add('_mw_adminimize_get_option', __('Menu und Submenu können nicht geladen werden!', 'adminimize')); | |
| 90 | - $this->errors->add('_mw_adminimize_set_theme', __('Backend-Theme wurde zugewiesen!', 'adminimize')); | |
| 142 | + | |
| 143 | + // Exclude the new bbPress roles. | |
| 144 | + $user_roles = array_diff( | |
| 145 | + $user_roles, | |
| 146 | + array( 'bbp_keymaster', 'bbp_moderator', 'bbp_participant', 'bbp_spectator', 'bbp_blocked' ) | |
| 147 | + ); | |
| 148 | + | |
| 149 | + return $user_roles; | |
| 150 | +} | |
| 151 | + | |
| 152 | +/** | |
| 153 | + * _mw_adminimize_get_all_user_roles_names() - Returns an array with all user roles_names in it. | |
| 154 | + * Inclusive self defined roles (for example with the 'Role Manager' plugin). | |
| 155 | + * | |
| 156 | + * @uses $wp_roles | |
| 157 | + * @return array $user_roles_names | |
| 158 | + */ | |
| 159 | +function _mw_adminimize_get_all_user_roles_names() { | |
| 160 | + | |
| 161 | + global $wp_roles; | |
| 162 | + | |
| 163 | + $user_roles_names = array(); | |
| 164 | + | |
| 165 | + /** @var array $wp_roles */ | |
| 166 | + foreach ( $wp_roles->role_names as $role_name => $data ) { | |
| 167 | + if ( function_exists( 'translate_user_role' ) ) { | |
| 168 | + $data = translate_user_role( $data ); | |
| 169 | + } else { | |
| 170 | + $data = esc_attr_x( $data, 'Translate each user role.' ); | |
| 171 | + } | |
| 172 | + | |
| 173 | + $user_roles_names[] = $data; | |
| 91 | 174 | } |
| 175 | + | |
| 176 | + // exclude the new bbPress roles | |
| 177 | + $user_roles_names = array_diff( | |
| 178 | + $user_roles_names, | |
| 179 | + array( | |
| 180 | + esc_attr__( 'Keymaster', 'bbpress' ), | |
| 181 | + esc_attr__( 'Moderator', 'bbpress' ), | |
| 182 | + esc_attr__( 'Participant', 'bbpress' ), | |
| 183 | + esc_attr__( 'Spectator', 'bbpress' ), | |
| 184 | + esc_attr__( 'Blocked', 'bbpress' ), | |
| 185 | + ) | |
| 186 | + ); | |
| 187 | + | |
| 188 | + return $user_roles_names; | |
| 92 | 189 | } |
| 93 | 190 | |
| 191 | +/** | |
| 192 | + * return post type | |
| 193 | + */ | |
| 194 | +function _mw_get_current_post_type() { | |
| 94 | 195 | |
| 196 | + global $post, $typenow, $current_screen; | |
| 197 | + | |
| 198 | + //we have a post so we can just get the post type from that | |
| 199 | + if ( $post && $post->post_type ) { | |
| 200 | + return $post->post_type; | |
| 201 | + } //check the global $typenow - set in admin.php | |
| 202 | + else if ( $typenow ) { | |
| 203 | + return $typenow; | |
| 204 | + } // check the global $current_screen object - set in sceen.php | |
| 205 | + else if ( $current_screen && $current_screen->post_type ) { | |
| 206 | + return $current_screen->post_type; | |
| 207 | + } // lastly check the post_type querystring | |
| 208 | + else if ( isset( $_REQUEST[ 'post_type' ] ) ) { | |
| 209 | + return sanitize_key( $_REQUEST[ 'post_type' ] ); | |
| 210 | + } | |
| 211 | + | |
| 212 | + // we do not know the post type! | |
| 213 | + return NULL; | |
| 214 | +} | |
| 215 | + | |
| 95 | 216 | /** |
| 96 | - * check user-option and add new style | |
| 97 | - * @uses $pagenow | |
| 217 | + * Check user-option and add new style. | |
| 98 | 218 | */ |
| 99 | -function _mw_adminimize_init() { | |
| 100 | - global $pagenow, $menu, $submenu; | |
| 219 | +function _mw_adminimize_admin_init() { | |
| 101 | 220 | |
| 102 | - $disabled_metaboxes_post = get_option('mw_adminimize_disabled_metaboxes_post'); | |
| 103 | - $disabled_metaboxes_page = get_option('mw_adminimize_disabled_metaboxes_page'); | |
| 104 | - $disabled_metaboxes_post_adm = get_option('mw_adminimize_disabled_metaboxes_post_adm'); | |
| 105 | - $disabled_metaboxes_page_adm = get_option('mw_adminimize_disabled_metaboxes_page_adm'); | |
| 221 | + global $pagenow, $post_type, $menu, $submenu; | |
| 106 | 222 | |
| 107 | - $_mw_admin_color = get_user_option('admin_color'); | |
| 223 | + if ( isset( $_GET[ 'post' ] ) && ! is_array( $_GET[ 'post' ] ) ) { | |
| 224 | + $post_id = (int) esc_attr( $_GET[ 'post' ] ); | |
| 225 | + } elseif ( isset( $_POST[ 'post_ID' ] ) ) { | |
| 226 | + $post_id = (int) esc_attr( $_POST[ 'post_ID' ] ); | |
| 227 | + } else { | |
| 228 | + $post_id = 0; | |
| 229 | + } | |
| 108 | 230 | |
| 109 | - if ( ($_mw_admin_color == 'mw_fresh') || | |
| 110 | - ($_mw_admin_color == 'mw_classic') || | |
| 111 | - ($_mw_admin_color == 'mw_colorblind') || | |
| 112 | - ($_mw_admin_color == 'mw_grey') || | |
| 113 | - ($_mw_admin_color == 'mw_fresh_ozh_am') || | |
| 114 | - ($_mw_admin_color == 'mw_classic_ozh_am') || | |
| 115 | - ($_mw_admin_color == 'mw_fresh_lm') || | |
| 116 | - ($_mw_admin_color == 'mw_classic_lm') || | |
| 117 | - ($_mw_admin_color == 'mw_wp23') | |
| 118 | - ) { | |
| 119 | - if ( ($_mw_admin_color == 'mw_fresh') || | |
| 120 | - ($_mw_admin_color == 'mw_classic') || | |
| 121 | - ($_mw_admin_color == 'mw_colorblind') || | |
| 122 | - ($_mw_admin_color == 'mw_grey') || | |
| 123 | - ($_mw_admin_color == 'mw_wp23') | |
| 124 | - ) { | |
| 125 | - add_action('admin_head', '_mw_adminimize_adminmenu', 1); | |
| 231 | + $current_post_type = $post_type; | |
| 232 | + if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) { | |
| 233 | + $current_post_type = get_post_type( $post_id ); | |
| 234 | + } | |
| 235 | + if ( ! isset( $current_post_type ) || empty( $current_post_type ) ) { | |
| 236 | + $current_post_type = _mw_get_current_post_type(); | |
| 237 | + } | |
| 238 | + if ( ! $current_post_type ) // set hard to post | |
| 239 | + { | |
| 240 | + $current_post_type = 'post'; | |
| 241 | + } | |
| 242 | + | |
| 243 | + // Get all user rolles. | |
| 244 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 245 | + | |
| 246 | + // Get settings. | |
| 247 | + $adminimizeoptions = _mw_adminimize_get_option_value(); | |
| 248 | + | |
| 249 | + // pages for post type Post | |
| 250 | + $def_post_pages = array( 'edit.php', 'post.php', 'post-new.php' ); | |
| 251 | + $def_post_types = array( 'post' ); | |
| 252 | + $disabled_metaboxes_post_all = array(); | |
| 253 | + // pages for post type Page | |
| 254 | + $def_page_pages = array_merge( $def_post_pages, array( 'page-new.php', 'page.php' ) ); | |
| 255 | + $def_page_types = array( 'page' ); | |
| 256 | + $disabled_metaboxes_page_all = array(); | |
| 257 | + // pages for custom post types | |
| 258 | + $def_custom_pages = $def_post_pages; | |
| 259 | + $args = array( 'public' => TRUE, '_builtin' => FALSE ); | |
| 260 | + $def_custom_types = get_post_types( $args ); | |
| 261 | + // pages for link pages | |
| 262 | + $link_pages = array( 'link.php', 'link-manager.php', 'link-add.php', 'edit-link-categories.php' ); | |
| 263 | + // pages for nav menu | |
| 264 | + $nav_menu_pages = array( 'nav-menus.php' ); | |
| 265 | + // widget pages | |
| 266 | + $widget_pages = array( 'widgets.php' ); | |
| 267 | + | |
| 268 | + foreach ( $user_roles as $role ) { | |
| 269 | + $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 270 | + 'mw_adminimize_disabled_admin_bar_' . $role . '_items' | |
| 271 | + ); | |
| 272 | + $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 273 | + 'mw_adminimize_disabled_global_option_' . $role . '_items' | |
| 274 | + ); | |
| 275 | + $disabled_metaboxes_post_[ $role ] = _mw_adminimize_get_option_value( | |
| 276 | + 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' | |
| 277 | + ); | |
| 278 | + $disabled_metaboxes_page_[ $role ] = _mw_adminimize_get_option_value( | |
| 279 | + 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' | |
| 280 | + ); | |
| 281 | + foreach ( $def_custom_types as $post_type ) { | |
| 282 | + $disabled_metaboxes_[ $post_type . '_' . $role ] = _mw_adminimize_get_option_value( | |
| 283 | + 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items' | |
| 284 | + ); | |
| 126 | 285 | } |
| 286 | + $disabled_link_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 287 | + 'mw_adminimize_disabled_link_option_' . $role . '_items' | |
| 288 | + ); | |
| 289 | + $disabled_nav_menu_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 290 | + 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items' | |
| 291 | + ); | |
| 292 | + $disabled_widget_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 293 | + 'mw_adminimize_disabled_widget_option_' . $role . '_items' | |
| 294 | + ); | |
| 295 | + $disabled_metaboxes_post_all[] = $disabled_metaboxes_post_[ $role ]; | |
| 296 | + $disabled_metaboxes_page_all[] = $disabled_metaboxes_page_[ $role ]; | |
| 297 | + } | |
| 127 | 298 | |
| 128 | - if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) ) { | |
| 129 | - add_action('admin_head', '_mw_adminimize_remove_box', 99); | |
| 130 | - add_action('admin_head', '_mw_adminimize_remove_tb_window'); | |
| 131 | - | |
| 132 | - //add_filter('image_downsize', '_mw_adminimize_image_downsize', 1, 3); | |
| 133 | - | |
| 134 | - if ( !in_array('#categorydivsb', $disabled_metaboxes_post) || !in_array('#categorydivsb', $disabled_metaboxes_post_adm) ) | |
| 135 | - add_action('submitpost_box', '_mw_adminimize_sidecat_list_category_box'); | |
| 136 | - if ( !in_array('#tagsdivsb', $disabled_metaboxes_post) || !in_array('#tagsdivsb', $disabled_metaboxes_post_adm) ) | |
| 137 | - add_action('submitpost_box', '_mw_adminimize_sidecat_list_tag_box'); | |
| 138 | - if ( in_array('media_buttons', $disabled_metaboxes_post) || in_array('media_buttons', $disabled_metaboxes_post_adm) ) | |
| 139 | - remove_action('media_buttons', 'media_buttons'); | |
| 299 | + $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; | |
| 300 | + | |
| 301 | + // global options | |
| 302 | + // exclude super admin | |
| 303 | + if ( ! _mw_adminimize_exclude_super_admin() ) { | |
| 304 | + $_mw_adminimize_footer = (int) _mw_adminimize_get_option_value( '_mw_adminimize_footer' ); | |
| 305 | + switch ( $_mw_adminimize_footer ) { | |
| 306 | + case 1: | |
| 307 | + wp_enqueue_script( | |
| 308 | + '_mw_adminimize_remove_footer', | |
| 309 | + WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_footer' . $suffix . '.js', | |
| 310 | + array( 'jquery' ) | |
| 311 | + ); | |
| 312 | + break; | |
| 140 | 313 | } |
| 141 | 314 | |
| 142 | - if ( ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) { | |
| 143 | - add_action('admin_head', '_mw_adminimize_remove_tb_window'); | |
| 144 | - | |
| 145 | - //add_filter('image_downsize', '_mw_adminimize_image_downsize', 1, 3); | |
| 315 | + $_mw_adminimize_header = (int) _mw_adminimize_get_option_value( '_mw_adminimize_header' ); | |
| 316 | + switch ( $_mw_adminimize_header ) { | |
| 317 | + case 1: | |
| 318 | + wp_enqueue_script( | |
| 319 | + '_mw_adminimize_remove_header', | |
| 320 | + WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_header' . $suffix . '.js', | |
| 321 | + array( 'jquery' ) | |
| 322 | + ); | |
| 323 | + break; | |
| 324 | + } | |
| 146 | 325 | |
| 147 | - if ( in_array('media_buttons', $disabled_metaboxes_page) || in_array('media_buttons', $disabled_metaboxes_page_adm) ) | |
| 148 | - remove_action('media_buttons', 'media_buttons'); | |
| 326 | + //post-page options | |
| 327 | + if ( in_array( $pagenow, $def_post_pages, FALSE ) ) { | |
| 328 | + | |
| 329 | + $_mw_adminimize_tb_window = (int) _mw_adminimize_get_option_value( '_mw_adminimize_tb_window' ); | |
| 330 | + switch ( $_mw_adminimize_tb_window ) { | |
| 331 | + case 1: | |
| 332 | + wp_deregister_script( 'media-upload' ); | |
| 333 | + wp_enqueue_script( | |
| 334 | + 'media-upload', | |
| 335 | + WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/tb_window' . $suffix . '.js', | |
| 336 | + array( 'thickbox' ) | |
| 337 | + ); | |
| 338 | + break; | |
| 339 | + } | |
| 340 | + $_mw_adminimize_timestamp = (int) _mw_adminimize_get_option_value( '_mw_adminimize_timestamp' ); | |
| 341 | + switch ( $_mw_adminimize_timestamp ) { | |
| 342 | + case 1: | |
| 343 | + wp_enqueue_script( | |
| 344 | + '_mw_adminimize_timestamp', | |
| 345 | + WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/timestamp' . $suffix . '.js', | |
| 346 | + array( 'jquery' ) | |
| 347 | + ); | |
| 348 | + break; | |
| 349 | + } | |
| 350 | + | |
| 351 | + //category options | |
| 352 | + $_mw_adminimize_cat_full = (int) _mw_adminimize_get_option_value( '_mw_adminimize_cat_full' ); | |
| 353 | + switch ( $_mw_adminimize_cat_full ) { | |
| 354 | + case 1: | |
| 355 | + wp_enqueue_style( | |
| 356 | + 'adminimize-full-category', | |
| 357 | + WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/css/mw_cat_full' . $suffix . '.css' | |
| 358 | + ); | |
| 359 | + break; | |
| 360 | + } | |
| 361 | + | |
| 362 | + // set default editor tinymce | |
| 363 | + if ( _mw_adminimize_recursive_in_array( | |
| 364 | + '#editor-toolbar #edButtonHTML, #quicktags, #content-html', | |
| 365 | + $disabled_metaboxes_page_all | |
| 366 | + ) | |
| 367 | + || _mw_adminimize_recursive_in_array( | |
| 368 | + '#editor-toolbar #edButtonHTML, #quicktags, #content-html', | |
| 369 | + $disabled_metaboxes_post_all | |
| 370 | + ) | |
| 371 | + ) { | |
| 372 | + add_filter( 'wp_default_editor', create_function( '', 'return "tinymce";' ) ); | |
| 373 | + } | |
| 374 | + | |
| 375 | + // remove media bottons | |
| 376 | + if ( _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_page_all ) | |
| 377 | + || _mw_adminimize_recursive_in_array( 'media_buttons', $disabled_metaboxes_post_all ) | |
| 378 | + ) { | |
| 379 | + remove_action( 'media_buttons', 'media_buttons' ); | |
| 380 | + } | |
| 149 | 381 | } |
| 150 | 382 | |
| 151 | 383 | } |
| 152 | 384 | |
| 153 | - if ( ('post-new.php' == $pagenow) || ('page-new.php' == $pagenow) || ('page.php' == $pagenow) || ('post.php' == $pagenow) ) { | |
| 154 | - | |
| 155 | - $_mw_adminimize_writescroll = get_option('_mw_adminimize_writescroll'); | |
| 156 | - switch ($_mw_adminimize_writescroll) { | |
| 157 | - case 1: | |
| 158 | - add_action('admin_head', '_mw_adminimize_writescroll'); | |
| 159 | - break; | |
| 160 | - } | |
| 161 | - $_mw_adminimize_tb_window = get_option('_mw_adminimize_tb_window'); | |
| 162 | - switch ($_mw_adminimize_tb_window) { | |
| 163 | - case 1: | |
| 164 | - add_action('admin_head', '_mw_adminimize_tb_window'); | |
| 165 | - break; | |
| 166 | - } | |
| 167 | - // set user option in edit-area | |
| 168 | - add_action('admin_head', '_mw_adminimize_set_user_option_edit'); | |
| 169 | - } | |
| 170 | - | |
| 171 | 385 | // set menu option |
| 172 | - add_action('admin_head', '_mw_adminimize_set_menu_option', 1); | |
| 386 | + add_action( 'admin_head', '_mw_adminimize_set_menu_option', 1 ); | |
| 387 | + // global_options | |
| 388 | + add_action( 'admin_head', '_mw_adminimize_set_global_option', 1 ); | |
| 173 | 389 | |
| 174 | - // set metabox option | |
| 175 | - add_action('admin_head', '_mw_adminimize_set_metabox_option', 1); | |
| 390 | + // set metabox post option | |
| 391 | + if ( in_array( $pagenow, $def_post_pages, FALSE ) && in_array( $current_post_type, $def_post_types, FALSE ) ) { | |
| 392 | + add_action( 'admin_head', '_mw_adminimize_set_metabox_post_option', 1 ); | |
| 393 | + } | |
| 394 | + // set metabox page option | |
| 395 | + if ( in_array( $pagenow, $def_page_pages, FALSE ) && in_array( $current_post_type, $def_page_types, FALSE ) ) { | |
| 396 | + add_action( 'admin_head', '_mw_adminimize_set_metabox_page_option', 1 ); | |
| 397 | + } | |
| 398 | + // set custom post type options | |
| 399 | + if ( function_exists( 'get_post_types' ) && in_array( $pagenow, $def_custom_pages, FALSE ) | |
| 400 | + && in_array( | |
| 401 | + $current_post_type, $def_custom_types, FALSE | |
| 402 | + ) | |
| 403 | + ) { | |
| 404 | + add_action( 'admin_head', '_mw_adminimize_set_metabox_cp_option', 1 ); | |
| 405 | + } | |
| 406 | + // set link option | |
| 407 | + if ( in_array( $pagenow, $link_pages, FALSE ) ) { | |
| 408 | + add_action( 'admin_head', '_mw_adminimize_set_link_option', 1 ); | |
| 409 | + } | |
| 410 | + // set wp nav menu options | |
| 411 | + if ( in_array( $pagenow, $nav_menu_pages, FALSE ) ) { | |
| 412 | + add_action( 'admin_head', '_mw_adminimize_set_nav_menu_option', 1 ); | |
| 413 | + } | |
| 414 | + // set widget options | |
| 415 | + if ( in_array( $pagenow, $widget_pages, FALSE ) ) { | |
| 416 | + add_action( 'admin_head', '_mw_adminimize_set_widget_option', 1 ); | |
| 417 | + } | |
| 176 | 418 | |
| 177 | - add_action('in_admin_footer', '_mw_adminimize_admin_footer'); | |
| 178 | - | |
| 179 | - update_option('mw_adminimize_default_menu', $menu); | |
| 180 | - update_option('mw_adminimize_default_submenu', $submenu); | |
| 419 | + $adminimizeoptions[ 'mw_adminimize_default_menu' ] = $menu; | |
| 420 | + $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $submenu; | |
| 181 | 421 | } |
| 182 | 422 | |
| 183 | -add_action('init', '_mw_adminimize_textdomain'); | |
| 184 | -add_action('admin_menu', '_mw_adminimize_add_settings_page'); | |
| 185 | -add_action('admin_menu', '_mw_adminimize_remove_dashboard'); | |
| 186 | -add_action('admin_init', '_mw_adminimize_init', 1); | |
| 187 | -add_action('admin_init', '_mw_adminimize_admin_styles', 1); | |
| 423 | +/** | |
| 424 | + * Init always with WP | |
| 425 | + */ | |
| 426 | +function _mw_adminimize_init() { | |
| 188 | 427 | |
| 189 | -register_activation_hook(__FILE__, '_mw_adminimize_install'); | |
| 190 | -//register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall'); | |
| 428 | + // change Admin Bar and user Info | |
| 429 | + if ( version_compare( $GLOBALS[ 'wp_version' ], '3.3alpha', '>=' ) ) { | |
| 430 | + _mw_adminimize_set_menu_option_33(); | |
| 431 | + } else { | |
| 432 | + add_action( 'admin_head', '_mw_adminimize_set_user_info' ); | |
| 433 | + add_action( 'wp_head', '_mw_adminimize_set_user_info' ); | |
| 434 | + } | |
| 191 | 435 | |
| 436 | +} | |
| 192 | 437 | |
| 193 | -/** | |
| 194 | - * remove tb_window of media-uplader | |
| 195 | - * @echo script | |
| 196 | - */ | |
| 197 | -function _mw_adminimize_remove_tb_window() { | |
| 198 | - | |
| 199 | - $_mw_adminimize_remove_tb_window = "\n"; | |
| 200 | - $_mw_adminimize_remove_tb_window .= '<script type="text/javascript">' . "\n"; | |
| 201 | - $_mw_adminimize_remove_tb_window .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#TB_window\').remove(); });' . "\n"; | |
| 202 | - $_mw_adminimize_remove_tb_window .= '</script>' . "\n"; | |
| 203 | - | |
| 204 | - print($_mw_adminimize_remove_tb_window); | |
| 438 | +// on admin init | |
| 439 | +define( 'MW_ADMIN_FILE', plugin_basename( __FILE__ ) ); | |
| 440 | +if ( is_admin() ) { | |
| 441 | + add_action( 'admin_init', '_mw_adminimize_textdomain' ); | |
| 442 | + add_action( 'admin_init', '_mw_adminimize_admin_init', 2 ); | |
| 443 | + add_action( 'admin_menu', '_mw_adminimize_add_settings_page' ); | |
| 444 | + add_action( 'admin_menu', '_mw_adminimize_remove_dashboard' ); | |
| 205 | 445 | } |
| 446 | +add_action( 'init', '_mw_adminimize_init', 2 ); | |
| 206 | 447 | |
| 448 | +register_activation_hook( __FILE__, '_mw_adminimize_install' ); | |
| 449 | +register_uninstall_hook( __FILE__, '_mw_adminimize_deinstall' ); | |
| 450 | +//register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall' ); | |
| 207 | 451 | |
| 208 | 452 | /** |
| 209 | - * new tb_window of media-uplader | |
| 453 | + * Remove the dashboard | |
| 210 | 454 | */ |
| 211 | -function _mw_adminimize_tb_window() { | |
| 212 | - | |
| 213 | - ?> | |
| 214 | - <script type="text/javascript"> | |
| 215 | - // thickbox settings | |
| 216 | - jQuery(function($) { | |
| 217 | - tb_position = function() { | |
| 218 | - var tbWindow = $('#TB_window'); | |
| 219 | - var width = $(window).width(); | |
| 220 | - var H = $(window).height(); | |
| 221 | - var W = ( 1720 < width ) ? 1720 : width; | |
| 222 | - | |
| 223 | - if ( tbWindow.size() ) { | |
| 224 | - tbWindow.width( W - 50 ).height( H - 45 ); | |
| 225 | - $('#TB_iframeContent').width( W - 50 ).height( H - 75 ); | |
| 226 | - tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'}); | |
| 227 | - if ( ! ( $.browser.msie && $.browser.version.substr(0,1) < 7 ) ) | |
| 228 | - tbWindow.css({'top':'20px','margin-top':'0'}); | |
| 229 | - $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'}); | |
| 230 | - }; | |
| 231 | - | |
| 232 | - return $('a.thickbox').each( function() { | |
| 233 | - var href = $(this).attr('href'); | |
| 234 | - if ( ! href ) return; | |
| 235 | - href = href.replace(/&width=[0-9]+/g, ''); | |
| 236 | - href = href.replace(/&height=[0-9]+/g, ''); | |
| 237 | - $(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 ) ); | |
| 238 | - }); | |
| 239 | - }; | |
| 240 | - | |
| 241 | - $(window).resize( function() { tb_position() } ); | |
| 242 | - }); | |
| 243 | - </script> | |
| 244 | - <?php | |
| 245 | -} | |
| 455 | +function _mw_adminimize_remove_dashboard() { | |
| 246 | 456 | |
| 457 | + // exclude super admin | |
| 458 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 459 | + return; | |
| 460 | + } | |
| 247 | 461 | |
| 248 | -/** | |
| 249 | - * Uses WordPress filter for image_downsize, kill wp-image-dimension | |
| 250 | - * code by Andrew Rickmann | |
| 251 | - * http://www.wp-fun.co.uk/ | |
| 252 | - * @param $value, $id, $size | |
| 253 | - */ | |
| 254 | -function _mw_adminimize_image_downsize($value = false,$id = 0, $size = "medium") { | |
| 462 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 463 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 464 | + return; | |
| 465 | + } | |
| 255 | 466 | |
| 256 | - if ( !wp_attachment_is_image($id) ) | |
| 257 | - return false; | |
| 258 | - | |
| 259 | - $img_url = wp_get_attachment_url($id); | |
| 260 | - // Mimic functionality in image_downsize function in wp-includes/media.php | |
| 261 | - if ( $intermediate = image_get_intermediate_size($id, $size) ) { | |
| 262 | - $img_url = str_replace(basename($img_url), $intermediate['file'], $img_url); | |
| 467 | + global $menu, $user_ID; | |
| 468 | + | |
| 469 | + $disabled_menu_ = ''; | |
| 470 | + $disabled_submenu_ = ''; | |
| 471 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 472 | + | |
| 473 | + foreach ( $user_roles as $role ) { | |
| 474 | + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value( | |
| 475 | + 'mw_adminimize_disabled_menu_' . $role . '_items' | |
| 476 | + ); | |
| 477 | + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value( | |
| 478 | + 'mw_adminimize_disabled_submenu_' . $role . '_items' | |
| 479 | + ); | |
| 263 | 480 | } |
| 264 | - elseif ( $size == 'thumbnail' ) { | |
| 265 | - // fall back to the old thumbnail | |
| 266 | - if ( $thumb_file = wp_get_attachment_thumb_file() && $info = getimagesize($thumb_file) ) { | |
| 267 | - $img_url = str_replace(basename($img_url), basename($thumb_file), $img_url); | |
| 481 | + | |
| 482 | + $disabled_menu_all = array(); | |
| 483 | + $disabled_submenu_all = array(); | |
| 484 | + | |
| 485 | + foreach ( $user_roles as $role ) { | |
| 486 | + $disabled_menu_all[] = $disabled_menu_[ $role ]; | |
| 487 | + $disabled_submenu_all[] = $disabled_submenu_[ $role ]; | |
| 488 | + } | |
| 489 | + | |
| 490 | + // remove dashboard | |
| 491 | + if ( $disabled_menu_all !== '' || $disabled_submenu_all !== '' ) { | |
| 492 | + | |
| 493 | + $redirect = FALSE; | |
| 494 | + foreach ( $user_roles as $role ) { | |
| 495 | + if ( _mw_adminimize_current_user_has_role( $role ) ) { | |
| 496 | + if ( _mw_adminimize_recursive_in_array( 'index.php', $disabled_menu_[ $role ] ) | |
| 497 | + || _mw_adminimize_recursive_in_array( 'index.php', $disabled_submenu_[ $role ] ) | |
| 498 | + ) { | |
| 499 | + $redirect = TRUE; | |
| 500 | + } | |
| 501 | + } | |
| 268 | 502 | } |
| 269 | - } | |
| 270 | - if ( $img_url) | |
| 271 | - return array($img_url, 0, 0); | |
| 272 | - return false; | |
| 273 | -} | |
| 274 | 503 | |
| 504 | + // redirect option, if Dashboard is inactive | |
| 505 | + if ( $redirect ) { | |
| 506 | + $_mw_adminimize_db_redirect = (int) _mw_adminimize_get_option_value( | |
| 507 | + '_mw_adminimize_db_redirect' | |
| 508 | + ); | |
| 509 | + $_mw_adminimize_db_redirect_admin_url = get_option( 'siteurl' ) . '/wp-admin/'; | |
| 510 | + switch ( $_mw_adminimize_db_redirect ) { | |
| 511 | + case 0: | |
| 512 | + $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'profile.php'; | |
| 513 | + break; | |
| 514 | + case 1: | |
| 515 | + $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'edit.php'; | |
| 516 | + break; | |
| 517 | + case 2: | |
| 518 | + $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'edit.php?post_type=page'; | |
| 519 | + break; | |
| 520 | + case 3: | |
| 521 | + $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'post-new.php'; | |
| 522 | + break; | |
| 523 | + case 4: | |
| 524 | + $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'page-new.php'; | |
| 525 | + break; | |
| 526 | + case 5: | |
| 527 | + $_mw_adminimize_db_redirect = $_mw_adminimize_db_redirect_admin_url . 'edit-comments.php'; | |
| 528 | + break; | |
| 529 | + case 6: | |
| 530 | + $_mw_adminimize_db_redirect = _mw_adminimize_get_option_value( '_mw_adminimize_db_redirect_txt' ); | |
| 531 | + break; | |
| 532 | + } | |
| 275 | 533 | |
| 276 | -/** | |
| 277 | - * Automatically scroll Write pages to a good position | |
| 278 | - * code by Dougal Campbell | |
| 279 | - * http://dougal.gunters.org/blog/2008/06/03/writescroll | |
| 280 | - */ | |
| 281 | -function _mw_adminimize_writescroll() { | |
| 282 | - | |
| 283 | - ?> | |
| 284 | - <script type="text/javascript"> | |
| 285 | - jQuery(document).ready(function() { | |
| 286 | - // element to scroll | |
| 287 | - var h = jQuery('html'); | |
| 288 | - // position to scroll to | |
| 289 | - var wraptop = jQuery('div#poststuff').offset().top; | |
| 290 | - var speed = 250; // ms | |
| 291 | - h.animate({scrollTop: wraptop}, speed); | |
| 292 | - }); | |
| 293 | - </script> | |
| 294 | - <?php | |
| 295 | -} | |
| 534 | + $the_user = new WP_User( $user_ID ); | |
| 535 | + reset( $menu ); | |
| 536 | + $page = key( $menu ); | |
| 296 | 537 | |
| 538 | + $dashboard_core_string = esc_attr__( 'Dashboard' ); | |
| 539 | + $dashboard = array( $menu[ $page ][ 0 ], $menu[ $page ][ 1 ] ); | |
| 540 | + while ( | |
| 541 | + ! in_array( $dashboard_core_string, $dashboard, FALSE ) && next( $menu ) | |
| 542 | + ) { | |
| 543 | + $page = key( $menu ); | |
| 544 | + } | |
| 297 | 545 | |
| 298 | -/** | |
| 299 | - * list category-box in sidebar | |
| 300 | - * @uses $post_ID | |
| 301 | - */ | |
| 302 | -function _mw_adminimize_sidecat_list_category_box() { | |
| 303 | - global $post_ID; | |
| 304 | - ?> | |
| 546 | + if ( in_array( $dashboard_core_string, $dashboard, FALSE ) ) { | |
| 547 | + unset( $menu[ $page ] ); | |
| 548 | + } | |
| 549 | + reset( $menu ); | |
| 550 | + $page = key( $menu ); | |
| 305 | 551 | |
| 306 | - <div class="inside" id="categorydivsb"> | |
| 307 | - <p><strong><?php _e("Categories"); ?></strong></p> | |
| 308 | - <ul id="categorychecklist" class="list:category categorychecklist form-no-clear"> | |
| 309 | - <?php wp_category_checklist($post_ID); ?> | |
| 310 | - </ul> | |
| 311 | - <?php if ( !defined('WP_PLUGIN_DIR') ) { // for wp <2.6 ?> | |
| 312 | - <div id="category-adder" class="wp-hidden-children"> | |
| 313 | - <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4> | |
| 314 | - <p id="category-add" class="wp-hidden-child"> | |
| 315 | - <input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" /> | |
| 316 | - <?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?> | |
| 317 | - <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" /> | |
| 318 | - <?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?> | |
| 319 | - <span id="category-ajax-response"></span> | |
| 320 | - </p> | |
| 321 | - </div> | |
| 322 | - <?php } else { ?> | |
| 323 | - <div id="category-adder" class="wp-hidden-children"> | |
| 324 | - <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4> | |
| 325 | - <p id="category-add" class="wp-hidden-child"> | |
| 326 | - <label class="hidden" for="newcat"><?php _e( 'Add New Category' ); ?></label><input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" aria-required="true"/> | |
| 327 | - <br /> | |
| 328 | - <label class="hidden" for="newcat_parent"><?php _e('Parent category'); ?>:</label><?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?> | |
| 329 | - <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" /> | |
| 330 | - <?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?> | |
| 331 | - <span id="category-ajax-response"></span> | |
| 332 | - </p> | |
| 333 | - </div> | |
| 334 | - <?php } ?> | |
| 335 | - </div> | |
| 336 | -<?php | |
| 552 | + while ( ! $the_user->has_cap( $menu[ $page ][ 1 ] ) && next( $menu ) ) { | |
| 553 | + $page = key( $menu ); | |
| 554 | + } | |
| 555 | + | |
| 556 | + if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER[ 'REQUEST_URI' ] ) ) { | |
| 557 | + wp_redirect( $_mw_adminimize_db_redirect ); | |
| 558 | + } | |
| 559 | + } | |
| 560 | + | |
| 561 | + } | |
| 337 | 562 | } |
| 338 | 563 | |
| 339 | - | |
| 340 | 564 | /** |
| 341 | - * list tag-box in sidebar | |
| 342 | - * @uses $post_ID | |
| 565 | + * Set menu options from database. | |
| 343 | 566 | */ |
| 344 | -function _mw_adminimize_sidecat_list_tag_box() { | |
| 345 | - global $post_ID; | |
| 567 | +function _mw_adminimize_set_user_info() { | |
| 346 | 568 | |
| 347 | - if ( !class_exists('SimpleTagsAdmin') ) { | |
| 348 | - ?> | |
| 349 | - <div class="inside" id="tagsdivsb"> | |
| 350 | - <p><strong><?php _e('Tags'); ?></strong></p> | |
| 351 | - <p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit($post_ID); ?>" /></p> | |
| 352 | - <div id="tagchecklist"></div> | |
| 353 | - </div> | |
| 354 | - <?php | |
| 569 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 570 | + return; | |
| 355 | 571 | } |
| 356 | -} | |
| 357 | 572 | |
| 573 | + // exclude super admin | |
| 574 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 575 | + return; | |
| 576 | + } | |
| 358 | 577 | |
| 359 | -/** | |
| 360 | - * remove default categorydiv | |
| 361 | - * @echo script | |
| 362 | - */ | |
| 363 | -function _mw_adminimize_remove_box() { | |
| 364 | - | |
| 365 | - if ( function_exists('remove_meta_box') ) { | |
| 366 | - if ( !class_exists('SimpleTagsAdmin') ) | |
| 367 | - remove_meta_box('tagsdiv', 'post', 'normal'); | |
| 368 | - remove_meta_box('categorydiv', 'post', 'normal'); | |
| 369 | - } else { | |
| 370 | - $_mw_adminimize_sidecat_admin_head = "\n" . '<script type="text/javascript">' . "\n"; | |
| 371 | - $_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#categorydiv\').remove(); });' . "\n"; | |
| 372 | - $_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#tagsdiv\').remove(); });' . "\n"; | |
| 373 | - $_mw_adminimize_sidecat_admin_head .= '</script>' . "\n"; | |
| 578 | + global $user_identity; | |
| 374 | 579 | |
| 375 | - print($_mw_adminimize_sidecat_admin_head); | |
| 580 | + $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; | |
| 581 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 582 | + | |
| 583 | + foreach ( $user_roles as $role ) { | |
| 584 | + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value( | |
| 585 | + 'mw_adminimize_disabled_menu_' . $role . '_items' | |
| 586 | + ); | |
| 587 | + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value( | |
| 588 | + 'mw_adminimize_disabled_submenu_' . $role . '_items' | |
| 589 | + ); | |
| 376 | 590 | } |
| 377 | -} | |
| 378 | 591 | |
| 592 | + $_mw_adminimize_admin_head = "\n"; | |
| 593 | + $_mw_adminimize_user_info = (int) _mw_adminimize_get_option_value( '_mw_adminimize_user_info' ); | |
| 594 | + $_mw_adminimize_ui_redirect = (int) _mw_adminimize_get_option_value( '_mw_adminimize_ui_redirect' ); | |
| 379 | 595 | |
| 380 | -/** | |
| 381 | - * reorder admin-menu | |
| 382 | - * @uses $menu | |
| 383 | - * @param $file | |
| 384 | - */ | |
| 385 | -function _mw_adminimize_adminmenu($file) { | |
| 386 | - global $menu; | |
| 387 | - | |
| 388 | - $menu[7] = $menu[5]; | |
| 389 | - $menu[5] = $menu[0]; | |
| 390 | - $menu[32] = $menu[40]; | |
| 391 | - $menu[40] = $menu[35]; | |
| 392 | - $menu[35] = $menu[30]; | |
| 393 | - $menu[30] = $menu[15]; | |
| 394 | - unset($menu[0]); | |
| 395 | - unset($menu[15]); | |
| 596 | + // change user-info | |
| 597 | + switch ( $_mw_adminimize_user_info ) { | |
| 598 | + case 1: | |
| 599 | + $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 600 | + $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove(); });' . "\n"; | |
| 601 | + $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 602 | + break; | |
| 603 | + case 2: | |
| 604 | + $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( | |
| 605 | + dirname( __FILE__ ) | |
| 606 | + ) . '/css/mw_small_user_info' . $suffix . '.css" type="text/css" />' . "\n"; | |
| 607 | + | |
| 608 | + $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 609 | + $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove();'; | |
| 610 | + if ( 1 === (int) $_mw_adminimize_ui_redirect ) { | |
| 611 | + $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option( | |
| 612 | + 'siteurl' | |
| 613 | + ) . wp_nonce_url( | |
| 614 | + ( '/wp-login.php?action=logout&redirect_to=' ) . get_option( 'siteurl' ), 'log-out' | |
| 615 | + ) . '" title="' . esc_attr__( 'Log Out' ) . '">' . esc_attr__( | |
| 616 | + 'Log Out' | |
| 617 | + ) . '</a></p></div>\' ) });' . "\n"; | |
| 618 | + } else { | |
| 619 | + $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option( | |
| 620 | + 'siteurl' | |
| 621 | + ) . wp_nonce_url( ( '/wp-login.php?action=logout' ), 'log-out' ) . '" title="' . esc_attr__( | |
| 622 | + 'Log Out' | |
| 623 | + ) . '">' . esc_attr__( 'Log Out' ) . '</a></p></div>\' ) });' . "\n"; | |
| 624 | + } | |
| 625 | + $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 626 | + break; | |
| 627 | + case 3: | |
| 628 | + $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . WP_PLUGIN_URL . '/' . plugin_basename( | |
| 629 | + dirname( __FILE__ ) | |
| 630 | + ) . '/css/mw_small_user_info' . $suffix . '.css" type="text/css" />' . "\n"; | |
| 631 | + | |
| 632 | + $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 633 | + $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\' ).remove();'; | |
| 634 | + if ( 1 === (int) $_mw_adminimize_ui_redirect ) { | |
| 635 | + $_mw_adminimize_admin_head .= 'jQuery( \'div#wpcontent\' ).after( \'<div id="small_user_info"><p><a href="' . get_option( | |
| 636 | + 'siteurl' | |
| 637 | + ) . ( '/wp-admin/profile.php' ) . '">' . $user_identity . '</a> | <a href="' . get_option( | |
| 638 | + 'siteurl' | |
| 639 | + ) . wp_nonce_url( | |
| 640 | + ( '/wp-login.php?action=logout&redirect_to=' ) . get_option( 'siteurl' ), 'log-out' | |
| 641 | + ) . '" title="' . esc_attr__( 'Log Out' ) . '">' . esc_attr__( | |
| 642 | + 'Log Out' | |
| 643 | + ) . '</a></p></div>\' ) });' . "\n"; | |
| 644 | + } else { | |
| 645 | + $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\' ).after(\'<div id="small_user_info"><p><a href="' . get_option( | |
| 646 | + 'siteurl' | |
| 647 | + ) . ( '/wp-admin/profile.php' ) . '">' . $user_identity . '</a> | <a href="' . get_option( | |
| 648 | + 'siteurl' | |
| 649 | + ) . wp_nonce_url( ( '/wp-login.php?action=logout' ), 'log-out' ) . '" title="' . esc_attr__( | |
| 650 | + 'Log Out' | |
| 651 | + ) . '">' . esc_attr__( 'Log Out' ) . '</a></p></div>\' ) });' . "\n"; | |
| 652 | + } | |
| 653 | + $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 654 | + break; | |
| 655 | + } | |
| 656 | + | |
| 657 | + echo $_mw_adminimize_admin_head; | |
| 396 | 658 | } |
| 397 | 659 | |
| 398 | - | |
| 399 | 660 | /** |
| 400 | - * add new adminstyle to usersettings | |
| 401 | - * @param $file | |
| 661 | + * Set menu for settings | |
| 402 | 662 | */ |
| 403 | -function _mw_adminimize_admin_styles($file) { | |
| 404 | - | |
| 405 | - $_mw_adminimize_path = WP_CONTENT_URL . '/plugins/' . plugin_basename( dirname(__FILE__) ) . '/css/'; | |
| 663 | +function _mw_adminimize_set_menu_option() { | |
| 406 | 664 | |
| 407 | - // MW Adminimize Classic | |
| 408 | - $styleName = 'MW Adminimize:' . ' ' . __('Classic'); | |
| 409 | - wp_admin_css_color ( | |
| 410 | - 'mw_classic', $styleName, $_mw_adminimize_path . 'mw_classic.css', | |
| 411 | - array('#07273E', '#14568A', '#D54E21', '#2683AE') | |
| 412 | - ); | |
| 665 | + // exclude super admin | |
| 666 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 667 | + return NULL; | |
| 668 | + } | |
| 413 | 669 | |
| 414 | - // MW Adminimize Fresh | |
| 415 | - $styleName = 'MW Adminimize:' . ' ' . __('Fresh'); | |
| 416 | - wp_admin_css_color ( | |
| 417 | - 'mw_fresh', $styleName, $_mw_adminimize_path . 'mw_fresh.css', | |
| 418 | - array('#464646', '#CEE1EF', '#D54E21', '#2683AE') | |
| 419 | - ); | |
| 670 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 671 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 672 | + return; | |
| 673 | + } | |
| 420 | 674 | |
| 421 | - // MW Adminimize WordPress 2.3 | |
| 422 | - $styleName = 'MW Adminimize:' . ' ' . __('WordPress 2.3'); | |
| 423 | - wp_admin_css_color ( | |
| 424 | - 'mw_wp23', $styleName, $_mw_adminimize_path . 'mw_wp23.css', | |
| 425 | - array('#000000', '#14568A', '#448ABD', '#83B4D8') | |
| 426 | - ); | |
| 675 | + global $menu, $submenu; | |
| 427 | 676 | |
| 428 | - // MW Adminimize Colorblind | |
| 429 | - $styleName = 'MW Adminimize:' . ' ' . __('Maybe i\'m colorblind'); | |
| 430 | - wp_admin_css_color ( | |
| 431 | - 'mw_colorblind', $styleName, $_mw_adminimize_path . 'mw_colorblind.css', | |
| 432 | - array('#FF9419', '#F0720C', '#710001', '#550007', '#CF4529') | |
| 433 | - ); | |
| 677 | + if ( ! isset( $menu ) || empty( $menu ) ) { | |
| 678 | + return; | |
| 679 | + } | |
| 434 | 680 | |
| 435 | - // MW Adminimize Grey | |
| 436 | - $styleName = 'MW Adminimize:' . ' ' . __('Grey'); | |
| 437 | - wp_admin_css_color ( | |
| 438 | - 'mw_grey', $styleName, $_mw_adminimize_path . 'mw_grey.css', | |
| 439 | - array('#000000', '#787878', '#F0F0F0', '#D8D8D8', '#909090') | |
| 440 | - ); | |
| 681 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 682 | + $disabled_menu_ = ''; | |
| 683 | + $disabled_submenu_ = ''; | |
| 441 | 684 | |
| 442 | - /** | |
| 443 | - * style and changes for plugin Admin Drop Down Menu | |
| 444 | - * by Ozh | |
| 445 | - * http://planetozh.com/blog/my-projects/wordpress-admin-menu-drop-down-css/ | |
| 446 | - */ | |
| 447 | - if ( function_exists('wp_ozh_adminmenu') ) { | |
| 448 | - | |
| 449 | - // MW Adminimize Classic include ozh adminmenu | |
| 450 | - $styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __('Classic'); | |
| 451 | - wp_admin_css_color ( | |
| 452 | - 'mw_classic_ozh_am', $styleName, $_mw_adminimize_path . 'mw_classic_ozh_am.css', | |
| 453 | - array('#07273E', '#14568A', '#D54E21', '#2683AE') | |
| 685 | + foreach ( $user_roles as $role ) { | |
| 686 | + $disabled_menu_[ $role ] = _mw_adminimize_get_option_value( | |
| 687 | + 'mw_adminimize_disabled_menu_' . $role . '_items' | |
| 454 | 688 | ); |
| 455 | - | |
| 456 | - // MW Adminimize Fresh include ozh adminmenu | |
| 457 | - $styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __('Fresh'); | |
| 458 | - wp_admin_css_color ( | |
| 459 | - 'mw_fresh_ozh_am', $styleName, $_mw_adminimize_path . 'mw_fresh_ozh_am.css', | |
| 460 | - array('#464646', '#CEE1EF', '#D54E21', '#2683AE') | |
| 689 | + $disabled_submenu_[ $role ] = _mw_adminimize_get_option_value( | |
| 690 | + 'mw_adminimize_disabled_submenu_' . $role . '_items' | |
| 461 | 691 | ); |
| 462 | - | |
| 463 | 692 | } |
| 464 | - | |
| 465 | - /** | |
| 466 | - * style and changes for plugin Lighter Menus | |
| 467 | - * by corpodibacco | |
| 468 | - * http://www.italyisfalling.com/lighter-menus | |
| 469 | - */ | |
| 470 | - if ( function_exists('lm_build') ) { | |
| 471 | - | |
| 472 | - // MW Adminimize Classic include Lighter Menus | |
| 473 | - $styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __('Classic'); | |
| 474 | - wp_admin_css_color ( | |
| 475 | - 'mw_classic_lm', $styleName, $_mw_adminimize_path . 'mw_classic_lm.css', | |
| 476 | - array('#07273E', '#14568A', '#D54E21', '#2683AE') | |
| 477 | - ); | |
| 478 | - | |
| 479 | - // MW Adminimize Fresh include Lighter Menus | |
| 480 | - $styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __('Fresh'); | |
| 481 | - wp_admin_css_color ( | |
| 482 | - 'mw_fresh_lm', $styleName, $_mw_adminimize_path . 'mw_fresh_lm.css', | |
| 483 | - array('#464646', '#CEE1EF', '#D54E21', '#2683AE') | |
| 484 | - ); | |
| 485 | - | |
| 693 | + | |
| 694 | + $mw_adminimize_menu = array(); | |
| 695 | + $mw_adminimize_submenu = array(); | |
| 696 | + | |
| 697 | + // Set admin-menu. | |
| 698 | + foreach ( $user_roles as $role ) { | |
| 699 | + | |
| 700 | + $user = wp_get_current_user(); | |
| 701 | + | |
| 702 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) | |
| 703 | + && _mw_adminimize_current_user_has_role( | |
| 704 | + $role | |
| 705 | + ) | |
| 706 | + ) { | |
| 707 | + $mw_adminimize_menu = $disabled_menu_[ $role ]; | |
| 708 | + $mw_adminimize_submenu = $disabled_submenu_[ $role ]; | |
| 709 | + } | |
| 486 | 710 | } |
| 487 | -} | |
| 488 | 711 | |
| 712 | + // Fallback on users.php on all user roles smaller admin. | |
| 713 | + if ( is_array( $mw_adminimize_menu ) && in_array( 'users.php', $mw_adminimize_menu, FALSE ) ) { | |
| 714 | + $mw_adminimize_menu[] = 'profile.php'; | |
| 715 | + } | |
| 489 | 716 | |
| 490 | -/** | |
| 491 | - * remove the dashbord | |
| 492 | - * @author of basic Austin Matzko | |
| 493 | - * http://www.ilfilosofo.com/blog/2006/05/24/plugin-remove-the-wordpress-dashboard/ | |
| 494 | - */ | |
| 495 | -function _mw_adminimize_remove_dashboard() { | |
| 496 | - global $menu, $submenu, $user_ID; | |
| 717 | + foreach ( $menu as $index => $item ) { | |
| 497 | 718 | |
| 498 | - $disabled_menu = get_option('mw_adminimize_disabled_menu'); | |
| 499 | - $disabled_submenu = get_option('mw_adminimize_disabled_submenu'); | |
| 500 | - $disabled_menu_adm = get_option('mw_adminimize_disabled_menu_adm'); | |
| 501 | - $disabled_submenu_adm = get_option('mw_adminimize_disabled_submenu_adm'); | |
| 719 | + if ( 'index.php' === $item ) { | |
| 720 | + continue; | |
| 721 | + } | |
| 502 | 722 | |
| 503 | - // remove dashboard | |
| 504 | - if ($disabled_menu != '') { | |
| 505 | - if ( ( in_array('index.php', $disabled_menu) && !current_user_can('level_10') ) || | |
| 506 | - ( in_array('index.php', $disabled_submenu) && !current_user_can('level_10') ) || | |
| 507 | - ( in_array('index.php', $disabled_menu_adm) && current_user_can('level_10') ) || | |
| 508 | - ( in_array('index.php', $disabled_submenu_adm) && current_user_can('level_10') ) | |
| 509 | - ) { | |
| 510 | - | |
| 511 | - $_mw_adminimize_db_redirect = get_option('_mw_adminimize_db_redirect'); | |
| 512 | - switch ($_mw_adminimize_db_redirect) { | |
| 513 | - case 0: | |
| 514 | - $_mw_adminimize_db_redirect = 'profile.php'; | |
| 515 | - break; | |
| 516 | - case 1: | |
| 517 | - $_mw_adminimize_db_redirect = 'edit.php'; | |
| 518 | - break; | |
| 519 | - case 2: | |
| 520 | - $_mw_adminimize_db_redirect = 'edit-pages.php'; | |
| 521 | - break; | |
| 522 | - case 3: | |
| 523 | - $_mw_adminimize_db_redirect = 'post-new.php'; | |
| 524 | - break; | |
| 525 | - case 4: | |
| 526 | - $_mw_adminimize_db_redirect = 'page-new.php'; | |
| 527 | - break; | |
| 528 | - case 5: | |
| 529 | - $_mw_adminimize_db_redirect = 'edit-comments.php'; | |
| 530 | - break; | |
| 723 | + if ( isset( $item[ 2 ] ) ) { | |
| 724 | + if ( isset( $mw_adminimize_menu ) && is_array( $mw_adminimize_menu ) | |
| 725 | + && in_array( | |
| 726 | + $item[ 2 ], $mw_adminimize_menu, FALSE | |
| 727 | + ) | |
| 728 | + ) { | |
| 729 | + unset( $menu[ $index ] ); | |
| 531 | 730 | } |
| 532 | 731 | |
| 533 | - $the_user = new WP_User($user_ID); | |
| 534 | - reset($menu); $page = key($menu); | |
| 535 | - | |
| 536 | - while ( (__('Dashboard') != $menu[$page][0]) && next($menu) || (__('Dashboard') != $menu[$page][1]) && next($menu) ) | |
| 537 | - $page = key($menu); | |
| 538 | - | |
| 539 | - if (__('Dashboard') == $menu[$page][0] || __('Dashboard') == $menu[$page][1]) | |
| 540 | - unset($menu[$page]); | |
| 541 | - reset($menu); $page = key($menu); | |
| 542 | - | |
| 543 | - while ( !$the_user->has_cap($menu[$page][1]) && next($menu) ) | |
| 544 | - $page = key($menu); | |
| 545 | - | |
| 546 | - if ( preg_match('#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'])) { | |
| 547 | - if (function_exists('admin_url')) { | |
| 548 | - wp_redirect( admin_url($_mw_adminimize_db_redirect) ); | |
| 549 | - } else { | |
| 550 | - wp_redirect( get_option('siteurl') . '/wp-admin/' . $_mw_adminimize_db_redirect ); | |
| 732 | + if ( isset( $submenu ) && ! empty( $submenu[ $item[ 2 ] ] ) ) { | |
| 733 | + foreach ( $submenu[ $item[ 2 ] ] as $subindex => $subitem ) { | |
| 734 | + // Check, if is menu item in the user role settings? | |
| 735 | + if ( | |
| 736 | + isset( $mw_adminimize_submenu ) | |
| 737 | + && _mw_adminimize_in_arrays( | |
| 738 | + array( $subitem[ 2 ], $item[ 2 ] . '__' . $subindex ), | |
| 739 | + $mw_adminimize_submenu | |
| 740 | + ) | |
| 741 | + ) { | |
| 742 | + unset( $submenu[ $item[ 2 ] ][ $subindex ] ); | |
| 743 | + } | |
| 551 | 744 | } |
| 552 | 745 | } |
| 553 | 746 | } |
| 554 | 747 | } |
| 748 | + | |
| 555 | 749 | } |
| 556 | 750 | |
| 751 | +/** | |
| 752 | + * set global options in backend in all areas | |
| 753 | + */ | |
| 754 | +function _mw_adminimize_set_global_option() { | |
| 557 | 755 | |
| 756 | + global $_wp_admin_css_colors; | |
| 757 | + | |
| 758 | + // exclude super admin | |
| 759 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 760 | + return NULL; | |
| 761 | + } | |
| 762 | + | |
| 763 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 764 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 765 | + return; | |
| 766 | + } | |
| 767 | + | |
| 768 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 769 | + $_mw_adminimize_admin_head = ''; | |
| 770 | + | |
| 771 | + foreach ( $user_roles as $role ) { | |
| 772 | + $disabled_global_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 773 | + 'mw_adminimize_disabled_global_option_' . $role . '_items' | |
| 774 | + ); | |
| 775 | + } | |
| 776 | + | |
| 777 | + foreach ( $user_roles as $role ) { | |
| 778 | + if ( ! isset( $disabled_global_option_[ $role ][ '0' ] ) ) { | |
| 779 | + $disabled_global_option_[ $role ][ '0' ] = ''; | |
| 780 | + } | |
| 781 | + } | |
| 782 | + | |
| 783 | + $global_options = ''; | |
| 784 | + // new 1.7.8 | |
| 785 | + foreach ( $user_roles as $role ) { | |
| 786 | + $user = wp_get_current_user(); | |
| 787 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 788 | + if ( _mw_adminimize_current_user_has_role( $role ) | |
| 789 | + && isset( $disabled_global_option_[ $role ] ) | |
| 790 | + && is_array( $disabled_global_option_[ $role ] ) | |
| 791 | + ) { | |
| 792 | + $global_options = implode( ', ', $disabled_global_option_[ $role ] ); | |
| 793 | + } | |
| 794 | + } | |
| 795 | + } | |
| 796 | + if ( isset( $global_options ) && 0 != strpos( $global_options, '#your-profile .form-table fieldset' ) ) { | |
| 797 | + $_wp_admin_css_colors = 0; | |
| 798 | + } | |
| 799 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize global options -->' . "\n"; | |
| 800 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . $global_options . ' {display:none !important;}</style>' . "\n"; | |
| 801 | + | |
| 802 | + if ( ! empty( $global_options ) ) { | |
| 803 | + echo $_mw_adminimize_admin_head; | |
| 804 | + } | |
| 805 | +} | |
| 806 | + | |
| 558 | 807 | /** |
| 559 | - * remove the flash_uploader | |
| 808 | + * set metabox options from database an area post | |
| 560 | 809 | */ |
| 561 | -function _mw_adminimize_disable_flash_uploader() { | |
| 562 | - return false; | |
| 810 | +function _mw_adminimize_set_metabox_post_option() { | |
| 811 | + | |
| 812 | + // exclude super admin | |
| 813 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 814 | + return NULL; | |
| 815 | + } | |
| 816 | + | |
| 817 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 818 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 819 | + return; | |
| 820 | + } | |
| 821 | + | |
| 822 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 823 | + $_mw_adminimize_admin_head = ''; | |
| 824 | + $metaboxes = ''; | |
| 825 | + | |
| 826 | + foreach ( $user_roles as $role ) { | |
| 827 | + $disabled_metaboxes_post_[ $role ] = _mw_adminimize_get_option_value( | |
| 828 | + 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' | |
| 829 | + ); | |
| 830 | + | |
| 831 | + if ( ! isset( $disabled_metaboxes_post_[ $role ][ '0' ] ) ) { | |
| 832 | + $disabled_metaboxes_post_[ $role ][ '0' ] = ''; | |
| 833 | + } | |
| 834 | + | |
| 835 | + // new 1.7.8 | |
| 836 | + $user = wp_get_current_user(); | |
| 837 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 838 | + if ( _mw_adminimize_current_user_has_role( $role ) && isset( $disabled_metaboxes_post_[ $role ] ) | |
| 839 | + && is_array( | |
| 840 | + $disabled_metaboxes_post_[ $role ] | |
| 841 | + ) | |
| 842 | + ) { | |
| 843 | + $metaboxes = implode( ',', $disabled_metaboxes_post_[ $role ] ); | |
| 844 | + } | |
| 845 | + } | |
| 846 | + } | |
| 847 | + | |
| 848 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize metabox post options -->' . "\n"; | |
| 849 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . | |
| 850 | + $metaboxes . ' {display:none !important;}</style>' . "\n"; | |
| 851 | + | |
| 852 | + if ( ! empty( $metaboxes ) ) { | |
| 853 | + echo $_mw_adminimize_admin_head; | |
| 854 | + } | |
| 563 | 855 | } |
| 564 | 856 | |
| 857 | +/** | |
| 858 | + * set metabox options from database an area page | |
| 859 | + */ | |
| 860 | +function _mw_adminimize_set_metabox_page_option() { | |
| 565 | 861 | |
| 862 | + // exclude super admin | |
| 863 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 864 | + return NULL; | |
| 865 | + } | |
| 866 | + | |
| 867 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 868 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 869 | + return; | |
| 870 | + } | |
| 871 | + | |
| 872 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 873 | + $_mw_adminimize_admin_head = ''; | |
| 874 | + $metaboxes = ''; | |
| 875 | + | |
| 876 | + foreach ( $user_roles as $role ) { | |
| 877 | + $disabled_metaboxes_page_[ $role ] = _mw_adminimize_get_option_value( | |
| 878 | + 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' | |
| 879 | + ); | |
| 880 | + | |
| 881 | + if ( ! isset( $disabled_metaboxes_page_[ $role ][ '0' ] ) ) { | |
| 882 | + $disabled_metaboxes_page_[ $role ][ '0' ] = ''; | |
| 883 | + } | |
| 884 | + | |
| 885 | + // new 1.7.8 | |
| 886 | + $user = wp_get_current_user(); | |
| 887 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 888 | + if ( _mw_adminimize_current_user_has_role( $role ) | |
| 889 | + && isset( $disabled_metaboxes_page_[ $role ] ) | |
| 890 | + && is_array( $disabled_metaboxes_page_[ $role ] ) | |
| 891 | + ) { | |
| 892 | + $metaboxes = implode( ',', $disabled_metaboxes_page_[ $role ] ); | |
| 893 | + } | |
| 894 | + } | |
| 895 | + } | |
| 896 | + | |
| 897 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize metabox page options -->' . "\n"; | |
| 898 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . | |
| 899 | + $metaboxes . ' {display:none !important;}</style>' . "\n"; | |
| 900 | + | |
| 901 | + if ( ! empty( $metaboxes ) ) { | |
| 902 | + echo $_mw_adminimize_admin_head; | |
| 903 | + } | |
| 904 | +} | |
| 905 | + | |
| 566 | 906 | /** |
| 567 | - * set user options from database in edit-area | |
| 907 | + * set metabox options from database an area post | |
| 568 | 908 | */ |
| 569 | -function _mw_adminimize_set_user_option_edit() { | |
| 570 | - | |
| 571 | - $_mw_adminimize_path = WP_CONTENT_URL . '/plugins/' . plugin_basename( dirname(__FILE__) ) . '/css/'; | |
| 572 | - | |
| 573 | - $_mw_adminimize_sidecat_admin_head = ''; | |
| 574 | - $_mw_adminimize_sidebar_wight = get_option('_mw_adminimize_sidebar_wight'); | |
| 575 | - switch ($_mw_adminimize_sidebar_wight) { | |
| 576 | - case 300: | |
| 577 | - $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n"; | |
| 578 | - $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_300_sidebar.css'; | |
| 579 | - $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n"; | |
| 580 | - break; | |
| 581 | - case 400: | |
| 582 | - $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n"; | |
| 583 | - $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_400_sidebar.css'; | |
| 584 | - $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n"; | |
| 585 | - break; | |
| 586 | - case 20: | |
| 587 | - $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n"; | |
| 588 | - $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_20p_sidebar.css'; | |
| 589 | - $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n"; | |
| 590 | - break; | |
| 591 | - case 30: | |
| 592 | - $_mw_adminimize_sidecat_admin_head .= '<link rel="stylesheet" href="' . "\n"; | |
| 593 | - $_mw_adminimize_sidecat_admin_head .= $_mw_adminimize_path . 'mw_30p_sidebar.css'; | |
| 594 | - $_mw_adminimize_sidecat_admin_head .= '" type="text/css" media="all" />' . "\n"; | |
| 595 | - break; | |
| 909 | +function _mw_adminimize_set_metabox_cp_option() { | |
| 910 | + | |
| 911 | + // exclude super admin | |
| 912 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 913 | + return NULL; | |
| 596 | 914 | } |
| 597 | 915 | |
| 598 | - print($_mw_adminimize_sidecat_admin_head); | |
| 916 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 917 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 918 | + return; | |
| 919 | + } | |
| 920 | + | |
| 921 | + if ( isset( $_GET[ 'post' ] ) ) { | |
| 922 | + $post_id = (int) $_GET[ 'post' ]; | |
| 923 | + } elseif ( isset( $_POST[ 'post_ID' ] ) ) { | |
| 924 | + $post_id = (int) $_POST[ 'post_ID' ]; | |
| 925 | + } else { | |
| 926 | + $post_id = 0; | |
| 927 | + } | |
| 928 | + | |
| 929 | + $current_post_type = $GLOBALS[ 'post_type' ]; | |
| 930 | + if ( ! isset( $current_post_type ) ) { | |
| 931 | + $current_post_type = get_post_type( $post_id ); | |
| 932 | + } | |
| 933 | + | |
| 934 | + if ( ! isset( $current_post_type ) || ! $current_post_type ) { | |
| 935 | + $current_post_type = str_replace( 'post_type=', '', esc_attr( $_SERVER[ 'QUERY_STRING' ] ) ); | |
| 936 | + } | |
| 937 | + | |
| 938 | + // set hard to post | |
| 939 | + if ( ! $current_post_type ) { | |
| 940 | + $current_post_type = 'post'; | |
| 941 | + } | |
| 942 | + | |
| 943 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 944 | + $_mw_adminimize_admin_head = ''; | |
| 945 | + $metaboxes = ''; | |
| 946 | + | |
| 947 | + foreach ( $user_roles as $role ) { | |
| 948 | + $disabled_metaboxes_[ $current_post_type . '_' . $role ] = _mw_adminimize_get_option_value( | |
| 949 | + 'mw_adminimize_disabled_metaboxes_' . $current_post_type . '_' . $role . '_items' | |
| 950 | + ); | |
| 951 | + | |
| 952 | + if ( ! isset( $disabled_metaboxes_[ $current_post_type . '_' . $role ][ '0' ] ) ) { | |
| 953 | + $disabled_metaboxes_[ $current_post_type . '_' . $role ][ '0' ] = ''; | |
| 954 | + } | |
| 955 | + | |
| 956 | + $user = wp_get_current_user(); | |
| 957 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 958 | + if ( _mw_adminimize_current_user_has_role( $role ) | |
| 959 | + && isset( $disabled_metaboxes_[ $current_post_type . '_' . $role ] ) | |
| 960 | + && is_array( $disabled_metaboxes_[ $current_post_type . '_' . $role ] ) | |
| 961 | + ) { | |
| 962 | + $metaboxes = implode( ',', $disabled_metaboxes_[ $current_post_type . '_' . $role ] ); | |
| 963 | + } | |
| 964 | + } | |
| 965 | + } | |
| 966 | + | |
| 967 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize post options -->' . "\n"; | |
| 968 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . | |
| 969 | + $metaboxes . ' {display:none !important;}</style>' . "\n"; | |
| 970 | + | |
| 971 | + if ( ! empty( $metaboxes ) ) { | |
| 972 | + echo $_mw_adminimize_admin_head; | |
| 973 | + } | |
| 599 | 974 | } |
| 600 | 975 | |
| 601 | - | |
| 602 | 976 | /** |
| 603 | - * set menu options from database | |
| 977 | + * set link options in area Links of Backend | |
| 604 | 978 | */ |
| 605 | -function _mw_adminimize_set_menu_option() { | |
| 606 | - global $pagenow, $menu, $submenu; | |
| 607 | - | |
| 608 | - $disabled_menu = get_option('mw_adminimize_disabled_menu'); | |
| 609 | - $disabled_submenu = get_option('mw_adminimize_disabled_submenu'); | |
| 610 | - $disabled_menu_adm = get_option('mw_adminimize_disabled_menu_adm'); | |
| 611 | - $disabled_submenu_adm = get_option('mw_adminimize_disabled_submenu_adm'); | |
| 979 | +function _mw_adminimize_set_link_option() { | |
| 612 | 980 | |
| 613 | - $_mw_adminimize_admin_head = "\n"; | |
| 614 | - $_mw_adminimize_user_info = get_option('_mw_adminimize_user_info'); | |
| 615 | - $_mw_adminimize_ui_redirect = get_option('_mw_adminimize_ui_redirect'); | |
| 616 | - switch ($_mw_adminimize_user_info) { | |
| 617 | - case 1: | |
| 618 | - $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 619 | - $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\').remove(); });' . "\n"; | |
| 620 | - $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 621 | - break; | |
| 622 | - case 2: | |
| 623 | - $_mw_adminimize_admin_head .= '<link rel="stylesheet" href="' . get_option( 'siteurl' ) . '/' . PLUGINDIR . '/' . plugin_basename( dirname(__FILE__) ) . '/css/mw_small_user_info.css" type="text/css" />' . "\n"; | |
| 624 | - $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 625 | - $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#user_info\').remove();'; | |
| 626 | - if ($_mw_adminimize_ui_redirect == '1') { | |
| 627 | - $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\').after(\'<div id="small_user_info"><p><a href="' . get_option('siteurl') . ('/wp-login.php?action=logout&redirect_to=') . get_option('siteurl') . '" title="' . __('Log Out') . '">' . __('Log Out') . '</a></p></div>\') });' . "\n"; | |
| 628 | - } else { | |
| 629 | - $_mw_adminimize_admin_head .= 'jQuery(\'div#wpcontent\').after(\'<div id="small_user_info"><p><a href="' . get_option('siteurl') . ('/wp-login.php?action=logout') . '" title="' . __('Log Out') . '">' . __('Log Out') . '</a></p></div>\') });' . "\n"; | |
| 981 | + // exclude super admin | |
| 982 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 983 | + return NULL; | |
| 984 | + } | |
| 985 | + | |
| 986 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 987 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 988 | + return; | |
| 989 | + } | |
| 990 | + | |
| 991 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 992 | + $_mw_adminimize_admin_head = ''; | |
| 993 | + | |
| 994 | + foreach ( $user_roles as $role ) { | |
| 995 | + $disabled_link_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 996 | + 'mw_adminimize_disabled_link_option_' . $role . '_items' | |
| 997 | + ); | |
| 998 | + } | |
| 999 | + | |
| 1000 | + foreach ( $user_roles as $role ) { | |
| 1001 | + if ( ! isset( $disabled_link_option_[ $role ][ '0' ] ) ) { | |
| 1002 | + $disabled_link_option_[ $role ][ '0' ] = ''; | |
| 630 | 1003 | } |
| 631 | - $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 632 | - break; | |
| 633 | 1004 | } |
| 634 | 1005 | |
| 635 | - $_mw_adminimize_footer = get_option('_mw_adminimize_footer'); | |
| 636 | - switch ($_mw_adminimize_footer) { | |
| 637 | - case 1: | |
| 638 | - $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 639 | - $_mw_adminimize_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#footer\').remove(); });' . "\n"; | |
| 640 | - $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 641 | - break; | |
| 1006 | + $link_options = ''; | |
| 1007 | + // new 1.7.8 | |
| 1008 | + foreach ( $user_roles as $role ) { | |
| 1009 | + $user = wp_get_current_user(); | |
| 1010 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 1011 | + if ( _mw_adminimize_current_user_has_role( $role ) | |
| 1012 | + && isset( $disabled_link_option_[ $role ] ) | |
| 1013 | + && is_array( $disabled_link_option_[ $role ] ) | |
| 1014 | + ) { | |
| 1015 | + $link_options = implode( ',', $disabled_link_option_[ $role ] ); | |
| 1016 | + } | |
| 1017 | + } | |
| 642 | 1018 | } |
| 643 | 1019 | |
| 644 | - // timestamp open | |
| 645 | - $_mw_adminimize_timestamp = get_option('_mw_adminimize_timestamp'); | |
| 646 | - switch ($_mw_adminimize_timestamp) { | |
| 647 | - case 1: | |
| 648 | - $_mw_adminimize_admin_head .= '<script type="text/javascript">' . "\n"; | |
| 649 | - $_mw_adminimize_admin_head .= "\t" . 'addLoadEvent(function(){jQuery(\'.edit-timestamp\').click();});' . "\n"; | |
| 650 | - $_mw_adminimize_admin_head .= '</script>' . "\n"; | |
| 651 | - break; | |
| 1020 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize links options -->' . "\n"; | |
| 1021 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . | |
| 1022 | + $link_options . ' {display:none !important;}</style>' . "\n"; | |
| 1023 | + | |
| 1024 | + if ( ! empty( $link_options ) ) { | |
| 1025 | + echo $_mw_adminimize_admin_head; | |
| 652 | 1026 | } |
| 1027 | +} | |
| 653 | 1028 | |
| 654 | - $_mw_adminimize_admin_head .= '<script type="text/javascript"> | |
| 655 | - /* <![CDATA[ */ | |
| 656 | - adminimizeL10n = { | |
| 657 | - all: "' . __('Alle', 'adminimize') . '", none: "' . __('Keine', 'adminimize') . '" | |
| 1029 | +/** | |
| 1030 | + * remove objects on wp nav menu | |
| 1031 | + */ | |
| 1032 | +function _mw_adminimize_set_nav_menu_option() { | |
| 1033 | + | |
| 1034 | + // exclude super admin | |
| 1035 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 1036 | + return NULL; | |
| 658 | 1037 | } |
| 659 | - /* ]]> */ | |
| 660 | - </script>'; | |
| 661 | - $_mw_adminimize_admin_head .= '<script type="text/javascript" src="' . WP_CONTENT_URL . '/plugins/' . plugin_basename( dirname(__FILE__) ) . '/js/adminimize.js"></script>'; | |
| 662 | 1038 | |
| 663 | - // set menu | |
| 664 | - if ($disabled_menu != '') { | |
| 665 | - | |
| 666 | - // set user-menu | |
| 667 | - if ( !current_user_can('level_10') ) { | |
| 668 | - foreach ($menu as $index => $item) { | |
| 669 | - if ($item == 'index.php') | |
| 670 | - continue; | |
| 671 | - | |
| 672 | - if (in_array($item[2], $disabled_menu)) | |
| 673 | - unset($menu[$index]); | |
| 674 | - | |
| 675 | - if ( !empty($submenu[$item[2]]) ) { | |
| 676 | - foreach ($submenu[$item[2]] as $subindex => $subitem) { | |
| 677 | - if (in_array($subitem[2], $disabled_submenu)) | |
| 678 | - unset($submenu[$item[2]][$subindex]); | |
| 679 | - } | |
| 680 | - } | |
| 681 | - } | |
| 1039 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 1040 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 1041 | + return; | |
| 1042 | + } | |
| 1043 | + | |
| 1044 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 1045 | + $_mw_adminimize_admin_head = ''; | |
| 1046 | + | |
| 1047 | + foreach ( $user_roles as $role ) { | |
| 1048 | + $disabled_nav_menu_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 1049 | + 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items' | |
| 1050 | + ); | |
| 1051 | + } | |
| 1052 | + | |
| 1053 | + foreach ( $user_roles as $role ) { | |
| 1054 | + if ( ! isset( $disabled_nav_menu_option_[ $role ][ '0' ] ) ) { | |
| 1055 | + $disabled_nav_menu_option_[ $role ][ '0' ] = ''; | |
| 682 | 1056 | } |
| 683 | - | |
| 684 | - // set admin-menu | |
| 685 | - if ( current_user_can('level_10') ) { | |
| 686 | - foreach ($menu as $index => $item) { | |
| 687 | - if ($item == 'index.php') | |
| 688 | - continue; | |
| 689 | - | |
| 690 | - if (in_array($item[2], $disabled_menu_adm)) | |
| 691 | - unset($menu[$index]); | |
| 692 | - | |
| 693 | - if ( !empty($submenu[$item[2]]) ) { | |
| 694 | - foreach ($submenu[$item[2]] as $subindex => $subitem) { | |
| 695 | - if (in_array($subitem[2], $disabled_submenu_adm)) | |
| 696 | - unset($submenu[$item[2]][$subindex]); | |
| 697 | - } | |
| 698 | - } | |
| 1057 | + } | |
| 1058 | + | |
| 1059 | + $nav_menu_options = ''; | |
| 1060 | + // new 1.7.8 | |
| 1061 | + foreach ( $user_roles as $role ) { | |
| 1062 | + $user = wp_get_current_user(); | |
| 1063 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 1064 | + if ( _mw_adminimize_current_user_has_role( $role ) | |
| 1065 | + && isset( $disabled_nav_menu_option_[ $role ] ) | |
| 1066 | + && is_array( $disabled_nav_menu_option_[ $role ] ) | |
| 1067 | + ) { | |
| 1068 | + $nav_menu_options = implode( ',', $disabled_nav_menu_option_[ $role ] ); | |
| 699 | 1069 | } |
| 700 | 1070 | } |
| 701 | - | |
| 702 | 1071 | } |
| 703 | - | |
| 704 | - print($_mw_adminimize_admin_head); | |
| 1072 | + //remove_meta_box( $id, 'nav-menus', 'side' ); | |
| 1073 | + | |
| 1074 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize WP Nav Menu options -->' . "\n"; | |
| 1075 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . | |
| 1076 | + $nav_menu_options . ' {display: none !important;}</style>' . "\n"; | |
| 1077 | + | |
| 1078 | + if ( $nav_menu_options ) { | |
| 1079 | + echo $_mw_adminimize_admin_head; | |
| 1080 | + } | |
| 705 | 1081 | } |
| 706 | 1082 | |
| 707 | - | |
| 708 | 1083 | /** |
| 709 | - * set metabox options from database | |
| 1084 | + * Remove areas in Widget Settings | |
| 710 | 1085 | */ |
| 711 | -function _mw_adminimize_set_metabox_option() { | |
| 712 | - global $pagenow; | |
| 713 | - | |
| 714 | - $_mw_adminimize_admin_head = "\n"; | |
| 715 | - | |
| 716 | - // post | |
| 717 | - if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) ) { | |
| 718 | - remove_action('admin_head', 'index_js'); | |
| 1086 | +function _mw_adminimize_set_widget_option() { | |
| 719 | 1087 | |
| 720 | - $disabled_metaboxes_post = get_option('mw_adminimize_disabled_metaboxes_post'); | |
| 721 | - $disabled_metaboxes_post_adm = get_option('mw_adminimize_disabled_metaboxes_post_adm'); | |
| 722 | - | |
| 723 | - if ( current_user_can('level_10') ) { | |
| 724 | - $metaboxes = implode(',', $disabled_metaboxes_post_adm); // for admins | |
| 725 | - } else { | |
| 726 | - $metaboxes = implode(',', $disabled_metaboxes_post); // < user level 10, admin | |
| 1088 | + // exclude super admin | |
| 1089 | + if ( _mw_adminimize_exclude_super_admin() ) { | |
| 1090 | + return NULL; | |
| 1091 | + } | |
| 1092 | + | |
| 1093 | + // Leave the settings screen from Adminimize to see all areas on settings. | |
| 1094 | + if ( _mw_adminimize_exclude_settings_page() ) { | |
| 1095 | + return; | |
| 1096 | + } | |
| 1097 | + | |
| 1098 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 1099 | + $_mw_adminimize_admin_head = ''; | |
| 1100 | + | |
| 1101 | + foreach ( $user_roles as $role ) { | |
| 1102 | + $disabled_widget_option_[ $role ] = _mw_adminimize_get_option_value( | |
| 1103 | + 'mw_adminimize_disabled_widget_option_' . $role . '_items' | |
| 1104 | + ); | |
| 1105 | + } | |
| 1106 | + | |
| 1107 | + foreach ( $user_roles as $role ) { | |
| 1108 | + if ( ! isset( $disabled_widget_option_[ $role ][ '0' ] ) ) { | |
| 1109 | + $disabled_widget_option_[ $role ][ '0' ] = ''; | |
| 727 | 1110 | } |
| 728 | - | |
| 729 | - $_mw_adminimize_admin_head .= '<style type="text/css">' . $metaboxes . ' {display: none !important}</style>' . "\n"; | |
| 730 | 1111 | } |
| 731 | - | |
| 732 | - // page | |
| 733 | - if ( ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) { | |
| 734 | - remove_action('admin_head', 'index_js'); | |
| 735 | - | |
| 736 | - $disabled_metaboxes_page = get_option('mw_adminimize_disabled_metaboxes_page'); | |
| 737 | - $disabled_metaboxes_page_adm = get_option('mw_adminimize_disabled_metaboxes_page_adm'); | |
| 738 | - | |
| 739 | - if ( current_user_can('level_10') ) { | |
| 740 | - $metaboxes = implode(',', $disabled_metaboxes_page_adm); | |
| 741 | - } else { | |
| 742 | - $metaboxes = implode(',', $disabled_metaboxes_page); // < user level 10, admin | |
| 1112 | + | |
| 1113 | + $widget_options = ''; | |
| 1114 | + // new 1.7.8 | |
| 1115 | + foreach ( $user_roles as $role ) { | |
| 1116 | + $user = wp_get_current_user(); | |
| 1117 | + if ( is_array( $user->roles ) && in_array( $role, $user->roles, FALSE ) ) { | |
| 1118 | + if ( _mw_adminimize_current_user_has_role( $role ) | |
| 1119 | + && isset( $disabled_widget_option_[ $role ] ) | |
| 1120 | + && is_array( $disabled_widget_option_[ $role ] ) | |
| 1121 | + ) { | |
| 1122 | + $widget_options = implode( ',', $disabled_widget_option_[ $role ] ); | |
| 1123 | + } | |
| 743 | 1124 | } |
| 744 | - | |
| 745 | - $_mw_adminimize_admin_head .= '<style type="text/css">' . $metaboxes . ' {display: none !important}</style>' . "\n"; | |
| 746 | 1125 | } |
| 747 | - | |
| 748 | - print($_mw_adminimize_admin_head); | |
| 1126 | + //remove_meta_box( $id, 'nav-menus', 'side' ); | |
| 1127 | + | |
| 1128 | + $_mw_adminimize_admin_head .= '<!-- Set Adminimize Widget options -->' . "\n"; | |
| 1129 | + $_mw_adminimize_admin_head .= '<style type="text/css">' . | |
| 1130 | + $widget_options . ' {display: none !important;}</style>' . "\n"; | |
| 1131 | + | |
| 1132 | + if ( $widget_options ) { | |
| 1133 | + echo $_mw_adminimize_admin_head; | |
| 1134 | + } | |
| 749 | 1135 | } |
| 750 | 1136 | |
| 751 | - | |
| 752 | 1137 | /** |
| 753 | 1138 | * small user-info |
| 754 | - * @uses $post_ID | |
| 755 | 1139 | */ |
| 756 | 1140 | function _mw_adminimize_small_user_info() { |
| 757 | -?> | |
| 1141 | + | |
| 1142 | + ?> | |
| 758 | 1143 | <div id="small_user_info"> |
| 759 | - <p><a href="<?php echo site_url('wp-login.php?action=logout') ?>" title="<?php _e('Log Out') ?>"><?php _e('Log Out'); ?></a></p> | |
| 1144 | + <p> | |
| 1145 | + <a href="<?php echo wp_nonce_url( | |
| 1146 | + site_url( 'wp-login.php?action=logout' ), | |
| 1147 | + 'log-out' | |
| 1148 | + ) ?>" | |
| 1149 | + title="<?php esc_attr_e( 'Log Out' ) ?>"><?php esc_attr_e( 'Log Out' ); ?></a> | |
| 1150 | + </p> | |
| 760 | 1151 | </div> |
| 761 | -<?php | |
| 1152 | + <?php | |
| 762 | 1153 | } |
| 763 | 1154 | |
| 1155 | +// Include message class. | |
| 1156 | +require_once 'inc-setup/messages.php'; | |
| 1157 | +// include helping functions | |
| 1158 | +require_once 'inc-setup/helping_hands.php'; | |
| 764 | 1159 | |
| 765 | -/** | |
| 766 | - * include options-page in wp-admin | |
| 767 | - */ | |
| 768 | -require_once('adminimize_page.php'); | |
| 1160 | +// inc. settings page | |
| 1161 | +require_once 'adminimize_page.php'; | |
| 769 | 1162 | |
| 1163 | +// dashboard options | |
| 1164 | +require_once 'inc-setup/dashboard.php'; | |
| 770 | 1165 | |
| 771 | -/** | |
| 772 | - * credit in wp-footer | |
| 773 | - */ | |
| 774 | -function _mw_adminimize_admin_footer() { | |
| 775 | - $plugin_data = get_plugin_data( __FILE__ ); | |
| 776 | - $plugin_data['Title'] = $plugin_data['Name']; | |
| 777 | - if ( !empty($plugin_data['PluginURI']) && !empty($plugin_data['Name']) ) | |
| 778 | - $plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '" title="'.__( 'Visit plugin homepage' ).'">' . $plugin_data['Name'] . '</a>'; | |
| 779 | - | |
| 780 | - if ( basename($_SERVER['REQUEST_URI']) == 'adminimize.php') { | |
| 781 | - printf('%1$s ' . __('plugin') . ' | ' . __('Version') . ' <a href="http://bueltge.de/wordpress-admin-theme-adminimize/674/#historie" title="' . __('Historie', 'adminimize') . '">%2$s</a> | ' . __('Author') . ' %3$s<br />', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']); | |
| 782 | - } | |
| 783 | - if ( get_option('_mw_adminimize_advice') == 1 && basename($_SERVER['REQUEST_URI']) != 'adminimize.php' ) { | |
| 784 | - printf('%1$s ' . __('plugin aktiv', 'adminimize') . ' | ' . stripslashes( get_option('_mw_adminimize_advice_txt') ) . '<br />', $plugin_data['Title']); | |
| 785 | - } | |
| 786 | -} | |
| 1166 | +// widget options | |
| 1167 | +require_once 'inc-setup/widget.php'; | |
| 1168 | +require_once 'inc-setup/admin-footer.php'; | |
| 787 | 1169 | |
| 1170 | +// global settings | |
| 1171 | +// @TODO Testing, not ready for productive | |
| 1172 | +//require_once( 'inc-options/settings_notice.php' ); | |
| 788 | 1173 | |
| 1174 | +// remove admin bar | |
| 1175 | +require_once 'inc-setup/remove-admin-bar.php'; | |
| 1176 | + | |
| 1177 | +// admin bar helper, setup | |
| 1178 | +// work always in frontend | |
| 1179 | +require_once 'inc-setup/admin-bar-items.php'; | |
| 1180 | + | |
| 1181 | +// meta boxes helper, setup | |
| 1182 | +// @TODO Meta Boxes: not ready for productive systems. | |
| 1183 | +//require_once( 'inc-setup/meta-boxes.php' ); | |
| 1184 | + | |
| 1185 | +// Remove Admin Notices. | |
| 1186 | +require_once 'inc-setup/remove-admin-notices.php'; | |
| 1187 | + | |
| 789 | 1188 | /** |
| 790 | 1189 | * Add action link(s) to plugins page |
| 791 | - * Thanks Dion Hulse -- http://dd32.id.au/wordpress-plugins/?configure-link | |
| 1190 | + * | |
| 1191 | + * @param $links , $file | |
| 1192 | + * @param $file | |
| 1193 | + * | |
| 1194 | + * @return $links | |
| 792 | 1195 | */ |
| 793 | -function _mw_adminimize_filter_plugin_actions($links, $file){ | |
| 794 | - static $this_plugin; | |
| 1196 | +function _mw_adminimize_filter_plugin_meta( $links, $file ) { | |
| 795 | 1197 | |
| 796 | - if( !$this_plugin ) $this_plugin = plugin_basename(__FILE__); | |
| 1198 | + /* create link */ | |
| 1199 | + if ( FB_ADMINIMIZE_BASENAME === $file ) { | |
| 1200 | + array_unshift( | |
| 1201 | + $links, | |
| 1202 | + sprintf( '<a href="options-general.php?page=%s">%s</a>', FB_ADMINIMIZE_BASENAME, esc_attr__( 'Settings' ) ) | |
| 1203 | + ); | |
| 1204 | + } | |
| 797 | 1205 | |
| 798 | - if( $file == $this_plugin ){ | |
| 799 | - $settings_link = '<a href="options-general.php?page=adminimize/adminimize.php">' . __('Settings') . '</a>'; | |
| 800 | - $links = array_merge( array($settings_link), $links); // before other links | |
| 801 | -// $links[] = $settings_link; // ... or after other links | |
| 802 | - } | |
| 803 | 1206 | return $links; |
| 804 | 1207 | } |
| 805 | 1208 | |
| 806 | - | |
| 807 | 1209 | /** |
| 808 | 1210 | * settings in plugin-admin-page |
| 809 | 1211 | */ |
| 810 | 1212 | function _mw_adminimize_add_settings_page() { |
| 811 | - if( current_user_can('switch_themes') ) { | |
| 812 | - add_submenu_page('options-general.php', __('Adminimize Einstellungen', 'adminimize'), __('Adminimize', 'adminimize'), 8, __FILE__, '_mw_adminimize_options'); | |
| 813 | - add_filter('plugin_action_links', '_mw_adminimize_filter_plugin_actions', 10, 2); | |
| 1213 | + | |
| 1214 | + $pagehook = add_options_page( | |
| 1215 | + esc_attr__( 'Adminimize Options', 'adminimize' ), | |
| 1216 | + esc_attr__( 'Adminimize', 'adminimize' ), | |
| 1217 | + 'manage_options', | |
| 1218 | + __FILE__, | |
| 1219 | + '_mw_adminimize_options' | |
| 1220 | + ); | |
| 1221 | + if ( ! is_network_admin() ) { | |
| 1222 | + add_filter( 'plugin_action_links', '_mw_adminimize_filter_plugin_meta', 10, 2 ); | |
| 814 | 1223 | } |
| 1224 | + add_action( 'load-' . $pagehook, '_mw_adminimize_on_load_page' ); | |
| 815 | 1225 | } |
| 816 | 1226 | |
| 1227 | +function _mw_adminimize_on_load_page() { | |
| 817 | 1228 | |
| 1229 | + $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; | |
| 1230 | + | |
| 1231 | + wp_register_style( 'adminimize-style', plugins_url( 'css/style' . $suffix . '.css', __FILE__ ) ); | |
| 1232 | + wp_enqueue_style( 'adminimize-style' ); | |
| 1233 | + | |
| 1234 | + wp_register_script( | |
| 1235 | + 'adminimize-settings-script', | |
| 1236 | + plugins_url( 'js/adminimize' . $suffix . '.js', __FILE__ ), | |
| 1237 | + array( 'jquery' ), | |
| 1238 | + '', | |
| 1239 | + TRUE | |
| 1240 | + ); | |
| 1241 | + wp_enqueue_script( 'adminimize-settings-script' ); | |
| 1242 | +} | |
| 1243 | + | |
| 818 | 1244 | /** |
| 819 | - * Set theme for users y user_level 10 | |
| 1245 | + * Set theme for users | |
| 1246 | + * Kill with version 1.7.18 | |
| 820 | 1247 | */ |
| 821 | 1248 | function _mw_adminimize_set_theme() { |
| 822 | 1249 | |
| 823 | - if ( !current_user_can('edit_users') ) | |
| 824 | - wp_die(__('Cheatin’ uh?')); | |
| 1250 | + if ( ! current_user_can( 'edit_users' ) ) { | |
| 1251 | + wp_die( esc_attr__( 'Cheatin’ uh?' ) ); | |
| 1252 | + } | |
| 825 | 1253 | |
| 826 | - $user_ids = $_POST[mw_adminimize_theme_items]; | |
| 827 | - $admin_color = htmlspecialchars( stripslashes( $_POST[_mw_adminimize_set_theme] ) ); | |
| 1254 | + $user_ids = $_POST[ 'mw_adminimize_theme_items' ]; | |
| 1255 | + $admin_color = htmlspecialchars( stripslashes( $_POST[ '_mw_adminimize_set_theme' ] ) ); | |
| 828 | 1256 | |
| 829 | - if ( !$user_ids ) | |
| 830 | - return false; | |
| 1257 | + if ( ! $user_ids ) { | |
| 1258 | + return FALSE; | |
| 1259 | + } | |
| 831 | 1260 | |
| 832 | - foreach( $user_ids as $user_id) { | |
| 833 | - $user_id = (int) $user_id; | |
| 834 | - update_usermeta($user_id, 'admin_color', $admin_color); | |
| 1261 | + foreach ( $user_ids as $user_id ) { | |
| 1262 | + update_user_meta( $user_id, 'admin_color', $admin_color ); | |
| 835 | 1263 | } |
| 1264 | + | |
| 1265 | + return TRUE; | |
| 836 | 1266 | } |
| 837 | 1267 | |
| 1268 | +/** | |
| 1269 | + * Get setting value for each options key. | |
| 1270 | + * | |
| 1271 | + * @param string|bool $key | |
| 1272 | + * | |
| 1273 | + * @return array | |
| 1274 | + */ | |
| 1275 | +function _mw_adminimize_get_option_value( $key = FALSE ) { | |
| 838 | 1276 | |
| 1277 | + // check for use on multisite | |
| 1278 | + if ( _mw_adminimize_is_active_on_multisite() ) { | |
| 1279 | + $adminimizeoptions = get_site_option( 'mw_adminimize', array() ); | |
| 1280 | + } else { | |
| 1281 | + $adminimizeoptions = get_option( 'mw_adminimize', array() ); | |
| 1282 | + } | |
| 1283 | + | |
| 1284 | + if ( ! $key ) { | |
| 1285 | + return $adminimizeoptions; | |
| 1286 | + } | |
| 1287 | + | |
| 1288 | + /** @var array $adminimizeoptions */ | |
| 1289 | + return array_key_exists( $key, $adminimizeoptions ) ? $adminimizeoptions[ $key ] : NULL; | |
| 1290 | +} | |
| 1291 | + | |
| 839 | 1292 | /** |
| 1293 | + * Update options. | |
| 1294 | + * | |
| 1295 | + * @param array $options | |
| 1296 | + */ | |
| 1297 | +function _mw_adminimize_update_option( $options ) { | |
| 1298 | + | |
| 1299 | + if ( ! current_user_can( 'manage_options' ) ) { | |
| 1300 | + return; | |
| 1301 | + } | |
| 1302 | + | |
| 1303 | + if ( _mw_adminimize_is_active_on_multisite() ) { | |
| 1304 | + update_site_option( 'mw_adminimize', $options ); | |
| 1305 | + } else { | |
| 1306 | + update_option( 'mw_adminimize', $options ); | |
| 1307 | + } | |
| 1308 | +} | |
| 1309 | + | |
| 1310 | +/** | |
| 840 | 1311 | * Update options in database |
| 841 | 1312 | */ |
| 842 | 1313 | function _mw_adminimize_update() { |
| 843 | - global $menu, $submenu; | |
| 844 | - | |
| 845 | - // for a smaller database | |
| 846 | - function _mw_adminimize_get_update($option) { | |
| 847 | - if ( ($_POST[$option] == '0') || $_POST[$option] == '') { | |
| 848 | - delete_option($option); | |
| 1314 | + | |
| 1315 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 1316 | + $args = array( 'public' => TRUE, '_builtin' => FALSE ); | |
| 1317 | + $post_types = get_post_types( $args ); | |
| 1318 | + | |
| 1319 | + // Admin Bar Back end settings | |
| 1320 | + $adminimizeoptions[ 'mw_adminimize_admin_bar_nodes' ] = _mw_adminimize_get_option_value( | |
| 1321 | + 'mw_adminimize_admin_bar_nodes' | |
| 1322 | + ); | |
| 1323 | + // admin bar back end options | |
| 1324 | + foreach ( $user_roles as $role ) { | |
| 1325 | + // admin bar back end options | |
| 1326 | + if ( isset( $_POST[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ] ) ) { | |
| 1327 | + $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ] = $_POST[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ]; | |
| 849 | 1328 | } else { |
| 850 | - update_option($option , $_POST[$option]); | |
| 1329 | + $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ] = array(); | |
| 851 | 1330 | } |
| 852 | 1331 | } |
| 853 | - | |
| 854 | - _mw_adminimize_get_update('_mw_adminimize_sidebar_wight'); | |
| 855 | - _mw_adminimize_get_update('_mw_adminimize_user_info'); | |
| 856 | - _mw_adminimize_get_update('_mw_adminimize_footer'); | |
| 857 | - _mw_adminimize_get_update('_mw_adminimize_writescroll'); | |
| 858 | - _mw_adminimize_get_update('_mw_adminimize_tb_window'); | |
| 859 | - _mw_adminimize_get_update('_mw_adminimize_db_redirect'); | |
| 860 | - _mw_adminimize_get_update('_mw_adminimize_ui_redirect'); | |
| 861 | - _mw_adminimize_get_update('_mw_adminimize_advice'); | |
| 862 | - _mw_adminimize_get_update('_mw_adminimize_advice_txt'); | |
| 863 | - _mw_adminimize_get_update('_mw_adminimize_timestamp'); | |
| 864 | - | |
| 865 | - // wp menu, submenu | |
| 866 | - update_option('mw_adminimize_default_menu', $menu); | |
| 867 | - update_option('mw_adminimize_default_submenu', $submenu); | |
| 868 | - | |
| 869 | - // disabled wp menu, submenu | |
| 870 | - update_option('mw_adminimize_disabled_menu', | |
| 871 | - isset($_POST['mw_adminimize_disabled_menu_items']) ? $_POST['mw_adminimize_disabled_menu_items'] : array() | |
| 1332 | + | |
| 1333 | + // Admin Bar Front end settings | |
| 1334 | + $adminimizeoptions[ 'mw_adminimize_admin_bar_frontend_nodes' ] = _mw_adminimize_get_option_value( | |
| 1335 | + 'mw_adminimize_admin_bar_frontend_nodes' | |
| 872 | 1336 | ); |
| 873 | - update_option('mw_adminimize_disabled_submenu', | |
| 874 | - isset($_POST['mw_adminimize_disabled_submenu_items']) ? $_POST['mw_adminimize_disabled_submenu_items'] : array() | |
| 1337 | + // admin bar front end options | |
| 1338 | + foreach ( $user_roles as $role ) { | |
| 1339 | + // admin bar fron tend options | |
| 1340 | + if ( isset( $_POST[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] ) ) { | |
| 1341 | + $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] = $_POST[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ]; | |
| 1342 | + } else { | |
| 1343 | + $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_frontend_' . $role . '_items' ] = array(); | |
| 1344 | + } | |
| 1345 | + } | |
| 1346 | + | |
| 1347 | + if ( isset( $_POST[ '_mw_adminimize_user_info' ] ) ) { | |
| 1348 | + $adminimizeoptions[ '_mw_adminimize_user_info' ] = (int) $_POST[ '_mw_adminimize_user_info' ]; | |
| 1349 | + } else { | |
| 1350 | + $adminimizeoptions[ '_mw_adminimize_user_info' ] = 0; | |
| 1351 | + } | |
| 1352 | + | |
| 1353 | + if ( isset( $_POST[ '_mw_adminimize_footer' ] ) ) { | |
| 1354 | + $adminimizeoptions[ '_mw_adminimize_footer' ] = (int) $_POST[ '_mw_adminimize_footer' ]; | |
| 1355 | + } else { | |
| 1356 | + $adminimizeoptions[ '_mw_adminimize_footer' ] = 0; | |
| 1357 | + } | |
| 1358 | + | |
| 1359 | + if ( isset( $_POST[ '_mw_adminimize_header' ] ) ) { | |
| 1360 | + $adminimizeoptions[ '_mw_adminimize_header' ] = (int) $_POST[ '_mw_adminimize_header' ]; | |
| 1361 | + } else { | |
| 1362 | + $adminimizeoptions[ '_mw_adminimize_header' ] = 0; | |
| 1363 | + } | |
| 1364 | + | |
| 1365 | + if ( isset( $_POST[ '_mw_adminimize_exclude_super_admin' ] ) ) { | |
| 1366 | + $adminimizeoptions[ '_mw_adminimize_exclude_super_admin' ] = (int) $_POST[ '_mw_adminimize_exclude_super_admin' ]; | |
| 1367 | + } else { | |
| 1368 | + $adminimizeoptions[ '_mw_adminimize_exclude_super_admin' ] = 0; | |
| 1369 | + } | |
| 1370 | + | |
| 1371 | + if ( isset( $_POST[ '_mw_adminimize_tb_window' ] ) ) { | |
| 1372 | + $adminimizeoptions[ '_mw_adminimize_tb_window' ] = (int) $_POST[ '_mw_adminimize_tb_window' ]; | |
| 1373 | + } else { | |
| 1374 | + $adminimizeoptions[ '_mw_adminimize_tb_window' ] = 0; | |
| 1375 | + } | |
| 1376 | + | |
| 1377 | + if ( isset( $_POST[ '_mw_adminimize_cat_full' ] ) ) { | |
| 1378 | + $adminimizeoptions[ '_mw_adminimize_cat_full' ] = (int) $_POST[ '_mw_adminimize_cat_full' ]; | |
| 1379 | + } else { | |
| 1380 | + $adminimizeoptions[ '_mw_adminimize_cat_full' ] = 0; | |
| 1381 | + } | |
| 1382 | + | |
| 1383 | + if ( isset( $_POST[ '_mw_adminimize_db_redirect' ] ) ) { | |
| 1384 | + $adminimizeoptions[ '_mw_adminimize_db_redirect' ] = (int) $_POST[ '_mw_adminimize_db_redirect' ]; | |
| 1385 | + } else { | |
| 1386 | + $adminimizeoptions[ '_mw_adminimize_db_redirect' ] = 0; | |
| 1387 | + } | |
| 1388 | + | |
| 1389 | + if ( isset( $_POST[ '_mw_adminimize_ui_redirect' ] ) ) { | |
| 1390 | + $adminimizeoptions[ '_mw_adminimize_ui_redirect' ] = (int) $_POST[ '_mw_adminimize_ui_redirect' ]; | |
| 1391 | + } else { | |
| 1392 | + $adminimizeoptions[ '_mw_adminimize_ui_redirect' ] = 0; | |
| 1393 | + } | |
| 1394 | + | |
| 1395 | + if ( isset( $_POST[ '_mw_adminimize_advice' ] ) ) { | |
| 1396 | + $adminimizeoptions[ '_mw_adminimize_advice' ] = (int) $_POST[ '_mw_adminimize_advice' ]; | |
| 1397 | + } else { | |
| 1398 | + $adminimizeoptions[ '_mw_adminimize_advice' ] = 0; | |
| 1399 | + } | |
| 1400 | + | |
| 1401 | + if ( isset( $_POST[ '_mw_adminimize_advice_txt' ] ) ) { | |
| 1402 | + $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = htmlspecialchars( | |
| 1403 | + stripslashes( $_POST[ '_mw_adminimize_advice_txt' ] ) | |
| 1404 | + ); | |
| 1405 | + } else { | |
| 1406 | + $adminimizeoptions[ '_mw_adminimize_advice_txt' ] = ''; | |
| 1407 | + } | |
| 1408 | + | |
| 1409 | + if ( isset( $_POST[ '_mw_adminimize_timestamp' ] ) ) { | |
| 1410 | + $adminimizeoptions[ '_mw_adminimize_timestamp' ] = (int) $_POST[ '_mw_adminimize_timestamp' ]; | |
| 1411 | + } else { | |
| 1412 | + $adminimizeoptions[ '_mw_adminimize_timestamp' ] = 0; | |
| 1413 | + } | |
| 1414 | + | |
| 1415 | + if ( isset( $_POST[ '_mw_adminimize_db_redirect_txt' ] ) ) { | |
| 1416 | + $adminimizeoptions[ '_mw_adminimize_db_redirect_txt' ] = esc_url( $_POST[ '_mw_adminimize_db_redirect_txt' ] ); | |
| 1417 | + } else { | |
| 1418 | + $adminimizeoptions[ '_mw_adminimize_db_redirect_txt' ] = ''; | |
| 1419 | + } | |
| 1420 | + | |
| 1421 | + // menu update | |
| 1422 | + foreach ( $user_roles as $role ) { | |
| 1423 | + if ( isset( $_POST[ 'mw_adminimize_disabled_menu_' . $role . '_items' ] ) ) { | |
| 1424 | + $adminimizeoptions[ 'mw_adminimize_disabled_menu_' . $role . '_items' ] = | |
| 1425 | + $_POST[ 'mw_adminimize_disabled_menu_' . $role . '_items' ]; | |
| 1426 | + } else { | |
| 1427 | + $adminimizeoptions[ 'mw_adminimize_disabled_menu_' . $role . '_items' ] = array(); | |
| 1428 | + } | |
| 1429 | + | |
| 1430 | + if ( isset( $_POST[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ] ) ) { | |
| 1431 | + $adminimizeoptions[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ] = | |
| 1432 | + $_POST[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ]; | |
| 1433 | + } else { | |
| 1434 | + $adminimizeoptions[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ] = array(); | |
| 1435 | + } | |
| 1436 | + } | |
| 1437 | + | |
| 1438 | + // global_options, metaboxes update | |
| 1439 | + foreach ( $user_roles as $role ) { | |
| 1440 | + | |
| 1441 | + // global options | |
| 1442 | + if ( isset( $_POST[ 'mw_adminimize_disabled_global_option_' . $role . '_items' ] ) ) { | |
| 1443 | + $adminimizeoptions[ 'mw_adminimize_disabled_global_option_' . $role . '_items' ] = | |
| 1444 | + $_POST[ 'mw_adminimize_disabled_global_option_' . $role . '_items' ]; | |
| 1445 | + } else { | |
| 1446 | + $adminimizeoptions[ 'mw_adminimize_disabled_global_option_' . $role . '_items' ] = array(); | |
| 1447 | + } | |
| 1448 | + | |
| 1449 | + if ( isset( $_POST[ 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' ] ) ) { | |
| 1450 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' ] = | |
| 1451 | + $_POST[ 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' ]; | |
| 1452 | + } else { | |
| 1453 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' ] = array(); | |
| 1454 | + } | |
| 1455 | + | |
| 1456 | + if ( isset( $_POST[ 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' ] ) ) { | |
| 1457 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' ] = | |
| 1458 | + $_POST[ 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' ]; | |
| 1459 | + } else { | |
| 1460 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' ] = array(); | |
| 1461 | + } | |
| 1462 | + | |
| 1463 | + foreach ( $post_types as $post_type ) { | |
| 1464 | + if ( isset( $_POST[ 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items' ] ) ) { | |
| 1465 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items' ] = | |
| 1466 | + $_POST[ 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items' ]; | |
| 1467 | + } else { | |
| 1468 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items' ] = array(); | |
| 1469 | + } | |
| 1470 | + } | |
| 1471 | + | |
| 1472 | + if ( isset( $_POST[ 'mw_adminimize_disabled_link_option_' . $role . '_items' ] ) ) { | |
| 1473 | + $adminimizeoptions[ 'mw_adminimize_disabled_link_option_' . $role . '_items' ] = | |
| 1474 | + $_POST[ 'mw_adminimize_disabled_link_option_' . $role . '_items' ]; | |
| 1475 | + } else { | |
| 1476 | + $adminimizeoptions[ 'mw_adminimize_disabled_link_option_' . $role . '_items' ] = array(); | |
| 1477 | + } | |
| 1478 | + | |
| 1479 | + // wp nav menu options | |
| 1480 | + if ( isset( $_POST[ 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items' ] ) ) { | |
| 1481 | + $adminimizeoptions[ 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items' ] = | |
| 1482 | + $_POST[ 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items' ]; | |
| 1483 | + } else { | |
| 1484 | + $adminimizeoptions[ 'mw_adminimize_disabled_nav_menu_option_' . $role . '_items' ] = array(); | |
| 1485 | + } | |
| 1486 | + | |
| 1487 | + // widget options | |
| 1488 | + if ( isset( $_POST[ 'mw_adminimize_disabled_widget_option_' . $role . '_items' ] ) ) { | |
| 1489 | + $adminimizeoptions[ 'mw_adminimize_disabled_widget_option_' . $role . '_items' ] = | |
| 1490 | + $_POST[ 'mw_adminimize_disabled_widget_option_' . $role . '_items' ]; | |
| 1491 | + } else { | |
| 1492 | + $adminimizeoptions[ 'mw_adminimize_disabled_widget_option_' . $role . '_items' ] = array(); | |
| 1493 | + } | |
| 1494 | + | |
| 1495 | + // wp dashboard option | |
| 1496 | + if ( isset( $_POST[ 'mw_adminimize_disabled_dashboard_option_' . $role . '_items' ] ) ) { | |
| 1497 | + $adminimizeoptions[ 'mw_adminimize_disabled_dashboard_option_' . $role . '_items' ] = | |
| 1498 | + $_POST[ 'mw_adminimize_disabled_dashboard_option_' . $role . '_items' ]; | |
| 1499 | + } else { | |
| 1500 | + $adminimizeoptions[ 'mw_adminimize_disabled_dashboard_option_' . $role . '_items' ] = array(); | |
| 1501 | + } | |
| 1502 | + } | |
| 1503 | + | |
| 1504 | + // own options | |
| 1505 | + if ( isset( $_POST[ '_mw_adminimize_own_values' ] ) ) { | |
| 1506 | + $adminimizeoptions[ '_mw_adminimize_own_values' ] = stripslashes( $_POST[ '_mw_adminimize_own_values' ] ); | |
| 1507 | + } else { | |
| 1508 | + $adminimizeoptions[ '_mw_adminimize_own_values' ] = ''; | |
| 1509 | + } | |
| 1510 | + | |
| 1511 | + if ( isset( $_POST[ '_mw_adminimize_own_options' ] ) ) { | |
| 1512 | + $adminimizeoptions[ '_mw_adminimize_own_options' ] = stripslashes( $_POST[ '_mw_adminimize_own_options' ] ); | |
| 1513 | + } else { | |
| 1514 | + $adminimizeoptions[ '_mw_adminimize_own_options' ] = ''; | |
| 1515 | + } | |
| 1516 | + | |
| 1517 | + // own post options | |
| 1518 | + if ( isset( $_POST[ '_mw_adminimize_own_post_values' ] ) ) { | |
| 1519 | + $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = stripslashes( | |
| 1520 | + $_POST[ '_mw_adminimize_own_post_values' ] | |
| 1521 | + ); | |
| 1522 | + } else { | |
| 1523 | + $adminimizeoptions[ '_mw_adminimize_own_post_values' ] = ''; | |
| 1524 | + } | |
| 1525 | + | |
| 1526 | + if ( isset( $_POST[ '_mw_adminimize_own_post_options' ] ) ) { | |
| 1527 | + $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = stripslashes( | |
| 1528 | + $_POST[ '_mw_adminimize_own_post_options' ] | |
| 1529 | + ); | |
| 1530 | + } else { | |
| 1531 | + $adminimizeoptions[ '_mw_adminimize_own_post_options' ] = ''; | |
| 1532 | + } | |
| 1533 | + | |
| 1534 | + // own page options | |
| 1535 | + if ( isset( $_POST[ '_mw_adminimize_own_page_values' ] ) ) { | |
| 1536 | + $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = stripslashes( | |
| 1537 | + $_POST[ '_mw_adminimize_own_page_values' ] | |
| 1538 | + ); | |
| 1539 | + } else { | |
| 1540 | + $adminimizeoptions[ '_mw_adminimize_own_page_values' ] = ''; | |
| 1541 | + } | |
| 1542 | + | |
| 1543 | + if ( isset( $_POST[ '_mw_adminimize_own_page_options' ] ) ) { | |
| 1544 | + $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = stripslashes( | |
| 1545 | + $_POST[ '_mw_adminimize_own_page_options' ] | |
| 1546 | + ); | |
| 1547 | + } else { | |
| 1548 | + $adminimizeoptions[ '_mw_adminimize_own_page_options' ] = ''; | |
| 1549 | + } | |
| 1550 | + | |
| 1551 | + // own custom post options | |
| 1552 | + foreach ( $post_types as $post_type ) { | |
| 1553 | + if ( isset( $_POST[ '_mw_adminimize_own_values_' . $post_type ] ) ) { | |
| 1554 | + $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = stripslashes( | |
| 1555 | + $_POST[ '_mw_adminimize_own_values_' . $post_type ] | |
| 1556 | + ); | |
| 1557 | + } else { | |
| 1558 | + $adminimizeoptions[ '_mw_adminimize_own_values_' . $post_type ] = ''; | |
| 1559 | + } | |
| 1560 | + | |
| 1561 | + if ( isset( $_POST[ '_mw_adminimize_own_options_' . $post_type ] ) ) { | |
| 1562 | + $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = stripslashes( | |
| 1563 | + $_POST[ '_mw_adminimize_own_options_' . $post_type ] | |
| 1564 | + ); | |
| 1565 | + } else { | |
| 1566 | + $adminimizeoptions[ '_mw_adminimize_own_options_' . $post_type ] = ''; | |
| 1567 | + } | |
| 1568 | + } | |
| 1569 | + | |
| 1570 | + // own link options | |
| 1571 | + if ( isset( $_POST[ '_mw_adminimize_own_link_values' ] ) ) { | |
| 1572 | + $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = stripslashes( | |
| 1573 | + $_POST[ '_mw_adminimize_own_link_values' ] | |
| 1574 | + ); | |
| 1575 | + } else { | |
| 1576 | + $adminimizeoptions[ '_mw_adminimize_own_link_values' ] = ''; | |
| 1577 | + } | |
| 1578 | + | |
| 1579 | + if ( isset( $_POST[ '_mw_adminimize_own_link_options' ] ) ) { | |
| 1580 | + $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = stripslashes( | |
| 1581 | + $_POST[ '_mw_adminimize_own_link_options' ] | |
| 1582 | + ); | |
| 1583 | + } else { | |
| 1584 | + $adminimizeoptions[ '_mw_adminimize_own_link_options' ] = ''; | |
| 1585 | + } | |
| 1586 | + | |
| 1587 | + // wp nav menu options | |
| 1588 | + if ( isset( $_POST[ '_mw_adminimize_own_nav_menu_values' ] ) ) { | |
| 1589 | + $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = stripslashes( | |
| 1590 | + $_POST[ '_mw_adminimize_own_nav_menu_values' ] | |
| 1591 | + ); | |
| 1592 | + } else { | |
| 1593 | + $adminimizeoptions[ '_mw_adminimize_own_nav_menu_values' ] = ''; | |
| 1594 | + } | |
| 1595 | + | |
| 1596 | + if ( isset( $_POST[ '_mw_adminimize_own_nav_menu_options' ] ) ) { | |
| 1597 | + $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = stripslashes( | |
| 1598 | + $_POST[ '_mw_adminimize_own_nav_menu_options' ] | |
| 1599 | + ); | |
| 1600 | + } else { | |
| 1601 | + $adminimizeoptions[ '_mw_adminimize_own_nav_menu_options' ] = ''; | |
| 1602 | + } | |
| 1603 | + | |
| 1604 | + // widget options | |
| 1605 | + if ( isset( $_POST[ '_mw_adminimize_own_widget_values' ] ) ) { | |
| 1606 | + $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = stripslashes( | |
| 1607 | + $_POST[ '_mw_adminimize_own_widget_values' ] | |
| 1608 | + ); | |
| 1609 | + } else { | |
| 1610 | + $adminimizeoptions[ '_mw_adminimize_own_widget_values' ] = ''; | |
| 1611 | + } | |
| 1612 | + | |
| 1613 | + if ( isset( $_POST[ '_mw_adminimize_own_widget_options' ] ) ) { | |
| 1614 | + $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = stripslashes( | |
| 1615 | + $_POST[ '_mw_adminimize_own_widget_options' ] | |
| 1616 | + ); | |
| 1617 | + } else { | |
| 1618 | + $adminimizeoptions[ '_mw_adminimize_own_widget_options' ] = ''; | |
| 1619 | + } | |
| 1620 | + | |
| 1621 | + // own dashboard options | |
| 1622 | + if ( isset( $_POST[ '_mw_adminimize_own_dashboard_values' ] ) ) { | |
| 1623 | + $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = stripslashes( | |
| 1624 | + $_POST[ '_mw_adminimize_own_dashboard_values' ] | |
| 1625 | + ); | |
| 1626 | + } else { | |
| 1627 | + $adminimizeoptions[ '_mw_adminimize_own_dashboard_values' ] = ''; | |
| 1628 | + } | |
| 1629 | + | |
| 1630 | + if ( isset( $_POST[ '_mw_adminimize_own_dashboard_options' ] ) ) { | |
| 1631 | + $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = stripslashes( | |
| 1632 | + $_POST[ '_mw_adminimize_own_dashboard_options' ] | |
| 1633 | + ); | |
| 1634 | + } else { | |
| 1635 | + $adminimizeoptions[ '_mw_adminimize_own_dashboard_options' ] = ''; | |
| 1636 | + } | |
| 1637 | + | |
| 1638 | + $adminimizeoptions[ 'mw_adminimize_dashboard_widgets' ] = _mw_adminimize_get_option_value( | |
| 1639 | + 'mw_adminimize_dashboard_widgets' | |
| 875 | 1640 | ); |
| 876 | - update_option('mw_adminimize_disabled_menu_adm', | |
| 877 | - isset($_POST['mw_adminimize_disabled_menu_adm_items']) ? $_POST['mw_adminimize_disabled_menu_adm_items'] : array() | |
| 878 | - ); | |
| 879 | - update_option('mw_adminimize_disabled_submenu_adm', | |
| 880 | - isset($_POST['mw_adminimize_disabled_submenu_adm_items']) ? $_POST['mw_adminimize_disabled_submenu_adm_items'] : array() | |
| 881 | - ); | |
| 882 | - | |
| 883 | - // disabled meta boxes post | |
| 884 | - update_option('mw_adminimize_disabled_metaboxes_post', | |
| 885 | - isset($_POST['mw_adminimize_disabled_metaboxes_post_items']) ? $_POST['mw_adminimize_disabled_metaboxes_post_items'] : array() | |
| 886 | - ); | |
| 887 | - // disabled meta boxes page | |
| 888 | - update_option('mw_adminimize_disabled_metaboxes_page', | |
| 889 | - isset($_POST['mw_adminimize_disabled_metaboxes_page_items']) ? $_POST['mw_adminimize_disabled_metaboxes_page_items'] : array() | |
| 890 | - ); | |
| 891 | - // disabled meta boxes post Admin | |
| 892 | - update_option('mw_adminimize_disabled_metaboxes_post_adm', | |
| 893 | - isset($_POST['mw_adminimize_disabled_metaboxes_post_adm_items']) ? $_POST['mw_adminimize_disabled_metaboxes_post_adm_items'] : array() | |
| 894 | - ); | |
| 895 | - // disabled meta boxes page Admin | |
| 896 | - update_option('mw_adminimize_disabled_metaboxes_page_adm', | |
| 897 | - isset($_POST['mw_adminimize_disabled_metaboxes_page_adm_items']) ? $_POST['mw_adminimize_disabled_metaboxes_page_adm_items'] : array() | |
| 898 | - ); | |
| 899 | 1641 | |
| 1642 | + if ( isset( $GLOBALS[ 'menu' ] ) ) { | |
| 1643 | + $adminimizeoptions[ 'mw_adminimize_default_menu' ] = $GLOBALS[ 'menu' ]; | |
| 1644 | + } | |
| 1645 | + if ( isset( $GLOBALS[ 'submenu' ] ) ) { | |
| 1646 | + $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $GLOBALS[ 'submenu' ]; | |
| 1647 | + } | |
| 1648 | + | |
| 1649 | + // update | |
| 1650 | + _mw_adminimize_update_option( $adminimizeoptions ); | |
| 1651 | + | |
| 900 | 1652 | $myErrors = new _mw_adminimize_message_class(); |
| 901 | - $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_update') . '</p></div>'; | |
| 1653 | + $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error( | |
| 1654 | + '_mw_adminimize_update' | |
| 1655 | + ) . '</p></div>'; | |
| 902 | 1656 | echo $myErrors; |
| 903 | 1657 | } |
| 904 | 1658 | |
| 905 | - | |
| 906 | 1659 | /** |
| 907 | 1660 | * Delete options in database |
| 908 | 1661 | */ |
| 909 | 1662 | function _mw_adminimize_deinstall() { |
| 910 | - | |
| 911 | - delete_option('_mw_adminimize_sidebar_wight'); | |
| 912 | - delete_option('_mw_adminimize_user_info'); | |
| 913 | - delete_option('_mw_adminimize_footer'); | |
| 914 | - delete_option('_mw_adminimize_writescroll'); | |
| 915 | - delete_option('_mw_adminimize_tb_window'); | |
| 916 | - delete_option('_mw_adminimize_db_redirect'); | |
| 917 | - delete_option('_mw_adminimize_ui_redirect'); | |
| 918 | - delete_option('_mw_adminimize_advice'); | |
| 919 | - delete_option('_mw_adminimize_advice_txt'); | |
| 920 | - delete_option('_mw_adminimize_timestamp'); | |
| 921 | - | |
| 922 | - delete_option('mw_adminimize_default_menu'); | |
| 923 | - delete_option('mw_adminimize_default_submenu'); | |
| 924 | - delete_option('mw_adminimize_disabled_menu'); | |
| 925 | - delete_option('mw_adminimize_disabled_submenu'); | |
| 926 | - delete_option('mw_adminimize_disabled_menu_adm'); | |
| 927 | - delete_option('mw_adminimize_disabled_submenu_adm'); | |
| 928 | - | |
| 929 | - delete_option('mw_adminimize_default_metaboxes_post'); | |
| 930 | - delete_option('mw_adminimize_disabled_metaboxes_page-adm'); | |
| 931 | - delete_option('mw_adminimize_disabled_metaboxes_post'); | |
| 932 | - delete_option('mw_adminimize_disabled_metaboxes_page'); | |
| 933 | - delete_option('mw_adminimize_disabled_metaboxes_post_adm'); | |
| 934 | - delete_option('mw_adminimize_disabled_metaboxes_page_adm'); | |
| 935 | 1663 | |
| 936 | - delete_option('_mw_adminimize_update_key'); | |
| 1664 | + delete_site_option( 'mw_adminimize' ); | |
| 1665 | + delete_option( 'mw_adminimize' ); | |
| 937 | 1666 | } |
| 938 | 1667 | |
| 939 | - | |
| 940 | 1668 | /** |
| 941 | 1669 | * Install options in database |
| 942 | 1670 | */ |
| 943 | 1671 | function _mw_adminimize_install() { |
| 944 | 1672 | |
| 945 | - add_option('mw_adminimize_default_menu', '', ''); | |
| 946 | - add_option('mw_adminimize_default_submenu', '', ''); | |
| 947 | - add_option('mw_adminimize_disabled_menu', array(), ''); | |
| 948 | - add_option('mw_adminimize_disabled_submenu', array(), ''); | |
| 949 | - add_option('mw_adminimize_disabled_menu_adm', array(), ''); | |
| 950 | - add_option('mw_adminimize_disabled_submenu_adm', array(), ''); | |
| 1673 | + if ( ! is_admin() ) { | |
| 1674 | + return NULL; | |
| 1675 | + } | |
| 951 | 1676 | |
| 952 | - add_option('mw_adminimize_disabled_metaboxes_post', array(),''); | |
| 953 | - add_option('mw_adminimize_disabled_metaboxes_page', array(),''); | |
| 954 | - add_option('mw_adminimize_disabled_metaboxes_post_adm', array(),''); | |
| 955 | - add_option('mw_adminimize_disabled_metaboxes_page_adm', array(),''); | |
| 1677 | + global $menu, $submenu; | |
| 1678 | + | |
| 1679 | + $user_roles = _mw_adminimize_get_all_user_roles(); | |
| 1680 | + $adminimizeoptions = array(); | |
| 1681 | + | |
| 1682 | + foreach ( $user_roles as $role ) { | |
| 1683 | + $adminimizeoptions[ 'mw_adminimize_disabled_menu_' . $role . '_items' ] = array(); | |
| 1684 | + $adminimizeoptions[ 'mw_adminimize_disabled_submenu_' . $role . '_items' ] = array(); | |
| 1685 | + $adminimizeoptions[ 'mw_adminimize_disabled_admin_bar_' . $role . '_items' ] = array(); | |
| 1686 | + $adminimizeoptions[ 'mw_adminimize_disabled_global_option_' . $role . '_items' ] = array(); | |
| 1687 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_post_' . $role . '_items' ] = array(); | |
| 1688 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_page_' . $role . '_items' ] = array(); | |
| 1689 | + $args = array( | |
| 1690 | + 'public' => TRUE, | |
| 1691 | + '_builtin' => FALSE, | |
| 1692 | + ); | |
| 1693 | + foreach ( get_post_types( $args ) as $post_type ) { | |
| 1694 | + $adminimizeoptions[ 'mw_adminimize_disabled_metaboxes_' . $post_type . '_' . $role . '_items' ] = array(); | |
| 1695 | + } | |
| 1696 | + } | |
| 1697 | + | |
| 1698 | + $adminimizeoptions[ 'mw_adminimize_default_menu' ] = $menu; | |
| 1699 | + $adminimizeoptions[ 'mw_adminimize_default_submenu' ] = $submenu; | |
| 1700 | + | |
| 1701 | + if ( _mw_adminimize_is_active_on_multisite() ) { | |
| 1702 | + add_site_option( 'mw_adminimize', $adminimizeoptions ); | |
| 1703 | + } else { | |
| 1704 | + add_option( 'mw_adminimize', $adminimizeoptions ); | |
| 1705 | + } | |
| 956 | 1706 | } |
| 957 | -?> | |
| 1707 | + | |
| 1708 | +/** | |
| 1709 | + * Process a settings export that generates a .json file of the shop settings | |
| 1710 | + */ | |
| 1711 | +function _mw_adminimize_export_json() { | |
| 1712 | + | |
| 1713 | + if ( empty( $_GET[ '_mw_adminimize_export' ] ) || 'true' !== $_GET[ '_mw_adminimize_export' ] ) { | |
| 1714 | + return; | |
| 1715 | + } | |
| 1716 | + | |
| 1717 | + require_once ABSPATH . 'wp-includes/pluggable.php'; | |
| 1718 | + if ( ! wp_verify_nonce( $_GET[ 'mw_adminimize_export_nonce' ], 'mw_adminimize_export_nonce' ) ) { | |
| 1719 | + return; | |
| 1720 | + } | |
| 1721 | + | |
| 1722 | + if ( ! current_user_can( 'manage_options' ) ) { | |
| 1723 | + return; | |
| 1724 | + } | |
| 1725 | + | |
| 1726 | + $settings = _mw_adminimize_get_option_value(); | |
| 1727 | + | |
| 1728 | + ignore_user_abort( TRUE ); | |
| 1729 | + | |
| 1730 | + nocache_headers(); | |
| 1731 | + header( 'Content-Type: application/json; charset=utf-8' ); | |
| 1732 | + header( 'Content-Disposition: attachment; filename=mw_adminimize-settings-export-' . date( 'm-d-Y' ) . '.json' ); | |
| 1733 | + header( 'Expires: 0' ); | |
| 1734 | + | |
| 1735 | + echo json_encode( $settings ); | |
| 1736 | + exit(); | |
| 1737 | +} | |
| 1738 | + | |
| 1739 | +/** | |
| 1740 | + * Process a settings import from a json file | |
| 1741 | + */ | |
| 1742 | +function _mw_adminimize_import_json() { | |
| 1743 | + | |
| 1744 | + if ( empty( $_POST[ '_mw_adminimize_action' ] ) || '_mw_adminimize_import' !== $_POST[ '_mw_adminimize_action' ] ) { | |
| 1745 | + return; | |
| 1746 | + } | |
| 1747 | + | |
| 1748 | + if ( ! wp_verify_nonce( $_POST[ 'mw_adminimize_import_nonce' ], 'mw_adminimize_import_nonce' ) ) { | |
| 1749 | + return; | |
| 1750 | + } | |
| 1751 | + | |
| 1752 | + if ( ! current_user_can( 'manage_options' ) ) { | |
| 1753 | + return; | |
| 1754 | + } | |
| 1755 | + | |
| 1756 | + $extension = pathinfo( $_FILES[ 'import_file' ][ 'name' ], PATHINFO_EXTENSION ); | |
| 1757 | + if ( $extension !== 'json' ) { | |
| 1758 | + wp_die( esc_attr__( 'Please upload a valid .json file' ) ); | |
| 1759 | + } | |
| 1760 | + | |
| 1761 | + $import_file = $_FILES[ 'import_file' ][ 'tmp_name' ]; | |
| 1762 | + | |
| 1763 | + if ( empty( $import_file ) ) { | |
| 1764 | + wp_die( esc_attr__( 'Please upload a file to import' ) ); | |
| 1765 | + } | |
| 1766 | + | |
| 1767 | + // Retrieve the settings from the file and convert the json object to an array. | |
| 1768 | + $settings = (array) json_decode( file_get_contents( $import_file ) ); | |
| 1769 | + unlink( $import_file ); | |
| 1770 | + | |
| 1771 | + _mw_adminimize_update_option( $settings ); | |
| 1772 | +} | |