Project

General

Profile

1 3640 leinfelder
<?xml version="1.0" encoding="UTF-8"?>
2
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
3
4
	<!-- to change the content type or response encoding change the following line -->
5
	<jsp:directive.page contentType="text/html;charset=UTF-8" />
6
	<jsp:directive.page
7
		import="edu.ucsb.nceas.metacat.clientview.ClientView" />
8
	<jsp:directive.page
9
		import="edu.ucsb.nceas.metacat.clientview.ClientViewHelper" />
10
	<jsp:directive.page
11
		import="edu.ucsb.nceas.metacat.clientview.ClientHtmlHelper" />
12
13
	<jsp:declaration>
14
        private ClientViewHelper clientViewHelper = null;
15
    </jsp:declaration>
16
17 3739 leinfelder
<jsp:directive.include file="settings.jsp" />
18
19 3640 leinfelder
<html xmlns="http://www.w3.org/1999/xhtml">
20
<head>
21
22 8955 tao
    <jsp:element name="servletURL">
23
        <jsp:attribute name="value">
24
            <jsp:expression>SERVLET_URL</jsp:expression>
25
        </jsp:attribute>
26
        <jsp:text />
27
    </jsp:element>
28
29
     <jsp:element name="script">
30
        <jsp:attribute name="language">JavaScript</jsp:attribute>
31
        <jsp:attribute name="src">
32
         <jsp:expression>STYLE_COMMON_URL + "/prototype-1.5.1.1/prototype.js"</jsp:expression>
33
        </jsp:attribute>
34
        <jsp:text />
35
    </jsp:element>
36
37
    <jsp:element name="script">
38
        <jsp:attribute name="language">JavaScript</jsp:attribute>
39
        <jsp:attribute name="src">
40
          <jsp:expression>STYLE_COMMON_URL+ "/ajax-utils.js"</jsp:expression>
41
        </jsp:attribute>
42
        <jsp:text />
43
      </jsp:element>
44
45
  <jsp:element name="script">
46
        <jsp:attribute name="language">JavaScript</jsp:attribute>
47
       <jsp:attribute name="src">
48
          <jsp:expression>STYLE_SKINS_URL + "/sanparks/sanparksLogin.js"</jsp:expression>
49
        </jsp:attribute>
50
        <jsp:text />
51
   </jsp:element>
52
53 3739 leinfelder
	<jsp:element name="script">
54
		<jsp:attribute name="language">JavaScript</jsp:attribute>
55
		<jsp:attribute name="src">
56 4080 daigle
			<jsp:expression>CONTEXT_URL + "/style/skins/saeon/searchPathQuery.js"</jsp:expression>
57 3739 leinfelder
		</jsp:attribute>
58 8955 tao
		<jsp:text />
59 3739 leinfelder
	</jsp:element>
60
	<script type="text/javascript" language="JavaScript">
61 3640 leinfelder
		function trim(stringToTrim) {
62
			return(stringToTrim.replace(/^\s+|\s+$/g,""));
63
		}
64
65
		function isEmpty(aTextField) {
66
			var value = trim(aTextField.value);
67
			var result = ((value.length == 0) || (value == null));
68
			return(result);
69
		}
70
71
		function allowSubmit(formObj) {
72
			var     result = true;
73
			var     action = "";
74
75
		    action = trim(formObj.elements["action"].value);
76
		    if (action == "Login") {
77
		        if (isEmpty(formObj.elements["username"])) {
78
		            result = false;
79
		            alert("User name is required");
80
		        } else if (isEmpty(formObj.elements["organization"])) {
81
		            result = false;
82
		            alert("Organization is required");
83
		        } else if (isEmpty(formObj.elements["password"])) {
84
		            result = false;
85
		            alert("Password is required");
86
		        }
87
		    }
88
89
			return(result);
90
		}
91 8955 tao
92
		function submitLogoutFormIntoDiv(servletUrl, formObj, divId) {
93
                var formParas = Form.serialize(formObj);
94
                submitFormParasIntoDivAndReload(servletUrl, formParas, divId);
95
96
        }
97
98
		// Wait for the page to load first
