GlobalNavigation
Erweitert um einen AdminCenter Eintrag. git-svn-id: https://svn.libreccm.org/ccm/trunk@2394 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
231ec5abf7
commit
66758056a2
|
|
@ -22,7 +22,13 @@ import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.bebop.SimpleComponent;
|
import com.arsdigita.bebop.SimpleComponent;
|
||||||
import com.arsdigita.cms.CMS;
|
import com.arsdigita.cms.CMS;
|
||||||
import com.arsdigita.cms.ContentCenter;
|
import com.arsdigita.cms.ContentCenter;
|
||||||
|
import com.arsdigita.kernel.Kernel;
|
||||||
|
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
||||||
|
import com.arsdigita.kernel.permissions.PermissionService;
|
||||||
|
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
|
||||||
import com.arsdigita.ui.UI;
|
import com.arsdigita.ui.UI;
|
||||||
|
import com.arsdigita.ui.admin.Admin;
|
||||||
|
import com.arsdigita.ui.login.LoginServlet;
|
||||||
import com.arsdigita.web.URL;
|
import com.arsdigita.web.URL;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
@ -38,77 +44,85 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
// Made public (instead of unspecified, resulting in protected) in 6.6.8
|
// Made public (instead of unspecified, resulting in protected) in 6.6.8
|
||||||
public class GlobalNavigation extends SimpleComponent {
|
public class GlobalNavigation extends SimpleComponent {
|
||||||
|
|
||||||
private static final Logger s_log = Logger.getLogger
|
private static final Logger s_log = Logger.getLogger(GlobalNavigation.class);
|
||||||
(GlobalNavigation.class);
|
private final String m_centerPath;
|
||||||
|
private final String m_adminPath;
|
||||||
|
private final String m_wspcPath;
|
||||||
|
private final String m_signOutPath;
|
||||||
|
private final String m_helpPath;
|
||||||
|
|
||||||
private final String m_centerPath;
|
/**
|
||||||
private final String m_wspcPath;
|
*
|
||||||
private final String m_signOutPath;
|
*/
|
||||||
private final String m_helpPath;
|
public GlobalNavigation() {
|
||||||
|
m_centerPath = ContentCenter.getURL();
|
||||||
|
m_adminPath = Admin.getInstance().getServletPath();
|
||||||
|
m_wspcPath = UI.getWorkspaceURL();
|
||||||
|
m_signOutPath = LoginServlet.getLogoutPageURL();
|
||||||
|
m_helpPath = "/nowhere"; // We don't have this yet XXX.
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
* @param state
|
||||||
public GlobalNavigation() {
|
* @param parent
|
||||||
m_centerPath = ContentCenter.getURL();
|
*/
|
||||||
m_wspcPath = UI.getWorkspaceURL();
|
@Override
|
||||||
m_signOutPath = UI.getLogoutPageURL();
|
public void generateXML(final PageState state, final Element parent) {
|
||||||
m_helpPath = "/nowhere"; // We don't have this yet XXX.
|
if (isVisible(state)) {
|
||||||
}
|
final HttpServletRequest sreq = state.getRequest();
|
||||||
|
|
||||||
/**
|
final Element nav = parent.newChildElement("cms:globalNavigation", CMS.CMS_XML_NS);
|
||||||
*
|
final String centerTitle = lz("cms.ui.content_center");
|
||||||
* @param state
|
final String adminTitle = lz("cms.ui.admin_center");
|
||||||
* @param parent
|
final String wspcTitle = lz("cms.ui.my_workspace");
|
||||||
*/
|
final String signOutTitle = lz("cms.ui.sign_out");
|
||||||
@Override
|
final String helpTitle = lz("cms.ui.help");
|
||||||
public void generateXML(final PageState state, final Element parent) {
|
|
||||||
if (isVisible(state)) {
|
|
||||||
final HttpServletRequest sreq = state.getRequest();
|
|
||||||
|
|
||||||
final Element nav = parent.newChildElement
|
link(sreq, nav, "cms:contentCenter", m_centerPath, centerTitle);
|
||||||
("cms:globalNavigation", CMS.CMS_XML_NS);
|
|
||||||
|
|
||||||
final String centerTitle = lz("cms.ui.content_center");
|
/* If the current user has admin permissions, insert a link to the admin center */
|
||||||
final String wspcTitle = lz("cms.ui.my_workspace");
|
if (PermissionService.checkPermission(new PermissionDescriptor(
|
||||||
final String signOutTitle = lz("cms.ui.sign_out");
|
PrivilegeDescriptor.ADMIN,
|
||||||
final String helpTitle = lz("cms.ui.help");
|
Admin.getInstance(),
|
||||||
|
Kernel.getContext().getParty()))) {
|
||||||
|
link(sreq, nav, "cms:adminCenter", m_adminPath, adminTitle);
|
||||||
|
}
|
||||||
|
|
||||||
link(sreq, nav, "cms:contentCenter", m_centerPath, centerTitle);
|
link(sreq, nav, "cms:workspace", m_wspcPath, wspcTitle);
|
||||||
link(sreq, nav, "cms:workspace", m_wspcPath, wspcTitle);
|
link(sreq, nav, "cms:signOut", m_signOutPath, signOutTitle);
|
||||||
link(sreq, nav, "cms:signOut", m_signOutPath, signOutTitle);
|
link(sreq, nav, "cms:help", m_helpPath, helpTitle);
|
||||||
link(sreq, nav, "cms:help", m_helpPath, helpTitle);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param sreq
|
* @param sreq
|
||||||
* @param parent
|
* @param parent
|
||||||
* @param name
|
* @param name
|
||||||
* @param path
|
* @param path
|
||||||
* @param title
|
* @param title
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private static Element link(final HttpServletRequest sreq,
|
private static Element link(final HttpServletRequest sreq,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
final String name,
|
final String name,
|
||||||
final String path,
|
final String path,
|
||||||
final String title) {
|
final String title) {
|
||||||
final Element link = parent.newChildElement(name, CMS.CMS_XML_NS);
|
final Element link = parent.newChildElement(name, CMS.CMS_XML_NS);
|
||||||
|
|
||||||
link.addAttribute("href", URL.there(sreq, path).toString());
|
link.addAttribute("href", URL.there(sreq, path).toString());
|
||||||
link.addAttribute("title", title);
|
link.addAttribute("title", title);
|
||||||
|
|
||||||
return link;
|
return link;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param key
|
* @param key
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private static String lz(final String key) {
|
private static String lz(final String key) {
|
||||||
return (String) ContentSectionPage.globalize(key).localize();
|
return (String) ContentSectionPage.globalize(key).localize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue