1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2 pageEncoding="ISO-8859-1"
4 <%@ page import="org.splat.kernel.User"%>
5 <%@ page import="org.splat.som.Study"%>
6 <%@ page import="org.splat.som.KnowledgeElement"%>
7 <%@ page import="org.splat.som.ApplicationRights"%>
8 <%@ page import="org.splat.simer.ApplicationSettings"%>
10 taglib prefix="s" uri="/struts-tags"
12 <%! private enum Menu { none, create, open, study, knowledge, datadmin, sysadmin, help };
14 <!-- Initialization of the context
16 <% String login = request.getParameter("login"); // Null or disabled
17 String selection = request.getParameter("menu"); // Active menu
19 Menu selected = Menu.valueOf(selection);
21 ApplicationRights user = (ApplicationRights)session.getAttribute("user.rights"); // Active user rights
22 Object study = (Object)session.getAttribute("study.open"); // Active study, if exists
23 Object known = (Object)session.getAttribute("knowledge.open"); // Active knowledge, if exists
25 <!-- Set of actions associated to menus
27 <s:set var="wurl"><%=ApplicationSettings.getWebSiteURL()%></s:set>
28 <s:set var="hurl"><%=ApplicationSettings.getHelpURL()%></s:set>
29 <s:url id="login" namespace="/" action="login">
30 <s:param name="backMenu"><%=selection%></s:param>
32 <s:url id="logout" namespace="/" action="logout">
33 <s:param name="backMenu"><%=selection%></s:param>
35 <s:url id="new" namespace="/" action="select">
36 <s:param name="menu">create</s:param>
38 <s:url id="open" namespace="/" action="select">
39 <s:param name="menu">search</s:param>
41 <s:url id="study" namespace="/study" action="step-study"></s:url>
42 <s:url id="idea" namespace="/study" action="step-knowledge"></s:url>
43 <s:url id="datadmin" namespace="/" action="select">
44 <s:param name="menu">datadmin</s:param>
46 <s:url id="sysadmin" namespace="/" action="select">
47 <s:param name="menu">sysadmin</s:param>
49 <s:url id="site" value="%{#wurl}"></s:url>
50 <s:url id="help" value="%{#hurl}"></s:url>
52 <!-- Display of the menu-bar
55 <div id=top-spacer></div>
57 <s:a href="%{site}" target="_new"><img src="<s:url value="/skin/logo.png"/>" width="115" height="24" border="none"/></s:a>
62 if (selected == Menu.create) {
63 %> <span id="menu-front"><img src="<s:url value="/skin/icon.new.png"/>" border="none" title="<s:text name="tooltip.new"/>" /></span>
64 <% } else if (user.canCreateStudy()) {
65 %> <span id="menu-back"><s:a href="%{new}"><img src="<s:url value="/skin/icon.new.png"/>" border="none" title="<s:text name="tooltip.new"/>" /></s:a></span>
67 %> <span id="menu-back"><img src="<s:url value="/skin/disabled.new.png"/>" border="none" /></span>
70 if (selected == Menu.open) {
71 %> <span id="menu-front"><img src="<s:url value="/skin/icon.open.png"/>" border="none" title="<s:text name="tooltip.open"/>" /></span>
72 <% } else { // Accessible to everyone
73 %> <span id="menu-back"><s:a href="%{open}"><img src="<s:url value="/skin/icon.open.png"/>" border="none" title="<s:text name="tooltip.open"/>" /></s:a></span>
76 if (selected == Menu.study) {
77 %> <span id="menu-front"><img src="<s:url value="/skin/icon.study.png"/>" border="none" /></span>
78 <% } else if (study == null) {
79 %> <span id="menu-back"><img src="<s:url value="/skin/disabled.study.png"/>" border="none" /></span>
81 %> <span id="menu-back"><s:a href="%{study}"><img src="<s:url value="/skin/icon.study.png"/>" border="none" title="<s:text name="tooltip.study"/>" /></s:a></span>
84 if (selected == Menu.knowledge) {
85 %> <span id="menu-front"><img src="<s:url value="/skin/icon.idea.png"/>" border="none" /></span>
86 <% } else if (known == null) {
87 %> <span id="menu-back"><img src="<s:url value="/skin/disabled.idea.png"/>" border="none" /></span>
89 %> <span id="menu-back"><s:a href="%{idea}"><img src="<s:url value="/skin/icon.idea.png"/>" border="none" title="<s:text name="tooltip.idea"/>" /></s:a></span>
92 if (selected == Menu.datadmin) {
93 %> <span id="menu-front"><img src="<s:url value="/skin/icon.books.png"/>" border="none" /></span>
94 <% } else if (user.canManageKnowledges()) {
95 %> <span id="menu-back"><s:a href="%{datadmin}"><img src="<s:url value="/skin/icon.books.png"/>" border="none" title="<s:text name="tooltip.datadmin"/>" /></s:a></span>
98 if (selected == Menu.sysadmin) {
99 %> <span id="menu-front"><img src="<s:url value="/skin/icon.base.png"/>" border="none" /></span>
100 <% } else if (user.canManageDatabase()) {
101 %> <span id="menu-back"><s:a href="%{sysadmin}"><img src="<s:url value="/skin/icon.base.png"/>" border="none" title="<s:text name="tooltip.sysadmin"/>" /></s:a></span>
104 if (selected == Menu.help) {
105 %> <span id="menu-front"><img src="<s:url value="/skin/icon.help.png"/>" border="none" /></span>
106 <% } else { // Accessible to everyone
107 %> <span id="menu-back"><s:a href="%{help}" target="_new"><img src="<s:url value="/skin/icon.help.png"/>" border="none" title="<s:text name="tooltip.help"/>" /></s:a></span>
110 <!-- Display of the login menu
112 <%if (login == null) { // That is, not disabled (yes, null means enabled!)
113 User connected = user.getUser();
115 <table border="0" cellpadding="4" cellspacing="0" class="text">
117 <td><br/><img src="<s:url value="/skin/image.user.png"/>" border="none"/></td>
118 <% if (connected != null) {
119 if (connected.getRoleNames().equals("sysadmin")) {
120 %> <td><s:text name="label.sysadmin"/></td>
122 %> <td><%=connected.getDisplayName()%></td>
124 %> <td>| <s:a href="%{logout}" cssClass="link"><s:text name="menu.logout"/></s:a></td>
126 %> <td><br/><s:a href="%{login}" cssClass="link"><s:text name="menu.login"/></s:a></td>
133 %><div id=dock></div>