99
        window.onload = function() {
100
101
          var urlElement = document.getElementsByTagName("servletURL")[0];
102
          var servlet_url = urlElement.getAttribute("value");
103
104
          //Get a reference to the link on the page
105
          // with an id of "logout"
106
          var a = document.getElementById("logout");
107
108
          //Set code to run when the link is clicked
109
          // by assigning a function to "onclick"
110
          a.onclick = function(e) {
111
          e.preventDefault();
112
          var myform=document.createElement("form");
113
          var elementQformat = document.createElement("INPUT");
114
          elementQformat.setAttribute("type", "hidden");
115
          elementQformat.setAttribute("name", "qformat");
116
          elementQformat.setAttribute("value", "saeon");
117
          myform.appendChild(elementQformat);
118
          var elementAction = document.createElement("INPUT");
119
          elementAction.setAttribute("type", "hidden");
120
          elementAction.setAttribute("name", "action");
121
          elementAction.setAttribute("value", "logout");
122
          myform.appendChild(elementAction);
123
          submitLogoutFormIntoDiv(servlet_url, myform, 'loginSection');
124
125
           //If you don't want the link to actually
126
           // redirect the browser to another page,
127
           // "google.com" in our example here, then
128
           // return false at the end of this block.
129
           // Note that this also prevents event bubbling,
130
           // which is probably what we want here, but won't
131
           // always be the case.
132
            return false;
133
          }
134
        }
135
136
137
138 3640 leinfelder
	</script>
139 8955 tao
140 3640 leinfelder
141
	<title>SAEON - South African Environmental Observation Network Repository</title>
142 3739 leinfelder
	<jsp:element name="link">
143
		<jsp:attribute name="rel">stylesheet</jsp:attribute>
144
		<jsp:attribute name="type">text/css</jsp:attribute>
145
		<jsp:attribute name="href">
146 4080 daigle
			<jsp:expression>CONTEXT_URL + "/style/skins/saeon/saeon.css"</jsp:expression>
147 3739 leinfelder
		</jsp:attribute>
148
	</jsp:element>
149 3640 leinfelder
</head>
150
151
<body>
152
	<div class="templatecontentareaclass" style="background: #FFFFFF;">
153
		<jsp:useBean id="clientViewBean" scope="session" class="edu.ucsb.nceas.metacat.clientview.ClientView" />
154
		<jsp:setProperty name="clientViewBean" property="*" />
155
		<jsp:scriptlet>
156
			clientViewHelper = ClientViewHelper.clientViewHelperInstance(request);
157
			clientViewHelper.clientRequest(request, response);
158 3647 leinfelder
			request.getSession().setAttribute("clientViewHelper", clientViewHelper);
159 3640 leinfelder
        </jsp:scriptlet>
160
161
	<table>
162
	<tr>
163
		<td colspan="3">
164
			<p class="regtext">
165
			Welcome to the SAEON Data Repository.
166
			This is the primary source for comprehensive information about scientific
167
			and research data sets collected throughout the South African Environmental Observation Network.
168
			</p>
169
		</td>
170
	</tr>
171
	<tr valign="top">
172
	<td>
173
174
	<h2>Search for SAEON Data</h2>
175
176
	<p class="emphasis">Searching:
177
		<jsp:scriptlet>
178
			String organizationScope = request.getParameter("organizationScope");
179
			if (organizationScope == null) {
180
				organizationScope = "";
181
			}
182
			if (!organizationScope.equals("")) {
183
		</jsp:scriptlet>
184
			<!-- set the map to use the correct scope -->
185
			<script type="text/javascript" >
186
				var dropDownTimer = null;
187
188
				//this syncs the map based on the input string location
189
				function setMapLocation(strLocation) {
190
191
					var mapFrameDocument = document.getElementById("mapFrame").contentDocument;
192
					if (!mapFrameDocument) {
193
						//alert("IE");
194
						mapFrameDocument = document.getElementById("mapFrame").contentWindow;
195
						if (mapFrameDocument.document) {
196
							mapFrameDocument = mapFrameDocument.document;
197
						}
198
199
					}
200
					//alert("mapFrame=" + mapFrameDocument.name);
201
					//alert("locations=" + mapFrameDocument.getElementsByTagName('locations'));
202
203
					//check if the dropdown is loaded in DOM
204
					if (mapFrameDocument.getElementsByName('locations').length == 0) {
205
						dropDownTimer = setTimeout("setMapLocation('" + strLocation + "')", 100);
206
						return false;
207
					}
208
					clearTimeout(dropDownTimer);
209
210
					var locationMenu = mapFrameDocument.getElementsByName('locations')[0];
211
					//alert("locationMenu=" + locationMenu);
212
					var locationOptions = locationMenu.options;
213
					//alert("locationOptions=" + locationOptions);
214
					//loop through the options to find the correct location based on input string
215
					for (var i=0; i &lt; locationOptions.length; i++) {
216
						if (locationOptions[i].text == strLocation) {
217
							//set as selected
218
							locationMenu.selectedIndex = i;
219
							break;
220
						}
221
					}
222
					//alert("Focusing on selected location: " + locationMenu.options[locationMenu.selectedIndex].text);
223
224
					//the onchange command from select object
225
					locationMenu.onchange();
226
					//mapFrameDocument.config.objects.locationsSelect.setAoi(locationMenu.options[locationMenu.selectedIndex].value,'mainMap');
227
228
				}
229
230
				//kick it off
231
				dropDownTimer =
232
					setTimeout(
233
					"setMapLocation('<jsp:expression>organizationScope</jsp:expression>')",
234
					 100);
235
236
			</script>
237
238
			<jsp:expression>organizationScope</jsp:expression>
239
		<jsp:scriptlet>
240
			}
