";print_r($menu);print_r($submenu);echo ""; // Plugins: hack $menu & $submenu before I butcher them $menu = apply_filters( 'pre_ozh_adminmenu_menu', $menu ); $submenu = apply_filters( 'pre_ozh_adminmenu_submenu', $submenu ); $ozh_menu = '
"; } $ozh_menu .= ""; } $ozh_menu .= "
"; // Plugins: hack $ozh_menu now it's complete $ozh_menu = apply_filters( 'post_ozh_adminmenu_ozh_menu', $ozh_menu ); if ( isset( $plugin_icons ) ) { global $text_direction; $align = ($text_direction == 'rtl' ? 'right' : 'left'); echo "\n".'\n"; } echo $ozh_menu; } function wp_ozh_adminmenu_blogtitle() { $blogname = get_bloginfo('name', 'display'); if ( '' == $blogname ) $blogname = ' '; $title_class = ''; if ( function_exists('mb_strlen') ) { if ( mb_strlen($blogname, 'UTF-8') > 30 ) $title_class = 'class="long-title"'; } else { if ( strlen($blogname) > 30 ) $title_class = 'class="long-title"'; } $url = trailingslashit( get_bloginfo('url') ); return "$blogname »"; } function wp_ozh_adminmenu_sanitize_id($url) { $url = preg_replace('/^customize.php\?return=.*$/', 'customize', $url); $url = preg_replace('/(&|&|&)?_wpnonce=([^&]+)/', '', $url); return str_replace(array('.php','.','/','?','='),array('','_','_','_','_'),$url); } function wp_ozh_adminmenu_js() { global $wp_ozh_adminmenu; $toomanyplugins = $wp_ozh_adminmenu['too_many_plugins']; if( empty($toomanyplugins) ) { $defaults = wp_ozh_adminmenu_defaults(); $toomanyplugins = $defaults['too_many_plugins']; unset( $defaults ); } $plugin_url = wp_ozh_adminmenu_pluginurl(); $insert_main_js = ''; echo << $insert_main_js JS; } function wp_ozh_adminmenu_css() { global $wp_ozh_adminmenu, $pagenow, $text_direction; // $submenu = ($wp_ozh_adminmenu['display_submenu'] or ($pagenow == "media-upload.php") ) ? 1 : 0; // Making links relative so they're more readable and shorter in the query string (also made relative in the .css.php) $plugin = wp_ozh_adminmenu_pluginurl().'inc/'; // query vars $query = array( 'v' => OZH_MENU_VER, 'p' => wp_make_link_relative( $plugin ), 'a' => wp_make_link_relative( trailingslashit( get_admin_url() ) ), 'i' => $wp_ozh_adminmenu['icons'], 'w' => $wp_ozh_adminmenu['wpicons'], 'm' => $wp_ozh_adminmenu['minimode'], 'c' => $wp_ozh_adminmenu['compact'], 'h' => $wp_ozh_adminmenu['hidebubble'], 'g' => $wp_ozh_adminmenu['grad'], // menu color 'n' => $wp_ozh_adminmenu['nograd'], // disable gradient bg 'd' => ($text_direction == 'rtl' ? 'right' : 'left'), // right-to-left locale? ); $query = http_build_query($query); echo "\n"; } function wp_ozh_adminmenu_head() { wp_ozh_adminmenu_css(); wp_ozh_adminmenu_js(); } // Set defaults function wp_ozh_adminmenu_defaults() { return array( 'grad' => '#676768', 'nograd' => 0, 'compact' => 0, 'minimode' => 0, 'hidebubble' => 0, 'too_many_plugins' => 30, 'toplinks' => 1, 'icons' => 1, 'wpicons' => 1, ); } // Read plugin options or set default values function wp_ozh_adminmenu_init() { global $wp_ozh_adminmenu, $plugin_page; if ($plugin_page == 'ozh_admin_menu') wp_ozh_adminmenu_load_page(); if (isset($_POST['ozh_adminmenu']) && ($_POST['ozh_adminmenu'] == 1) ) wp_ozh_adminmenu_processform(); $defaults = wp_ozh_adminmenu_defaults(); if (!is_array($wp_ozh_adminmenu) || !count($wp_ozh_adminmenu)) { $wp_ozh_adminmenu = (array)get_option('ozh_adminmenu'); unset($wp_ozh_adminmenu[0]); } // Allow plugins to modify the config $wp_ozh_adminmenu = apply_filters( 'ozh_adminmenu_init_config', array_merge( $defaults, $wp_ozh_adminmenu ) ); // Cannot have wpicons == 0 && compact == 1 if ($wp_ozh_adminmenu['compact'] == 1) $wp_ozh_adminmenu['wpicons'] = 1; // upon Fluency activation+deactivation, too_many_plugins can be 0, let's fix this if (!$wp_ozh_adminmenu['too_many_plugins']) $wp_ozh_adminmenu['too_many_plugins'] = 30; // On minimode, add a Logout link to the Users menu if ($wp_ozh_adminmenu['minimode']) add_users_page(__('Log Out'), __('Log Out'), 'read', 'ozh_admin_menu_logout'); } // Stuff to do when loading the admin plugin page function wp_ozh_adminmenu_load_page() { wp_ozh_adminmenu_load_text_domain(); } // Hooked into 'ozh_adminmenu_icon', this function give this plugin its own icon function wp_ozh_adminmenu_customicon($in) { return wp_ozh_adminmenu_pluginurl().'inc/images/ozh.png'; } // Add option page, hook Farbtastic in function wp_ozh_adminmenu_add_page() { $page = add_options_page('Admin Drop Down Menu', 'Admin Menu', 'manage_options', 'ozh_admin_menu', 'wp_ozh_adminmenu_options_page_includes'); add_action('admin_print_scripts-' . $page, 'wp_ozh_adminmenu_add_farbtastic'); add_action('admin_print_styles-' . $page, 'wp_ozh_adminmenu_add_farbtastic'); } // Actually add Farbtastic function wp_ozh_adminmenu_add_farbtastic() { wp_enqueue_script('farbtastic'); wp_enqueue_style('farbtastic'); } function wp_ozh_adminmenu_options_page_includes() { require_once(dirname(__FILE__).'/options.php'); wp_ozh_adminmenu_options_page(); } // Return plugin URL (SSL pref compliant) (trailing slash) function wp_ozh_adminmenu_pluginurl() { return plugin_dir_url( dirname(__FILE__) ); } // Add the 'Settings' link to the plugin page function wp_ozh_adminmenu_plugin_actions($links) { $links[] = "Settings"; return $links; } // Translation wrapper function wp_ozh_adminmenu__($string) { // return "$string"; // The debugging stuff so I'm sure I didnt miss any of the translatable string return __($string, 'adminmenu'); } // Load translation file if any function wp_ozh_adminmenu_load_text_domain() { $locale = get_locale(); $mofile = WP_PLUGIN_DIR.'/'.plugin_basename(dirname(__FILE__)).'/translations/adminmenu' . '-' . $locale . '.mo'; load_textdomain('adminmenu', $mofile); } function wp_ozh_adminmenu_footer() { echo <<Thank you for using Admin Drop Down Menu, a wonderful plugin by Ozh

HTML; } // Process $_POST function wp_ozh_adminmenu_processform() { global $wp_ozh_adminmenu; check_admin_referer('ozh-adminmenu'); // Debug: // echo "
";echo htmlentities(print_r($_POST,true));echo "
"; switch ($_POST['action']) { case 'update_options': $defaults = wp_ozh_adminmenu_defaults(); foreach ($_POST as $k=>$v) { $k = str_replace('oam_','',$k); if (array_key_exists($k, $defaults)) { $options[$k] = esc_attr( $v ); } } if (!update_option('ozh_adminmenu', $options)) add_option('ozh_adminmenu', $options); $wp_ozh_adminmenu = array_merge( (array)$wp_ozh_adminmenu, $options ); $msg = wp_ozh_adminmenu__("updated"); break; case 'reset_options': delete_option('ozh_adminmenu'); $msg = wp_ozh_adminmenu__("deleted"); break; } $message = '
'; $message .= '

'.sprintf(wp_ozh_adminmenu__('Admin Drop Down Menu settings %s'), $msg)."

\n"; $message .= "
\n"; add_action('admin_notices', function() use ($message) {echo $message;} ); }