PluginProbe
Adminimize / 1.3
Adminimize v1.3
1.11.14 1.11.13 1.11.1 1.11.10 1.11.11 1.11.12 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 1.11.7 1.11.8 1.11.9 1.3 1.4.7 1.6 1.7.12 1.7.13 1.7.14 1.7.15 1.7.16 1.7.17 1.7.18 1.7.19 All 53 releases
adminimize / adminimize.php

adminimize.php in Adminimize 1.3, at adminimize.php

957 lines 33.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 /**
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.
17 *
18 * The javascript for de/activate ist by Oliver Schl�be, http://www.schloebe.de
19 * - many thanks
20 */
21
22
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' );
28
29
30 function _mw_adminimize_textdomain() {
31
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 }
39 }
40
41
42 /**
43 * some basic security with nonce
44 * @var $_mw_adminimize_nonce
45 */
46 if ( !function_exists('wp_nonce_field') ) {
47 function _mw_adminimize_nonce_field($action = -1) {
48 return;
49 }
50 $_mw_adminimize_nonce = -1;
51 } else {
52 function _mw_adminimize_nonce_field($action = -1) {
53 return wp_nonce_field($action);
54 }
55 $_mw_adminimize_nonce = '_mw_adminimize_update_key';
56 }
57
58
59 /**
60 * some basics for message
61 * @var $_mw_adminimize_nonce
62 */
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();
68 }
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);
79 }
80 return $errorMessage;
81 }
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&uuml;hren!', 'adminimize'));
87 $this->errors->add('_mw_adminimize_deinstall', __('Die Einstellungen wurde gel&ouml;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&ouml;nnen nicht geladen werden!', 'adminimize'));
90 $this->errors->add('_mw_adminimize_set_theme', __('Backend-Theme wurde zugewiesen!', 'adminimize'));
91 }
92 }
93
94
95 /**
96 * check user-option and add new style
97 * @uses $pagenow
98 */
99 function _mw_adminimize_init() {
100 global $pagenow, $menu, $submenu;
101
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');
106
107 $_mw_admin_color = get_user_option('admin_color');
108
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);
126 }
127
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');
140 }
141
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);
146
147 if ( in_array('media_buttons', $disabled_metaboxes_page) || in_array('media_buttons', $disabled_metaboxes_page_adm) )
148 remove_action('media_buttons', 'media_buttons');
149 }
150
151 }
152
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 // set menu option
172 add_action('admin_head', '_mw_adminimize_set_menu_option', 1);
173
174 // set metabox option
175 add_action('admin_head', '_mw_adminimize_set_metabox_option', 1);
176
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);
181 }
182
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);
188
189 register_activation_hook(__FILE__, '_mw_adminimize_install');
190 //register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall');
191
192
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);
205 }
206
207
208 /**
209 * new tb_window of media-uplader
210 */
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 }
246
247
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") {
255
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);
263 }
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);
268 }
269 }
270 if ( $img_url)
271 return array($img_url, 0, 0);
272 return false;
273 }
274
275
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 }
296
297
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 ?>
305
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
337 }
338
339
340 /**
341 * list tag-box in sidebar
342 * @uses $post_ID
343 */
344 function _mw_adminimize_sidecat_list_tag_box() {
345 global $post_ID;
346
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
355 }
356 }
357
358
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";
374
375 print($_mw_adminimize_sidecat_admin_head);
376 }
377 }
378
379
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]);
396 }
397
398
399 /**
400 * add new adminstyle to usersettings
401 * @param $file
402 */
403 function _mw_adminimize_admin_styles($file) {
404
405 $_mw_adminimize_path = WP_CONTENT_URL . '/plugins/' . plugin_basename( dirname(__FILE__) ) . '/css/';
406
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 );
413
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 );
420
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 );
427
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 );
434
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 );
441
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')
454 );
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')
461 );
462
463 }
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
486 }
487 }
488
489
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;
497
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');
502
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;
531 }
532
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 );
551 }
552 }
553 }
554 }
555 }
556
557
558 /**
559 * remove the flash_uploader
560 */
561 function _mw_adminimize_disable_flash_uploader() {
562 return false;
563 }
564
565
566 /**
567 * set user options from database in edit-area
568 */
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;
596 }
597
598 print($_mw_adminimize_sidecat_admin_head);
599 }
600
601
602 /**
603 * set menu options from database
604 */
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');
612
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&amp;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";
630 }
631 $_mw_adminimize_admin_head .= '</script>' . "\n";
632 break;
633 }
634
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;
642 }
643
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;
652 }
653
654 $_mw_adminimize_admin_head .= '<script type="text/javascript">
655 /* <![CDATA[ */
656 adminimizeL10n = {
657 all: "' . __('Alle', 'adminimize') . '", none: "' . __('Keine', 'adminimize') . '"
658 }
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
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 }
682 }
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 }
699 }
700 }
701
702 }
703
704 print($_mw_adminimize_admin_head);
705 }
706
707
708 /**
709 * set metabox options from database
710 */
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');
719
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
727 }
728
729 $_mw_adminimize_admin_head .= '<style type="text/css">' . $metaboxes . ' {display: none !important}</style>' . "\n";
730 }
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
743 }
744
745 $_mw_adminimize_admin_head .= '<style type="text/css">' . $metaboxes . ' {display: none !important}</style>' . "\n";
746 }
747
748 print($_mw_adminimize_admin_head);
749 }
750
751
752 /**
753 * small user-info
754 * @uses $post_ID
755 */
756 function _mw_adminimize_small_user_info() {
757 ?>
758 <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>
760 </div>
761 <?php
762 }
763
764
765 /**
766 * include options-page in wp-admin
767 */
768 require_once('adminimize_page.php');
769
770
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 }
787
788
789 /**
790 * Add action link(s) to plugins page
791 * Thanks Dion Hulse -- http://dd32.id.au/wordpress-plugins/?configure-link
792 */
793 function _mw_adminimize_filter_plugin_actions($links, $file){
794 static $this_plugin;
795
796 if( !$this_plugin ) $this_plugin = plugin_basename(__FILE__);
797
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 return $links;
804 }
805
806
807 /**
808 * settings in plugin-admin-page
809 */
810 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);
814 }
815 }
816
817
818 /**
819 * Set theme for users y user_level 10
820 */
821 function _mw_adminimize_set_theme() {
822
823 if ( !current_user_can('edit_users') )
824 wp_die(__('Cheatin&#8217; uh?'));
825
826 $user_ids = $_POST[mw_adminimize_theme_items];
827 $admin_color = htmlspecialchars( stripslashes( $_POST[_mw_adminimize_set_theme] ) );
828
829 if ( !$user_ids )
830 return false;
831
832 foreach( $user_ids as $user_id) {
833 $user_id = (int) $user_id;
834 update_usermeta($user_id, 'admin_color', $admin_color);
835 }
836 }
837
838
839 /**
840 * Update options in database
841 */
842 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);
849 } else {
850 update_option($option , $_POST[$option]);
851 }
852 }
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()
872 );
873 update_option('mw_adminimize_disabled_submenu',
874 isset($_POST['mw_adminimize_disabled_submenu_items']) ? $_POST['mw_adminimize_disabled_submenu_items'] : array()
875 );
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
900 $myErrors = new _mw_adminimize_message_class();
901 $myErrors = '<div id="message" class="updated fade"><p>' . $myErrors->get_error('_mw_adminimize_update') . '</p></div>';
902 echo $myErrors;
903 }
904
905
906 /**
907 * Delete options in database
908 */
909 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
936 delete_option('_mw_adminimize_update_key');
937 }
938
939
940 /**
941 * Install options in database
942 */
943 function _mw_adminimize_install() {
944
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(), '');
951
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(),'');
956 }
957 ?>