localizionName = 'adminimize';
$this->errors = new WP_Error();
$this->initialize_errors();
}
/**
get_error - Returns an error message based on the passed code
Parameters - $code (the error code as a string)
Returns an error message
*/
function get_error($code = '') {
$errorMessage = $this->errors->get_error_message($code);
if ($errorMessage == null) {
return __("Unbekannter Fehler.", $this->localizionName);
}
return $errorMessage;
}
// Initializes all the error messages
function initialize_errors() {
$this->errors->add('_mw_adminimize_update', __('Die Einstellungen wurden gespeichert.', 'adminimize'));
$this->errors->add('_mw_adminimize_access_denied', __('Du hast nicht ausreichend Rechte um diese Aktion durchzuführen!', 'adminimize'));
$this->errors->add('_mw_adminimize_deinstall', __('Die Einstellungen wurde gelöscht!', 'adminimize'));
$this->errors->add('_mw_adminimize_deinstall_yes', __('Checkbox setzen, wenn wirklich deinstalliert werden soll!', 'adminimize'));
$this->errors->add('_mw_adminimize_get_option', __('Menu und Submenu können nicht geladen werden!', 'adminimize'));
$this->errors->add('_mw_adminimize_set_theme', __('Backend-Theme wurde zugewiesen!', 'adminimize'));
}
}
/**
* check user-option and add new style
* @uses $pagenow
*/
function _mw_adminimize_init() {
global $pagenow, $menu, $submenu;
$disabled_metaboxes_post = get_option('mw_adminimize_disabled_metaboxes_post');
$disabled_metaboxes_page = get_option('mw_adminimize_disabled_metaboxes_page');
$disabled_metaboxes_post_adm = get_option('mw_adminimize_disabled_metaboxes_post_adm');
$disabled_metaboxes_page_adm = get_option('mw_adminimize_disabled_metaboxes_page_adm');
$_mw_admin_color = get_user_option('admin_color');
if ( ($_mw_admin_color == 'mw_fresh') ||
($_mw_admin_color == 'mw_classic') ||
($_mw_admin_color == 'mw_colorblind') ||
($_mw_admin_color == 'mw_grey') ||
($_mw_admin_color == 'mw_fresh_ozh_am') ||
($_mw_admin_color == 'mw_classic_ozh_am') ||
($_mw_admin_color == 'mw_fresh_lm') ||
($_mw_admin_color == 'mw_classic_lm') ||
($_mw_admin_color == 'mw_wp23')
) {
if ( ($_mw_admin_color == 'mw_fresh') ||
($_mw_admin_color == 'mw_classic') ||
($_mw_admin_color == 'mw_colorblind') ||
($_mw_admin_color == 'mw_grey') ||
($_mw_admin_color == 'mw_wp23')
) {
add_action('admin_head', '_mw_adminimize_adminmenu', 1);
}
if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) ) {
add_action('admin_head', '_mw_adminimize_remove_box', 99);
add_action('admin_head', '_mw_adminimize_remove_tb_window');
//add_filter('image_downsize', '_mw_adminimize_image_downsize', 1, 3);
if ( !in_array('#categorydivsb', $disabled_metaboxes_post) || !in_array('#categorydivsb', $disabled_metaboxes_post_adm) )
add_action('submitpost_box', '_mw_adminimize_sidecat_list_category_box');
if ( !in_array('#tagsdivsb', $disabled_metaboxes_post) || !in_array('#tagsdivsb', $disabled_metaboxes_post_adm) )
add_action('submitpost_box', '_mw_adminimize_sidecat_list_tag_box');
if ( in_array('media_buttons', $disabled_metaboxes_post) || in_array('media_buttons', $disabled_metaboxes_post_adm) )
remove_action('media_buttons', 'media_buttons');
}
if ( ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) {
add_action('admin_head', '_mw_adminimize_remove_tb_window');
//add_filter('image_downsize', '_mw_adminimize_image_downsize', 1, 3);
if ( in_array('media_buttons', $disabled_metaboxes_page) || in_array('media_buttons', $disabled_metaboxes_page_adm) )
remove_action('media_buttons', 'media_buttons');
}
}
if ( ('post-new.php' == $pagenow) || ('page-new.php' == $pagenow) || ('page.php' == $pagenow) || ('post.php' == $pagenow) ) {
$_mw_adminimize_writescroll = get_option('_mw_adminimize_writescroll');
switch ($_mw_adminimize_writescroll) {
case 1:
add_action('admin_head', '_mw_adminimize_writescroll');
break;
}
$_mw_adminimize_tb_window = get_option('_mw_adminimize_tb_window');
switch ($_mw_adminimize_tb_window) {
case 1:
add_action('admin_head', '_mw_adminimize_tb_window');
break;
}
// set user option in edit-area
add_action('admin_head', '_mw_adminimize_set_user_option_edit');
}
// set menu option
add_action('admin_head', '_mw_adminimize_set_menu_option', 1);
// set metabox option
add_action('admin_head', '_mw_adminimize_set_metabox_option', 1);
add_action('in_admin_footer', '_mw_adminimize_admin_footer');
update_option('mw_adminimize_default_menu', $menu);
update_option('mw_adminimize_default_submenu', $submenu);
}
add_action('init', '_mw_adminimize_textdomain');
add_action('admin_menu', '_mw_adminimize_add_settings_page');
add_action('admin_menu', '_mw_adminimize_remove_dashboard');
add_action('admin_init', '_mw_adminimize_init', 1);
add_action('admin_init', '_mw_adminimize_admin_styles', 1);
register_activation_hook(__FILE__, '_mw_adminimize_install');
//register_deactivation_hook(__FILE__, '_mw_adminimize_deinstall');
/**
* remove tb_window of media-uplader
* @echo script
*/
function _mw_adminimize_remove_tb_window() {
$_mw_adminimize_remove_tb_window = "\n";
$_mw_adminimize_remove_tb_window .= '' . "\n";
print($_mw_adminimize_remove_tb_window);
}
/**
* new tb_window of media-uplader
*/
function _mw_adminimize_tb_window() {
?>
' . "\n";
$_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#categorydiv\').remove(); });' . "\n";
$_mw_adminimize_sidecat_admin_head .= "\t" . 'jQuery(document).ready(function() { jQuery(\'#tagsdiv\').remove(); });' . "\n";
$_mw_adminimize_sidecat_admin_head .= '' . "\n";
print($_mw_adminimize_sidecat_admin_head);
}
}
/**
* reorder admin-menu
* @uses $menu
* @param $file
*/
function _mw_adminimize_adminmenu($file) {
global $menu;
$menu[7] = $menu[5];
$menu[5] = $menu[0];
$menu[32] = $menu[40];
$menu[40] = $menu[35];
$menu[35] = $menu[30];
$menu[30] = $menu[15];
unset($menu[0]);
unset($menu[15]);
}
/**
* add new adminstyle to usersettings
* @param $file
*/
function _mw_adminimize_admin_styles($file) {
$_mw_adminimize_path = WP_CONTENT_URL . '/plugins/' . plugin_basename( dirname(__FILE__) ) . '/css/';
// MW Adminimize Classic
$styleName = 'MW Adminimize:' . ' ' . __('Classic');
wp_admin_css_color (
'mw_classic', $styleName, $_mw_adminimize_path . 'mw_classic.css',
array('#07273E', '#14568A', '#D54E21', '#2683AE')
);
// MW Adminimize Fresh
$styleName = 'MW Adminimize:' . ' ' . __('Fresh');
wp_admin_css_color (
'mw_fresh', $styleName, $_mw_adminimize_path . 'mw_fresh.css',
array('#464646', '#CEE1EF', '#D54E21', '#2683AE')
);
// MW Adminimize WordPress 2.3
$styleName = 'MW Adminimize:' . ' ' . __('WordPress 2.3');
wp_admin_css_color (
'mw_wp23', $styleName, $_mw_adminimize_path . 'mw_wp23.css',
array('#000000', '#14568A', '#448ABD', '#83B4D8')
);
// MW Adminimize Colorblind
$styleName = 'MW Adminimize:' . ' ' . __('Maybe i\'m colorblind');
wp_admin_css_color (
'mw_colorblind', $styleName, $_mw_adminimize_path . 'mw_colorblind.css',
array('#FF9419', '#F0720C', '#710001', '#550007', '#CF4529')
);
// MW Adminimize Grey
$styleName = 'MW Adminimize:' . ' ' . __('Grey');
wp_admin_css_color (
'mw_grey', $styleName, $_mw_adminimize_path . 'mw_grey.css',
array('#000000', '#787878', '#F0F0F0', '#D8D8D8', '#909090')
);
/**
* style and changes for plugin Admin Drop Down Menu
* by Ozh
* http://planetozh.com/blog/my-projects/wordpress-admin-menu-drop-down-css/
*/
if ( function_exists('wp_ozh_adminmenu') ) {
// MW Adminimize Classic include ozh adminmenu
$styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __('Classic');
wp_admin_css_color (
'mw_classic_ozh_am', $styleName, $_mw_adminimize_path . 'mw_classic_ozh_am.css',
array('#07273E', '#14568A', '#D54E21', '#2683AE')
);
// MW Adminimize Fresh include ozh adminmenu
$styleName = 'MW Adminimize inc. Admin Drop Down Menu' . ' ' . __('Fresh');
wp_admin_css_color (
'mw_fresh_ozh_am', $styleName, $_mw_adminimize_path . 'mw_fresh_ozh_am.css',
array('#464646', '#CEE1EF', '#D54E21', '#2683AE')
);
}
/**
* style and changes for plugin Lighter Menus
* by corpodibacco
* http://www.italyisfalling.com/lighter-menus
*/
if ( function_exists('lm_build') ) {
// MW Adminimize Classic include Lighter Menus
$styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __('Classic');
wp_admin_css_color (
'mw_classic_lm', $styleName, $_mw_adminimize_path . 'mw_classic_lm.css',
array('#07273E', '#14568A', '#D54E21', '#2683AE')
);
// MW Adminimize Fresh include Lighter Menus
$styleName = 'MW Adminimize inc. Lighter Menus' . ' ' . __('Fresh');
wp_admin_css_color (
'mw_fresh_lm', $styleName, $_mw_adminimize_path . 'mw_fresh_lm.css',
array('#464646', '#CEE1EF', '#D54E21', '#2683AE')
);
}
}
/**
* remove the dashbord
* @author of basic Austin Matzko
* http://www.ilfilosofo.com/blog/2006/05/24/plugin-remove-the-wordpress-dashboard/
*/
function _mw_adminimize_remove_dashboard() {
global $menu, $submenu, $user_ID;
$disabled_menu = get_option('mw_adminimize_disabled_menu');
$disabled_submenu = get_option('mw_adminimize_disabled_submenu');
$disabled_menu_adm = get_option('mw_adminimize_disabled_menu_adm');
$disabled_submenu_adm = get_option('mw_adminimize_disabled_submenu_adm');
// remove dashboard
if ($disabled_menu != '') {
if ( ( in_array('index.php', $disabled_menu) && !current_user_can('level_10') ) ||
( in_array('index.php', $disabled_submenu) && !current_user_can('level_10') ) ||
( in_array('index.php', $disabled_menu_adm) && current_user_can('level_10') ) ||
( in_array('index.php', $disabled_submenu_adm) && current_user_can('level_10') )
) {
$_mw_adminimize_db_redirect = get_option('_mw_adminimize_db_redirect');
switch ($_mw_adminimize_db_redirect) {
case 0:
$_mw_adminimize_db_redirect = 'profile.php';
break;
case 1:
$_mw_adminimize_db_redirect = 'edit.php';
break;
case 2:
$_mw_adminimize_db_redirect = 'edit-pages.php';
break;
case 3:
$_mw_adminimize_db_redirect = 'post-new.php';
break;
case 4:
$_mw_adminimize_db_redirect = 'page-new.php';
break;
case 5:
$_mw_adminimize_db_redirect = 'edit-comments.php';
break;
}
$the_user = new WP_User($user_ID);
reset($menu); $page = key($menu);
while ( (__('Dashboard') != $menu[$page][0]) && next($menu) || (__('Dashboard') != $menu[$page][1]) && next($menu) )
$page = key($menu);
if (__('Dashboard') == $menu[$page][0] || __('Dashboard') == $menu[$page][1])
unset($menu[$page]);
reset($menu); $page = key($menu);
while ( !$the_user->has_cap($menu[$page][1]) && next($menu) )
$page = key($menu);
if ( preg_match('#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'])) {
if (function_exists('admin_url')) {
wp_redirect( admin_url($_mw_adminimize_db_redirect) );
} else {
wp_redirect( get_option('siteurl') . '/wp-admin/' . $_mw_adminimize_db_redirect );
}
}
}
}
}
/**
* remove the flash_uploader
*/
function _mw_adminimize_disable_flash_uploader() {
return false;
}
/**
* set user options from database in edit-area
*/
function _mw_adminimize_set_user_option_edit() {
$_mw_adminimize_path = WP_CONTENT_URL . '/plugins/' . plugin_basename( dirname(__FILE__) ) . '/css/';
$_mw_adminimize_sidecat_admin_head = '';
$_mw_adminimize_sidebar_wight = get_option('_mw_adminimize_sidebar_wight');
switch ($_mw_adminimize_sidebar_wight) {
case 300:
$_mw_adminimize_sidecat_admin_head .= '' . "\n";
$_mw_adminimize_admin_head .= '' . "\n";
break;
}
$_mw_adminimize_footer = get_option('_mw_adminimize_footer');
switch ($_mw_adminimize_footer) {
case 1:
$_mw_adminimize_admin_head .= '' . "\n";
break;
}
// timestamp open
$_mw_adminimize_timestamp = get_option('_mw_adminimize_timestamp');
switch ($_mw_adminimize_timestamp) {
case 1:
$_mw_adminimize_admin_head .= '' . "\n";
break;
}
$_mw_adminimize_admin_head .= '';
$_mw_adminimize_admin_head .= '';
// set menu
if ($disabled_menu != '') {
// set user-menu
if ( !current_user_can('level_10') ) {
foreach ($menu as $index => $item) {
if ($item == 'index.php')
continue;
if (in_array($item[2], $disabled_menu))
unset($menu[$index]);
if ( !empty($submenu[$item[2]]) ) {
foreach ($submenu[$item[2]] as $subindex => $subitem) {
if (in_array($subitem[2], $disabled_submenu))
unset($submenu[$item[2]][$subindex]);
}
}
}
}
// set admin-menu
if ( current_user_can('level_10') ) {
foreach ($menu as $index => $item) {
if ($item == 'index.php')
continue;
if (in_array($item[2], $disabled_menu_adm))
unset($menu[$index]);
if ( !empty($submenu[$item[2]]) ) {
foreach ($submenu[$item[2]] as $subindex => $subitem) {
if (in_array($subitem[2], $disabled_submenu_adm))
unset($submenu[$item[2]][$subindex]);
}
}
}
}
}
print($_mw_adminimize_admin_head);
}
/**
* set metabox options from database
*/
function _mw_adminimize_set_metabox_option() {
global $pagenow;
$_mw_adminimize_admin_head = "\n";
// post
if ( ('post-new.php' == $pagenow) || ('post.php' == $pagenow) ) {
remove_action('admin_head', 'index_js');
$disabled_metaboxes_post = get_option('mw_adminimize_disabled_metaboxes_post');
$disabled_metaboxes_post_adm = get_option('mw_adminimize_disabled_metaboxes_post_adm');
if ( current_user_can('level_10') ) {
$metaboxes = implode(',', $disabled_metaboxes_post_adm); // for admins
} else {
$metaboxes = implode(',', $disabled_metaboxes_post); // < user level 10, admin
}
$_mw_adminimize_admin_head .= '' . "\n";
}
// page
if ( ('page-new.php' == $pagenow) || ('page.php' == $pagenow) ) {
remove_action('admin_head', 'index_js');
$disabled_metaboxes_page = get_option('mw_adminimize_disabled_metaboxes_page');
$disabled_metaboxes_page_adm = get_option('mw_adminimize_disabled_metaboxes_page_adm');
if ( current_user_can('level_10') ) {
$metaboxes = implode(',', $disabled_metaboxes_page_adm);
} else {
$metaboxes = implode(',', $disabled_metaboxes_page); // < user level 10, admin
}
$_mw_adminimize_admin_head .= '' . "\n";
}
print($_mw_adminimize_admin_head);
}
/**
* small user-info
* @uses $post_ID
*/
function _mw_adminimize_small_user_info() {
?>
' . $plugin_data['Name'] . '';
if ( basename($_SERVER['REQUEST_URI']) == 'adminimize.php') {
printf('%1$s ' . __('plugin') . ' | ' . __('Version') . ' %2$s | ' . __('Author') . ' %3$s
', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']);
}
if ( get_option('_mw_adminimize_advice') == 1 && basename($_SERVER['REQUEST_URI']) != 'adminimize.php' ) {
printf('%1$s ' . __('plugin aktiv', 'adminimize') . ' | ' . stripslashes( get_option('_mw_adminimize_advice_txt') ) . '
', $plugin_data['Title']);
}
}
/**
* Add action link(s) to plugins page
* Thanks Dion Hulse -- http://dd32.id.au/wordpress-plugins/?configure-link
*/
function _mw_adminimize_filter_plugin_actions($links, $file){
static $this_plugin;
if( !$this_plugin ) $this_plugin = plugin_basename(__FILE__);
if( $file == $this_plugin ){
$settings_link = '' . __('Settings') . '';
$links = array_merge( array($settings_link), $links); // before other links
// $links[] = $settings_link; // ... or after other links
}
return $links;
}
/**
* settings in plugin-admin-page
*/
function _mw_adminimize_add_settings_page() {
if( current_user_can('switch_themes') ) {
add_submenu_page('options-general.php', __('Adminimize Einstellungen', 'adminimize'), __('Adminimize', 'adminimize'), 8, __FILE__, '_mw_adminimize_options');
add_filter('plugin_action_links', '_mw_adminimize_filter_plugin_actions', 10, 2);
}
}
/**
* Set theme for users y user_level 10
*/
function _mw_adminimize_set_theme() {
if ( !current_user_can('edit_users') )
wp_die(__('Cheatin’ uh?'));
$user_ids = $_POST[mw_adminimize_theme_items];
$admin_color = htmlspecialchars( stripslashes( $_POST[_mw_adminimize_set_theme] ) );
if ( !$user_ids )
return false;
foreach( $user_ids as $user_id) {
$user_id = (int) $user_id;
update_usermeta($user_id, 'admin_color', $admin_color);
}
}
/**
* Update options in database
*/
function _mw_adminimize_update() {
global $menu, $submenu;
// for a smaller database
function _mw_adminimize_get_update($option) {
if ( ($_POST[$option] == '0') || $_POST[$option] == '') {
delete_option($option);
} else {
update_option($option , $_POST[$option]);
}
}
_mw_adminimize_get_update('_mw_adminimize_sidebar_wight');
_mw_adminimize_get_update('_mw_adminimize_user_info');
_mw_adminimize_get_update('_mw_adminimize_footer');
_mw_adminimize_get_update('_mw_adminimize_writescroll');
_mw_adminimize_get_update('_mw_adminimize_tb_window');
_mw_adminimize_get_update('_mw_adminimize_db_redirect');
_mw_adminimize_get_update('_mw_adminimize_ui_redirect');
_mw_adminimize_get_update('_mw_adminimize_advice');
_mw_adminimize_get_update('_mw_adminimize_advice_txt');
_mw_adminimize_get_update('_mw_adminimize_timestamp');
// wp menu, submenu
update_option('mw_adminimize_default_menu', $menu);
update_option('mw_adminimize_default_submenu', $submenu);
// disabled wp menu, submenu
update_option('mw_adminimize_disabled_menu',
isset($_POST['mw_adminimize_disabled_menu_items']) ? $_POST['mw_adminimize_disabled_menu_items'] : array()
);
update_option('mw_adminimize_disabled_submenu',
isset($_POST['mw_adminimize_disabled_submenu_items']) ? $_POST['mw_adminimize_disabled_submenu_items'] : array()
);
update_option('mw_adminimize_disabled_menu_adm',
isset($_POST['mw_adminimize_disabled_menu_adm_items']) ? $_POST['mw_adminimize_disabled_menu_adm_items'] : array()
);
update_option('mw_adminimize_disabled_submenu_adm',
isset($_POST['mw_adminimize_disabled_submenu_adm_items']) ? $_POST['mw_adminimize_disabled_submenu_adm_items'] : array()
);
// disabled meta boxes post
update_option('mw_adminimize_disabled_metaboxes_post',
isset($_POST['mw_adminimize_disabled_metaboxes_post_items']) ? $_POST['mw_adminimize_disabled_metaboxes_post_items'] : array()
);
// disabled meta boxes page
update_option('mw_adminimize_disabled_metaboxes_page',
isset($_POST['mw_adminimize_disabled_metaboxes_page_items']) ? $_POST['mw_adminimize_disabled_metaboxes_page_items'] : array()
);
// disabled meta boxes post Admin
update_option('mw_adminimize_disabled_metaboxes_post_adm',
isset($_POST['mw_adminimize_disabled_metaboxes_post_adm_items']) ? $_POST['mw_adminimize_disabled_metaboxes_post_adm_items'] : array()
);
// disabled meta boxes page Admin
update_option('mw_adminimize_disabled_metaboxes_page_adm',
isset($_POST['mw_adminimize_disabled_metaboxes_page_adm_items']) ? $_POST['mw_adminimize_disabled_metaboxes_page_adm_items'] : array()
);
$myErrors = new _mw_adminimize_message_class();
$myErrors = '' . $myErrors->get_error('_mw_adminimize_update') . '
';
echo $myErrors;
}
/**
* Delete options in database
*/
function _mw_adminimize_deinstall() {
delete_option('_mw_adminimize_sidebar_wight');
delete_option('_mw_adminimize_user_info');
delete_option('_mw_adminimize_footer');
delete_option('_mw_adminimize_writescroll');
delete_option('_mw_adminimize_tb_window');
delete_option('_mw_adminimize_db_redirect');
delete_option('_mw_adminimize_ui_redirect');
delete_option('_mw_adminimize_advice');
delete_option('_mw_adminimize_advice_txt');
delete_option('_mw_adminimize_timestamp');
delete_option('mw_adminimize_default_menu');
delete_option('mw_adminimize_default_submenu');
delete_option('mw_adminimize_disabled_menu');
delete_option('mw_adminimize_disabled_submenu');
delete_option('mw_adminimize_disabled_menu_adm');
delete_option('mw_adminimize_disabled_submenu_adm');
delete_option('mw_adminimize_default_metaboxes_post');
delete_option('mw_adminimize_disabled_metaboxes_page-adm');
delete_option('mw_adminimize_disabled_metaboxes_post');
delete_option('mw_adminimize_disabled_metaboxes_page');
delete_option('mw_adminimize_disabled_metaboxes_post_adm');
delete_option('mw_adminimize_disabled_metaboxes_page_adm');
delete_option('_mw_adminimize_update_key');
}
/**
* Install options in database
*/
function _mw_adminimize_install() {
add_option('mw_adminimize_default_menu', '', '');
add_option('mw_adminimize_default_submenu', '', '');
add_option('mw_adminimize_disabled_menu', array(), '');
add_option('mw_adminimize_disabled_submenu', array(), '');
add_option('mw_adminimize_disabled_menu_adm', array(), '');
add_option('mw_adminimize_disabled_submenu_adm', array(), '');
add_option('mw_adminimize_disabled_metaboxes_post', array(),'');
add_option('mw_adminimize_disabled_metaboxes_page', array(),'');
add_option('mw_adminimize_disabled_metaboxes_post_adm', array(),'');
add_option('mw_adminimize_disabled_metaboxes_page_adm', array(),'');
}
?>