241
			else {
242
		</jsp:scriptlet>
243
			All Organizations
244
		<jsp:scriptlet>
245
			}
246
		</jsp:scriptlet>
247
	</p>
248
249 3739 leinfelder
	<jsp:element name="form">
250
		<jsp:attribute name="id">searchform</jsp:attribute>
251
		<jsp:attribute name="name">searchform</jsp:attribute>
252
		<jsp:attribute name="method">post</jsp:attribute>
253
		<jsp:attribute name="action">
254 3780 daigle
			<jsp:expression>SERVLET_URL</jsp:expression>
255 3739 leinfelder
		</jsp:attribute>
256
		<jsp:attribute name="target">_top</jsp:attribute>
257
		<jsp:attribute name="onsubmit">setQueryFormField()</jsp:attribute>
258 3640 leinfelder
		<p class="regtext">
259
		The repository search system is used to locate data sets of interest by
260
		searching through existing registered data sets.
261
		Presently the search covers all fields, including author, title, abstract,
262
		keywords, and other documentation for each data set.
263
		<br />
264
		Use a '%' symbol as a wildcard in searches (e.g., '%herbivore%'
265
		would locate any phrase with the word herbivore embedded within it).
266
		</p>
267
		<jsp:element name="input">
268
			<jsp:attribute name="name">organizationScope</jsp:attribute>
269
			<jsp:attribute name="id">organizationScope</jsp:attribute>
270
			<jsp:attribute name="type">hidden</jsp:attribute>
271
			<jsp:attribute name="value">
272
				<jsp:expression>organizationScope</jsp:expression>
273
			</jsp:attribute>
274
		</jsp:element>
275
		<jsp:element name="input">
276
			<jsp:attribute name="name">sessionid</jsp:attribute>
277
			<jsp:attribute name="type">hidden</jsp:attribute>
278
			<jsp:attribute name="value">
279 8536 leinfelder
				<jsp:expression>clientViewBean.getSessionid()</jsp:expression>
280 3640 leinfelder
			</jsp:attribute>
281
		</jsp:element>
282
		<input type="text" id="anyfield" name="anyfield" value="" size="14" />
283
		<input type="hidden" id="query" name="query"  />
284
		<input type="hidden" name="qformat" value="saeon"/>
285
		<input type="hidden" name="action" value="squery" />
286
		<input type="submit" value="Search"  />
287 3777 leinfelder
		<br/>
288
		<input type="checkbox" id="searchAll" name="searchAll" />Search all fields (slower)
289 3640 leinfelder
		<p class="regtext">
290
		-Or-
291
		<br />
292
		Browse all existing data sets by title. This operation can be slow.
293
		</p>
294
		<input type="button" value="Browse All" onclick="setBrowseAll();form.submit()" />
295 3739 leinfelder
	</jsp:element>
296 3640 leinfelder
297
	</td>
298 8955 tao
299 3648 leinfelder
	<td width="250px">
300 8955 tao
	<div id="loginSection">
301 3640 leinfelder
302
	<!-- Login section -->
303
	<jsp:scriptlet>
