Project

General

Profile

1
<?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
<jsp:directive.include file="settings.jsp" />
18

    
19
<html xmlns="http://www.w3.org/1999/xhtml">
20
<head>
21

    
22
    <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
	<jsp:element name="script">
54
		<jsp:attribute name="language">JavaScript</jsp:attribute>
55
		<jsp:attribute name="src">
56
			<jsp:expression>CONTEXT_URL + "/style/skins/saeon/searchPathQuery.js"</jsp:expression>
57
		</jsp:attribute>
58
		<jsp:text />
59
	</jsp:element>
60
	<script type="text/javascript" language="JavaScript">
61
		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
		
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
	</script>
139
	
140

    
141
	<title>SAEON - South African Environmental Observation Network Repository</title>
142
	<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
			<jsp:expression>CONTEXT_URL + "/style/skins/saeon/saeon.css"</jsp:expression>
147
		</jsp:attribute>
148
	</jsp:element>
149
</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
			request.getSession().setAttribute("clientViewHelper", clientViewHelper);
159
        </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
	<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
			<jsp:expression>SERVLET_URL</jsp:expression>
255
		</jsp:attribute>
256
		<jsp:attribute name="target">_top</jsp:attribute>
257
		<jsp:attribute name="onsubmit">setQueryFormField()</jsp:attribute>
258
		<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
				<jsp:expression>clientViewBean.getSessionid()</jsp:expression>
280
			</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
		<br/>
288
		<input type="checkbox" id="searchAll" name="searchAll" />Search all fields (slower)
289
		<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
	</jsp:element>
296
	
297
	</td>
298
	
299
	<td width="250px">
300
	<div id="loginSection">
301
	
302
	<!-- Login section -->
303
	<jsp:scriptlet>
304
		if (!clientViewHelper.isLoggedIn()) {
305
	</jsp:scriptlet>
306
	
307
	<dl class="portlet" id="portlet-login" style="width: 100%;">
308
		<dt class="portletHeader">
309
			Log in
310
		</dt>
311
		<dd class="portletItem odd">
312
			<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
				<input name="qformat" type="hidden" value="saeon" />
322
				<input name="action" type="hidden" value="login"/>
323
				<table>
324
					<tr valign="top">
325
						<td>
326
							<span class="required">User name</span>	
327
						</td>
328
						<td>
329
							<input name="shortusername" type="text" value=""
330
							style="width: 140" />
331
						</td>
332
						<td>
333
						   <input name="username" type="hidden" value="" />
334
						</td>
335
						
336
					</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
							<input name="loginSubmit"
355
							value="login" type="submit" class="button_login" />
356
						</td>
357
					</tr>
358
				</table>
359
			</jsp:element>
360
		</dd>
361

    
362
		<dd class="portletItem even">
363
			<jsp:element name="a">
364
				<jsp:attribute name="target">_new</jsp:attribute>
365
				<jsp:attribute name="href">
366
					<!--<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>-->
367
					<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>
368
				</jsp:attribute>
369
				<jsp:element name="img">
370
					<jsp:attribute name="src">
371
						<jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
372
					</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
				New user?
379
			</jsp:element>
380
		</dd>
381
	</dl>
382
	
383
	<jsp:scriptlet>
384
		} else {
385
	</jsp:scriptlet>
386
	
387
	<dl class="portlet" id="portlet-login" style="width: 100%;">
388
		<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
					<td>
401
						<!-- <a target='_top' href='./index.jsp?action=Logout&amp;qformat=saeon'> Logout </a> -->
402
					</td>
403
				</tr>
404
				<!-- 
405
				<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
				-->
413
			</table>
414
		</dd>
415
		<dd class="portletItem even">
416
		   <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
		</dd>
438
		<dd class="portletItem">
439
			<jsp:element name="a">
440
				<jsp:attribute name="target">_parent</jsp:attribute>
441
				<jsp:attribute name="href">
442
					<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>
443
				</jsp:attribute>
444
				<jsp:element name="img">
445
					<jsp:attribute name="src">
446
						<jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
447
					</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
				reset your password
454
			</jsp:element>
455
		</dd>
456
		<dd class="portletItem even">
457
			<jsp:element name="a">
458
				<jsp:attribute name="target">_parent</jsp:attribute>
459
				<jsp:attribute name="href">
460
					<jsp:expression>USER_MANAGEMENT_URL</jsp:expression>
461
				</jsp:attribute>
462
				<jsp:element name="img">
463
					<jsp:attribute name="src">
464
						<jsp:expression>CONTEXT_URL + "/style/skins/saeon/images/user.gif"</jsp:expression>
465
					</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
				change your password
472
			</jsp:element>
473
		</dd>
474
	</dl>		
475
	<jsp:scriptlet>
476
		}
477
	</jsp:scriptlet> 
478
	
479
	<!-- File Upload Form --> 
480
	<br />
481
	<dl class="portlet" id="portlet-login" style="width: 100%;">
482
		<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
			<table>
490
				<tr valign="top">
491
					<td align="right">
492
						<jsp:element name="form">
493
							<jsp:attribute name="method">post</jsp:attribute>
494
							<jsp:attribute name="action">
495
								<jsp:expression>CONTEXT_URL + "/style/skins/saeon/upload.jsp"</jsp:expression>
496
							</jsp:attribute>
497
							<input type="submit" value="Go >" class="button_login" />
498
						</jsp:element>
499
					</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
	</div>
516
	</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
            insertMap("<jsp:expression>CONTEXT_URL</jsp:expression>");
533
        </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>
(3-3/20)