/********************************************************************************** * nWordPress is an automated migration of WordPress 2.5.1 performed by Numiton. * * copyright : (C) 2008 Numiton - www.numiton.com * email : numiton@users.sourceforge.net * * $Id: Menu_headerPage.java,v 1.4 2008/10/14 13:15:49 numiton Exp $ * **********************************************************************************/ /********************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * **********************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ package org.numiton.nwp.wp_admin; import static com.numiton.VarHandling.*; import static com.numiton.generic.PhpWeb.*; import java.io.IOException; import java.util.Map; import java.util.Set; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.numiton.nwp.NumitonController; import org.numiton.nwp.wp_admin.includes.PluginPage; import org.numiton.nwp.wp_includes.CapabilitiesPage; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.numiton.array.Array; import com.numiton.file.FileSystemOrSocket; import com.numiton.generic.PhpWebEnvironment; import com.numiton.ntile.til.libraries.php.quercus.QRegExPerl; import com.numiton.string.Strings; @Controller @Scope("request") public class Menu_headerPage extends NumitonController { protected static final Logger LOG = Logger.getLogger(Menu_headerPage.class.getName()); public String self; public String menu_hook; public Array<String> side_items = new Array<String>(); @Override @RequestMapping("/wp-admin/menu-header.php") public ModelAndView execute(HttpServletRequest javaRequest, HttpServletResponse javaResponse) throws IOException { return super.execute(javaRequest, javaResponse); } @Override public String getViewName() { return "wp_admin/menu_header"; } public Object generateContent(PhpWebEnvironment webEnv) throws IOException, ServletException { /* Start of block */ super.startBlock("__wp_admin_menu_header_block1"); gVars.webEnv = webEnv; self = QRegExPerl.preg_replace("|^.*/wp-admin/|i", "", gVars.webEnv.getPhpSelf()); self = QRegExPerl.preg_replace("|^.*/plugins/|i", "", self); getIncluded(PluginPage.class, gVars, gConsts).get_admin_page_parent(); // We're going to do this loop three times /* Start of block */ super.startBlock("__wp_admin_menu_header_block2"); for (Map.Entry javaEntry278 : gVars.menu.entrySet()) { gVars.key = strval(javaEntry278.getKey()); gVars.item = (Array<Object>) javaEntry278.getValue(); if (3 < intval(gVars.key)) { // get each menu item before 3 continue; } gVars._class = ""; // 0 = name, 1 = capability, 2 = file if ((equal(Strings.strcmp(self, strval(gVars.item.getValue(2))), 0) && empty(gVars.parent_file)) || (booleanval(gVars.parent_file) && equal(gVars.item.getValue(2), gVars.parent_file))) { gVars._class = " class=\"current\""; } if (!empty(gVars.submenu.getValue(gVars.item.getValue(2)))) /* * Re-index. Re-index. */ { gVars.submenu.putValue(gVars.item.getValue(2), Array.array_values(gVars.submenu.getArrayValue(gVars.item.getValue(2)))); // Re-index. menu_hook = getIncluded(PluginPage.class, gVars, gConsts) .get_plugin_page_hook(strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)), strval(gVars.item.getValue(2))); if (FileSystemOrSocket.file_exists( gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2))) || !empty(menu_hook)) { echo( gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo( gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } else if (getIncluded(CapabilitiesPage.class, gVars, gConsts).current_user_can(strval(gVars.item.getValue(1)))) { menu_hook = getIncluded(PluginPage.class, gVars, gConsts).get_plugin_page_hook(strval(gVars.item.getValue(2)), "admin.php"); if (FileSystemOrSocket.file_exists(gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.item.getValue(2))) || !empty(menu_hook)) { echo(gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo(gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } } (((org.numiton.nwp.wp_includes.PluginPage) getIncluded(org.numiton.nwp.wp_includes.PluginPage.class, gVars, gConsts))).do_action("dashmenu", ""); /* Start of block */ super.startBlock("__wp_admin_menu_header_block3"); for (Map.Entry javaEntry279 : gVars.menu.entrySet()) { gVars.key = strval(javaEntry279.getKey()); gVars.item = (Array<Object>) javaEntry279.getValue(); if ((5 > intval(gVars.key)) || (intval(gVars.key) > 25)) { // get each menu item before 3 continue; } gVars._class = ""; // 0 = name, 1 = capability, 2 = file if ((equal(Strings.strcmp(self, strval(gVars.item.getValue(2))), 0) && empty(gVars.parent_file)) || (booleanval(gVars.parent_file) && equal(gVars.item.getValue(2), gVars.parent_file))) { gVars._class = " class=\"current\""; } if (!empty(gVars.submenu.getValue(gVars.item.getValue(2)))) { gVars.submenu.putValue(gVars.item.getValue(2), Array.array_values(gVars.submenu.getArrayValue(gVars.item.getValue(2)))); // Re-index. menu_hook = getIncluded(PluginPage.class, gVars, gConsts) .get_plugin_page_hook(strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)), strval(gVars.item.getValue(2))); if (FileSystemOrSocket.file_exists( gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2))) || !empty(menu_hook)) { echo( gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo( gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } else if (getIncluded(CapabilitiesPage.class, gVars, gConsts).current_user_can(strval(gVars.item.getValue(1)))) { menu_hook = getIncluded(PluginPage.class, gVars, gConsts).get_plugin_page_hook(strval(gVars.item.getValue(2)), "admin.php"); if (FileSystemOrSocket.file_exists(gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.item.getValue(2))) || !empty(menu_hook)) { echo(gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo(gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } } for (Map.Entry javaEntry280 : gVars.menu.entrySet()) { gVars.key = strval(javaEntry280.getKey()); gVars.item = (Array<Object>) javaEntry280.getValue(); if (intval(gVars.key) < 41) { // there is a more efficient way to do this! continue; } gVars._class = ""; // 0 = name, 1 = capability, 2 = file if ((equal(Strings.strcmp(self, strval(gVars.item.getValue(2))), 0) && empty(gVars.parent_file)) || (booleanval(gVars.parent_file) && equal(gVars.item.getValue(2), gVars.parent_file))) { gVars._class = " class=\"current\""; } if (!empty(gVars.submenu.getValue(gVars.item.getValue(2)))) { gVars.submenu.putValue(gVars.item.getValue(2), Array.array_values(gVars.submenu.getArrayValue(gVars.item.getValue(2)))); // Re-index. menu_hook = getIncluded(PluginPage.class, gVars, gConsts) .get_plugin_page_hook(strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)), strval(gVars.item.getValue(2))); if (FileSystemOrSocket.file_exists( gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2))) || !empty(menu_hook)) { echo( gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo( gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } else if (getIncluded(CapabilitiesPage.class, gVars, gConsts).current_user_can(strval(gVars.item.getValue(1)))) { menu_hook = getIncluded(PluginPage.class, gVars, gConsts).get_plugin_page_hook(strval(gVars.item.getValue(2)), "admin.php"); if (FileSystemOrSocket.file_exists(gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.item.getValue(2))) || !empty(menu_hook)) { echo(gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo(gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } } (((org.numiton.nwp.wp_includes.PluginPage) getIncluded(org.numiton.nwp.wp_includes.PluginPage.class, gVars, gConsts))).do_action("adminmenu", ""); /* Start of block */ super.startBlock("__wp_admin_menu_header_block4"); side_items = new Array<String>(); for (Map.Entry javaEntry281 : gVars.menu.entrySet()) { gVars.key = strval(javaEntry281.getKey()); gVars.item = (Array<Object>) javaEntry281.getValue(); if ((26 > intval(gVars.key)) || (intval(gVars.key) > 40)) { continue; } gVars._class = ""; // 0 = name, 1 = capability, 2 = file if ((equal(Strings.strcmp(self, strval(gVars.item.getValue(2))), 0) && empty(gVars.parent_file)) || (booleanval(gVars.parent_file) && equal(gVars.item.getValue(2), gVars.parent_file))) { gVars._class = " class=\"current\""; } if (!empty(gVars.submenu.getValue(gVars.item.getValue(2)))) { gVars.submenu.putValue(gVars.item.getValue(2), Array.array_values(gVars.submenu.getArrayValue(gVars.item.getValue(2)))); // Re-index. menu_hook = getIncluded(PluginPage.class, gVars, gConsts) .get_plugin_page_hook(strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)), strval(gVars.item.getValue(2))); if (FileSystemOrSocket.file_exists( gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2))) || !empty(menu_hook)) { side_items.putValue( "\n\t<li><a href=\'admin.php?page=" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a>"); } else { side_items.putValue( "\n\t<li><a href=\'" + strval(gVars.submenu.getArrayValue(gVars.item.getValue(2)).getArrayValue(0).getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a>"); } } else if (getIncluded(CapabilitiesPage.class, gVars, gConsts).current_user_can(strval(gVars.item.getValue(1)))) { menu_hook = getIncluded(PluginPage.class, gVars, gConsts).get_plugin_page_hook(strval(gVars.item.getValue(2)), "admin.php"); if (FileSystemOrSocket.file_exists(gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.item.getValue(2))) || !empty(menu_hook)) { side_items.putValue("\n\t<li><a href=\'admin.php?page=" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a>"); } else { side_items.putValue("\n\t<li><a href=\'" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a>"); } } } echo(gVars.webEnv, Strings.implode(" </li>", side_items) + "</li>"); side_items = null; (((org.numiton.nwp.wp_includes.PluginPage) getIncluded(org.numiton.nwp.wp_includes.PluginPage.class, gVars, gConsts))).do_action("sidemenu", ""); /* Start of block */ super.startBlock("__wp_admin_menu_header_block5"); // Sub-menu if (isset(gVars.submenu.getValue(gVars.parent_file))) { echo(gVars.webEnv, "<ul id=\"submenu\">\n"); for (Map.Entry javaEntry282 : (Set<Map.Entry>) gVars.submenu.getArrayValue(gVars.parent_file).entrySet()) { gVars.item = (Array<Object>) javaEntry282.getValue(); if (!getIncluded(CapabilitiesPage.class, gVars, gConsts).current_user_can(strval(gVars.item.getValue(1)))) { continue; } if (isset(gVars.submenu_file)) { if (equal(gVars.submenu_file, gVars.item.getValue(2))) { gVars._class = " class=\"current\""; } else { gVars._class = ""; } } else if ((isset(gVars.plugin_page) && equal(gVars.plugin_page, gVars.item.getValue(2))) || (!isset(gVars.plugin_page) && equal(self, gVars.item.getValue(2)))) { gVars._class = " class=\"current\""; } else { gVars._class = ""; } menu_hook = getIncluded(PluginPage.class, gVars, gConsts).get_plugin_page_hook(strval(gVars.item.getValue(2)), gVars.parent_file); if (FileSystemOrSocket.file_exists(gVars.webEnv, gConsts.getABSPATH() + gConsts.getPLUGINDIR() + "/" + strval(gVars.item.getValue(2))) || !empty(menu_hook)) { if (equal("admin.php", gVars.pagenow)) { echo(gVars.webEnv, "\n\t<li><a href=\'admin.php?page=" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } else { echo(gVars.webEnv, "\n\t<li><a href=\'" + gVars.parent_file + "?page=" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } else { echo(gVars.webEnv, "\n\t<li><a href=\'" + strval(gVars.item.getValue(2)) + "\'" + gVars._class + ">" + strval(gVars.item.getValue(0)) + "</a></li>"); } } echo(gVars.webEnv, "\n</ul>\n"); } else { echo(gVars.webEnv, "<div id=\"minisub\"></div>\n"); } (((org.numiton.nwp.wp_includes.PluginPage) getIncluded(org.numiton.nwp.wp_includes.PluginPage.class, gVars, gConsts))).do_action("admin_notices", ""); return DEFAULT_VAL; } }