304
		if (!clientViewHelper.isLoggedIn()) {
305
	</jsp:scriptlet>
306
307 3648 leinfelder
	<dl class="portlet" id="portlet-login" style="width: 100%;">
308 3640 leinfelder
		<dt class="portletHeader">
309 3644 leinfelder
			Log in
310 3640 leinfelder
		</dt>
311
		<dd class="portletItem odd">
312 8955 tao
			<jsp:element name="form">
313
			    <jsp:attribute name="name">loginForm</jsp:attribute>
314
                <jsp:attribute name="id">loginForm</jsp:attribute>
315
                <jsp:attribute name="method">post</jsp:attribute>
316
                <jsp:attribute name="onsubmit">
317
                    <jsp:expression>"submitLoginFormIntoDivAndReload('"+SERVLET_URL +"', this, 'loginSection');return false;"</jsp:expression>
318
                </jsp:attribute>
319
320
321 3640 leinfelder
				<input name="qformat" type="hidden" value="saeon" />
322 8955 tao
				<input name="action" type="hidden" value="login"/>
323 3640 leinfelder
				<table>
324
					<tr valign="top">
325
						<td>
326
							<span class="required">User name</span>
327
						</td>
328
						<td>
329 8955 tao
							<input name="shortusername" type="text" value=""
330 3640 leinfelder
							style="width: 140" />
331
						</td>
332 8955 tao
						<td>
333
						   <input name="username" type="hidden" value="" />
334
						</td>
335
336 3640 leinfelder
					</tr>
337
					<tr>
338
						<td><span class="required">Organization</span></td>
339
						<td><select name="organization" style="width: 140">
340
							<option value="SAEON" selected="selected">SAEON</option>
341
							<option value="SANParks">SANParks</option>
342
							<option value="NCEAS">NCEAS</option>
343
							<option value="unaffiliated">unaffiliated</option>
344
						</select></td>
345
					</tr>
346
					<tr>
347
						<td><span class="required">Password</span></td>
348
						<td><input name="password" value="" type="password"
349
							style="width: 140" maxlength="50" /></td>
350
					</tr>
351
					<tr>
352
						<td></td>
353
						<td colspan="1" align="right">
354 8955 tao
							<input name="loginSubmit"
355
							value="login" type="submit" class="button_login" />
356 3640 leinfelder
						</td>
357
					</tr>
358
				</table>
359 8955 tao
			</jsp:element>
360 3640 leinfelder
		</dd>
361
362
		<dd class="portletItem even">
363 3739 leinfelder
			<jsp:element name="a">
364 4192 leinfelder
				<jsp:attribute name="target">_new</jsp:attribute>
365 3739 leinfelder
				<jsp:attribute name="href">
366 8526 tao
					<!--<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>-->
367
					<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>
368 3739 leinfelder
				</jsp:attribute>
369
				<jsp:element name="img">
370
					<jsp:attribute name="src">
371 4080 daigle
						<jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
372 3739 leinfelder
					</jsp:attribute>
373
					<jsp:attribute name="alt">New User?</jsp:attribute>
374
					<jsp:attribute name="title">User</jsp:attribute>
375
					<jsp:attribute name="height">16</jsp:attribute>
376
					<jsp:attribute name="width">16</jsp:attribute>
377
				</jsp:element>
378 3640 leinfelder
				New user?
379 3739 leinfelder
			</jsp:element>
380 3640 leinfelder
		</dd>
381
	</dl>
382
383
	<jsp:scriptlet>
384
		} else {
385
	</jsp:scriptlet>
386
387 3648 leinfelder
	<dl class="portlet" id="portlet-login" style="width: 100%;">
388 3640 leinfelder
		<dt class="portletHeader">
389
			Welcome,
390
			<jsp:expression>clientViewBean.getUsername()</jsp:expression>
391
		</dt>
392
		<dd class="portletItem odd">
393
			<table>
394
				<tr valign="top">
395
					<td>
396
						<p class="regtext">
397
							You are currently logged in.
398
						</p>
399
					</td>
400 3648 leinfelder
					<td>
401
						<!-- <a target='_top' href='./index.jsp?action=Logout&amp;qformat=saeon'> Logout </a> -->
402 3640 leinfelder
					</td>
403
				</tr>
404 3648 leinfelder
				<!--
405 3640 leinfelder
				<tr valign="top">
406
					<td colspan="2">
407
						<p class="regtext">
408
							(<jsp:expression>clientViewBean.getMessage(ClientView.LOGIN_MESSAGE)</jsp:expression>)
409
						</p>
410
					</td>
411
				</tr>
412 3648 leinfelder
				-->
413 3640 leinfelder
			</table>
414
		</dd>
415
		<dd class="portletItem even">
416 8955 tao
		   <jsp:element name="a">
417
                    <jsp:attribute name="target">_top</jsp:attribute>
418
                    <jsp:attribute name="id">
419
                        <jsp:expression>"logout"</jsp:expression>
420
                    </jsp:attribute>
421
                    <jsp:attribute name="href">
422
                        <!--<jsp:expression>SERVLET_URL + "?action=logout&amp;qformat=saeon"</jsp:expression> -->
423
                        <jsp:expression>CONTEXT_URL + "/style/skins/saeon"</jsp:expression>
424
                    </jsp:attribute>
425
                    <jsp:element name="img">
426
                        <jsp:attribute name="src">
427
                            <jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
428
                        </jsp:attribute>
429
                        <jsp:attribute name="alt">logout</jsp:attribute>
430
                        <jsp:attribute name="title">User</jsp:attribute>
431
                        <jsp:attribute name="height">16</jsp:attribute>
432
                        <jsp:attribute name="width">16</jsp:attribute>
433
                    </jsp:element>
434
                    logout
435
                 </jsp:element>
436
437 3648 leinfelder
		</dd>
438
		<dd class="portletItem">
439 3739 leinfelder
			<jsp:element name="a">
440
				<jsp:attribute name="target">_parent</jsp:attribute>
441
				<jsp:attribute name="href">
442 8526 tao
					<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>
443 3739 leinfelder
				</jsp:attribute>
444
				<jsp:element name="img">
445
					<jsp:attribute name="src">
446 4080 daigle
						<jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
447 3739 leinfelder
					</jsp:attribute>
448
					<jsp:attribute name="alt">reset password</jsp:attribute>
449
					<jsp:attribute name="title">User</jsp:attribute>
450
					<jsp:attribute name="height">16</jsp:attribute>
451
					<jsp:attribute name="width">16</jsp:attribute>
452
				</jsp:element>
453 3640 leinfelder
				reset your password
454 3739 leinfelder
			</jsp:element>
455 3640 leinfelder
		</dd>
456 3648 leinfelder
		<dd class="portletItem even">
457 3739 leinfelder
			<jsp:element name="a">
458
				<jsp:attribute name="target">_parent</jsp:attribute>
459
				<jsp:attribute name="href">
460 8526 tao
					<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>
461 3739 leinfelder
				</jsp:attribute>
462
				<jsp:element name="img">
463
					<jsp:attribute name="src">
464 4080 daigle
						<jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
465 3739 leinfelder
					</jsp:attribute>
466
					<jsp:attribute name="alt">change password</jsp:attribute>
467
					<jsp:attribute name="title">User</jsp:attribute>
468
					<jsp:attribute name="height">16</jsp:attribute>
469
					<jsp:attribute name="width">16</jsp:attribute>
470
				</jsp:element>
471 3640 leinfelder
				change your password
472 3739 leinfelder
			</jsp:element>
473 3640 leinfelder
		</dd>
474
	</dl>
475
	<jsp:scriptlet>
476
		}
