mast.jsp revision 6043bc503b0be1801d14dc51a81bd5921445ce7a
274N/A<%--
274N/A$Id$
274N/A
274N/ACDDL HEADER START
274N/A
274N/AThe contents of this file are subject to the terms of the
274N/ACommon Development and Distribution License (the "License").
274N/AYou may not use this file except in compliance with the License.
274N/A
274N/ASee LICENSE.txt included in this distribution for the specific
274N/Alanguage governing permissions and limitations under the License.
274N/A
274N/AWhen distributing Covered Code, include this CDDL HEADER in each
274N/Afile and include the License file at LICENSE.txt.
274N/AIf applicable, add the following below this CDDL HEADER, with the
274N/Afields enclosed by brackets "[]" replaced with your own identifying
274N/Ainformation: Portions Copyright [yyyy] [name of copyright owner]
274N/A
274N/ACDDL HEADER END
274N/A
274N/ACopyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
274N/APortions Copyright 2011 Jens Elkner.
5680N/A
274N/A--%><%--
5680N/A
274N/AAfter include you are here: /body/div#page/div#content/
274N/A
1244N/A--%>
6295N/A<%@page import="org.json.simple.JSONArray"%>
618N/A<%@page import="org.opensolaris.opengrok.configuration.messages.Message"%>
1244N/A<%@page import="java.util.SortedSet"%>
6295N/A<%@page import="org.opensolaris.opengrok.configuration.RuntimeEnvironment"%>
844N/A<%@ page session="false" errorPage="error.jsp" import="
6295N/Ajava.io.File,
874N/Ajava.io.IOException,
874N/A
1258N/Aorg.opensolaris.opengrok.configuration.Project,
274N/Aorg.opensolaris.opengrok.history.HistoryGuru,
6295N/Aorg.opensolaris.opengrok.web.EftarFileReader,
2899N/Aorg.opensolaris.opengrok.web.PageConfig,
5680N/Aorg.opensolaris.opengrok.web.Prefix,
1938N/Aorg.opensolaris.opengrok.web.Util"%><%
5680N/A/* ---------------------- mast.jsp start --------------------- */
6019N/A{
6019N/A cfg = PageConfig.get(request);
6295N/A String redir = cfg.canProcess();
6295N/A if (redir == null || redir.length() > 0) {
6295N/A if (redir == null) {
6295N/A response.sendError(HttpServletResponse.SC_NOT_FOUND);
6295N/A } else {
6295N/A response.sendRedirect(redir);
6295N/A }
6295N/A return;
}
// jel: hmmm - questionable for dynamic content
long flast = cfg.getLastModified();
if (request.getDateHeader("If-Modified-Since") >= flast) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return;
}
response.setDateHeader("Last-Modified", flast);
// Use UTF-8 if no encoding is specified in the request
if (request.getCharacterEncoding() == null) {
request.setCharacterEncoding("UTF-8");
}
// set the default page title
String path = cfg.getPath();
cfg.setTitle("Cross Reference: " + path);
String context = request.getContextPath();
cfg.getEnv().setUrlPrefix(context + Prefix.SEARCH_R + "?");
String uriEncodedPath = cfg.getUriEncodedPath();
String rev = cfg.getRequestedRevision();
%>
<%@
include file="httpheader.jspf"
%><body>
<script type="text/javascript">/* <![CDATA[ */
document.rev = getParameter("r");
document.annotate = <%= cfg.annotate() %>;
document.domReady.push(domReadyMast);
document.pageReady.push(pageReadyMast);
/* ]]> */</script>
<div id="page">
<div id="whole_header">
<form action="<%= context + Prefix.SEARCH_P %>">
<div id="header"><%@
include file="pageheader.jspf"
%>
<div id="pagetitle"><span id="filename"
>Cross Reference: <%= cfg.getCrossFilename() %></span><%
String dtag = cfg.getDefineTagsIndex();
if (dtag.length() > 0) {
%><br/><%= dtag %><%
}
%></div>
</div>
<div id="Masthead">
<kbd>
<%
JSONArray messages = new JSONArray();
if (cfg.getProject() != null) {
messages = Util.messagesToJson(RuntimeEnvironment.MESSAGES_MAIN_PAGE_TAG,
cfg.getProject().getDescription());
}
%>
<% if (!messages.isEmpty()) { %>
<span class="important-note">
<% } %>
<a href="<%= context + Prefix.XREF_P %>/">xref</a>: <%= Util
.breadcrumbPath(context + Prefix.XREF_P, path,'/',"",true,cfg.isDir()) %>
<% if (!messages.isEmpty()) { %>
</span>
<span class="important-note important-note-rounded"
data-messages='<%= messages %>'>!</span>
<% } %>
</kbd>
</div>
<div id="bar">
<ul>
<li><a href="<%= context %>/"><span id="home"></span>Home</a></li><%
if (!cfg.hasHistory()) {
%><li><span id="history"></span><span class="c">History</span></li><%
} else {
%><li><a href="<%= context + Prefix.HIST_L + uriEncodedPath
%>"><span id="history"></span>History</a></li><%
}
if (!cfg.hasAnnotations() /* || cfg.getPrefix() == Prefix.HIST_S */ ) {
%><li><span class="c"><span class="annotate"></span>Annotate</span></li><%
} else if (cfg.annotate()) {
%><li><span id="toggle-annotate-by-javascript" style="display: none"><a
href="#" onclick="javascript:toggle_annotations(); return false;"
title="Show or hide line annotation(commit revisions,authors)."
><span class="annotate"></span>Annotate</a></span><span
id="toggle-annotate"><a href="#"><span class="annotate"></span>
Annotate</a></span></li><%
} else if (cfg.getPrefix() == Prefix.HIST_L) {
%><li>
<a href="#"
onclick="javascript:
window.location = '<%= context + Prefix.XREF_P + uriEncodedPath %>'
// taken from get_annotations() from utils.js
+ '?a=true'
+ (document.rev ? '&amp;r=' + encodeURIComponent(document.rev) : '')
+ (window.location.hash ? '&amp;h=' + window.location.hash.substring(1, window.location.hash.length) : '');
return false;">
<span class="annotate"></span>
Annotate
</a>
</li><%
} else {
%><li><a href="#" onclick="javascript:get_annotations(); return false;"
><span class="annotate"></span>Annotate</a></li><%
}
if (!cfg.isDir()) {
if (cfg.getPrefix() == Prefix.XREF_P) {
%><li><a href="#" onclick="javascript:lntoggle();return false;"
title="<%= "Show or hide line numbers (might be slower if "
+ "file has more than 10 000 lines)."
%>"><span id="line"></span>Line#</a></li><li><a
href="#" onclick="javascript:lsttoggle();return false;"
title="Show or hide symbol list."><%--
--%><span id="defbox"></span>Navigate</a></li><%
}
%>
<li><a href="<%= context + Prefix.RAW_P + uriEncodedPath
+ (rev.length() == 0 ? "" : "?r=" + Util.URIEncode(rev))
%>"><span id="raw"></span>Raw</a></li>
<li><a href="<%= context + Prefix.DOWNLOAD_P + uriEncodedPath
+ (rev.length() == 0 ? "" : "?r=" + Util.URIEncode(rev))
%>"><span id="download"></span>Download</a></li>
<%
}
%><li><input type="text" id="search" name="q" class="q" />
<input type="submit" value="Search" class="submit" /></li><%
Project proj = cfg.getProject();
String[] vals = cfg.getSearchOnlyIn();
%><li><input type="checkbox" name="path" value='"<%= vals[0]
%>"' <%= vals[2] %>/> only in <b><%= vals[1] %></b></li>
</ul><%
if (proj != null) {
%>
<input type="hidden" name="project" value="<%=proj.getDescription()%>" /><%
}
%>
<input type="hidden" id="contextpath" value="<%=request.getContextPath()%>" />
</div>
<div id="scope"><span id="scope_content">&nbsp;</span></div>
</form>
</div>
<div id="content">
<%
}
/* ---------------------- mast.jsp end --------------------- */
%>