226
|
1 <%@ page language="java" %>
|
|
2
|
|
3 <%!
|
|
4 // authentication stuff - robert
|
|
5 // -----------------------------
|
|
6 // create DocumentBean instance for all JSP requests
|
|
7 digilib.servlet.DocumentBean docBean = new digilib.servlet.DocumentBean();
|
|
8
|
|
9 // initialize DocumentBean instance in JSP init
|
|
10 public void jspInit() {
|
|
11 try {
|
|
12 // set servlet init-parameter
|
|
13 docBean.setConfig(getServletConfig());
|
|
14 } catch (javax.servlet.ServletException e) {
|
|
15 System.out.println(e);
|
|
16 }
|
|
17 }
|
|
18 %>
|
|
19
|
|
20
|
|
21 <%
|
|
22
|
|
23 // parsing the query
|
|
24 // -----------------
|
|
25
|
|
26 digilib.servlet.DigilibRequest dcRequest = new digilib.servlet.DigilibRequest(request);
|
|
27 // check if authentication is needed and redirect if necessary
|
|
28 docBean.doAuthentication(dcRequest, response);
|
|
29
|
|
30 %>
|
|
31
|
|
32
|
|
33 <%
|
|
34
|
|
35 // the different levels of presentation
|
|
36 // ------------------------------------
|
|
37
|
|
38
|
|
39 // level 3 representation hack - lugi
|
|
40 // it would be much more interesting to check
|
|
41 // if the sidebar is actually installed and in
|
|
42 // the case it isn't - automatically do it.
|
|
43 // however this requires client-side tests and
|
|
44 // so slows down everything.
|
|
45 // we might want to talk about it for a future
|
|
46 // release
|
|
47
|
|
48 if (dcRequest.getAsInt("lv") == 3) {
|
|
49 String userAgent = request.getHeader("User-Agent").toLowerCase();
|
|
50
|
|
51 if (userAgent.indexOf("mozilla/5.0") == 0) {
|
|
52
|
|
53 // mozilla 5 that does not support xul-sidebars
|
|
54 if (userAgent.indexOf("opera") > -1) dcRequest.setValue("lv", 2);
|
|
55 if (userAgent.indexOf("chimera") > -1) dcRequest.setValue("lv", 2);
|
|
56 if (userAgent.indexOf("camino") > -1) dcRequest.setValue("lv", 2);
|
|
57 if (userAgent.indexOf("konqueror") > -1) dcRequest.setValue("lv", 2);
|
|
58 if (userAgent.indexOf("safari") > -1) dcRequest.setValue("lv", 2);
|
|
59 if (userAgent.indexOf("galeon") > -1) dcRequest.setValue("lv", 2);
|
|
60 if (userAgent.indexOf("skipstone") > -1) dcRequest.setValue("lv", 2);
|
|
61 if (userAgent.indexOf("k-meleon") > -1) dcRequest.setValue("lv", 2);
|
|
62 if (userAgent.indexOf("firefox") > -1) dcRequest.setValue("lv", 2);
|
|
63
|
|
64 // the chance is quite big, that the browser supports xul-sidebars
|
|
65 dcRequest.setValue("lv", 1);
|
|
66
|
|
67 } else {
|
|
68
|
|
69 // redirect to level 2 because of definitive lack of sidebar support
|
|
70 dcRequest.setValue("lv", 2);
|
|
71 }
|
|
72 }
|
|
73
|
|
74
|
|
75
|
|
76 switch (dcRequest.getAsInt("lv")) {
|
|
77
|
|
78 // LEVEL 0 --------------------------------------------------------------
|
|
79
|
|
80 case 0:
|
|
81 %>
|
|
82
|
|
83 <%
|
|
84 break; // level 0
|
|
85
|
|
86
|
|
87
|
|
88
|
|
89 // LEVEL 1 --------------------------------------------------------------
|
|
90
|
|
91 case 1:
|
|
92
|
|
93 // set number of pages
|
|
94 dcRequest.setValue("pt", docBean.getNumPages(dcRequest));
|
|
95 %>
|
|
96 <html>
|
|
97 <head>
|
|
98
|
|
99 <style type="text/css">
|
|
100 td {
|
|
101 font-family: Helvetica, Arial, sans-serif;
|
|
102 font-size: 11px;
|
|
103 color: #FFFFFF;
|
|
104 text-align: center;
|
|
105 vertical-align: middle;
|
|
106 }
|
|
107 </style>
|
|
108
|
|
109 <script src="navcat.js" type="text/javascript"></script>
|
|
110 <script type="text/javascript">
|
|
111
|
|
112 var baseUrl = "<%= dcRequest.getAsString("base.url") %>";
|
|
113
|
|
114 newParameter('fn', '<%= dcRequest.getFilePath() %>', '', 1);
|
|
115 newParameter('pn', '<%= dcRequest.getAsString("pn") %>', '1', 1);
|
|
116 newParameter('pt', '<%= dcRequest.getAsString("pt") %>', '<%= dcRequest.getAsString("pt") %>', 9);
|
|
117
|
|
118 newParameter('mo', '<%= dcRequest.getAsString("mo") %>', '6x4', 1);
|
|
119
|
|
120 newParameter('dw', '<%= dcRequest.getAsString("dw") %>', '0', 1);
|
|
121 newParameter('dh', '<%= dcRequest.getAsString("dh") %>', '0', 1);
|
|
122
|
|
123 </script>
|
|
124
|
|
125 </head>
|
|
126
|
|
127 <body bgcolor="#666666">
|
|
128
|
|
129 <div align="center">
|
|
130 <script type="text/javascript">
|
|
131 init();
|
|
132 </script>
|
|
133 </div>
|
|
134
|
|
135 </body>
|
|
136
|
|
137 </html>
|
|
138 <%
|
|
139 break; // level 1
|
|
140
|
|
141
|
|
142
|
|
143
|
|
144 // LEVEL 2 --------------------------------------------------------------
|
|
145
|
|
146 case 2:
|
|
147 %>
|
|
148
|
|
149 <%
|
|
150 // retrieve request in new paramter format and redirect to level 1
|
|
151 dcRequest.setValue("lv", 1);
|
|
152 String query = "digicat.jsp?" + dcRequest.getAsString();
|
|
153 %>
|
|
154
|
|
155 <html>
|
|
156 <head>
|
|
157 <title>Digital Document Library - Alcatraz (Level 2)</title>
|
|
158 </head>
|
|
159
|
|
160 <frameset cols="*,90" border="0">
|
|
161 <frame name="mainFrame" src="<%= query %>" scrolling="auto">
|
|
162 <frame name="rightFrame" src="dcMenu.html" scrolling="no" noresize>
|
|
163 </frameset>
|
|
164
|
|
165 </html>
|
|
166
|
|
167 <%
|
|
168 break; // level 2
|
|
169
|
|
170 } // end switch
|
|
171
|
|
172 %>
|