477
	</jsp:scriptlet>
478
479
	<!-- File Upload Form -->
480
	<br />
481 3648 leinfelder
	<dl class="portlet" id="portlet-login" style="width: 100%;">
482 3640 leinfelder
		<dt class="portletHeader">
483
			Data Package Upload
484
		</dt>
485
		<dd class="portletItem odd">
486
			<jsp:scriptlet>
487
				if (clientViewHelper.isLoggedIn()) {
488
			</jsp:scriptlet>
489 3648 leinfelder
			<table>
490 3640 leinfelder
				<tr valign="top">
491
					<td align="right">
492 3739 leinfelder
						<jsp:element name="form">
493
							<jsp:attribute name="method">post</jsp:attribute>
494
							<jsp:attribute name="action">
495 4080 daigle
								<jsp:expression>CONTEXT_URL + "/style/skins/saeon/upload.jsp"</jsp:expression>
496 3739 leinfelder
							</jsp:attribute>
497 3640 leinfelder
							<input type="submit" value="Go >" class="button_login" />
498 3739 leinfelder
						</jsp:element>
499 3640 leinfelder
					</td>
500
				</tr>
501
			</table>
502
			<jsp:scriptlet>
503
				} else {
504
			</jsp:scriptlet>
505
506
			<p class="regtext">
507
				You must be logged into your user account before uploading a data set.
508
			</p>
509
			<jsp:scriptlet>
510
				}
511
			</jsp:scriptlet>
512
513
		</dd>
514
	</dl>
515 8955 tao
	</div>
516 3640 leinfelder
	</td>
517
518
	<!-- so the map frame doesn't overlap content -->
519
	<td width="50px"></td>
520
521
	</tr>
522
523
	<tr>
524
	<td colspan="2" align="left">
525
526
	<!-- Map here -->
527
	<h2>Spatial Search</h2>
528
529
		<div style="padding-left: 100px">
530
		<!-- map frame -->
531
        <script language="JavaScript">
532 4080 daigle
            insertMap("<jsp:expression>CONTEXT_URL</jsp:expression>");
533 3640 leinfelder
        </script>
534
        </div>
535
	</td>
536
537
	<!-- so the map frame doesn't overlap content -->
538
	<td width="50px"></td>
539
540
	</tr>
541
542
	</table>
543
544
	</div>
545
</body>
546
</html>
547
</jsp:root>