143 lines
5.6 KiB
Plaintext
143 lines
5.6 KiB
Plaintext
|
#*
|
||
|
The contents of this file are subject to the Mozilla Public License Version 1.1
|
||
|
(the "License"); you may not use this file except in compliance with the License.
|
||
|
You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
|
||
|
|
||
|
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
|
||
|
WARRANTY OF ANY KIND, either express or implied. See the License for the specific
|
||
|
language governing rights and limitations under the License.
|
||
|
|
||
|
The Original Code is the Venice Web Communities System.
|
||
|
|
||
|
The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
|
||
|
for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
||
|
Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
||
|
|
||
|
Contributor(s):
|
||
|
*#
|
||
|
#*
|
||
|
Parameters:
|
||
|
field = Search field (string equivalent)
|
||
|
mode = Search mode (string equivalent)
|
||
|
term = Search term
|
||
|
ofs = Offset within the search we're at right now
|
||
|
fcount = Total number of items found in current search
|
||
|
pagesize = Number of items to display per page
|
||
|
results = Results list from find, a List of DynamoUser objects (may be null)
|
||
|
menu = Tab menu to render across the top
|
||
|
*#
|
||
|
#render( $menu )
|
||
|
#header1( "Find Users" )
|
||
|
<form method="POST" action="#formatURL( "SERVLET" "find_users.js.vs")">
|
||
|
<input type="hidden" name="ofs" value="0">
|
||
|
#comment( "Find Users form" )
|
||
|
<div align="left"><p>
|
||
|
Display all users whose
|
||
|
<select name="field" size="1">
|
||
|
<option value="USERNAME" #if( $field.equals("USERNAME") )selected="selected"#end >username</option>
|
||
|
<option value="DESCRIPTION" #if( $field.equals("DESCRIPTION") )selected="selected"#end >description</option>
|
||
|
<option value="FIRSTNAME" #if( $field.equals("FIRSTNAME") )selected="selected"#end >first name</option>
|
||
|
<option value="LASTNAME" #if( $field.equals("LASTNAME") )selected="selected"#end >last name</option>
|
||
|
</select>
|
||
|
<select name="mode" size="1">
|
||
|
<option value="PREFIX" #if( $mode.equals("PREFIX") )selected="selected"#end >starts with the string</option>
|
||
|
<option value="SUBSTRING" #if( $mode.equals("SUBSTRING") )selected="selected"#end >contains the string</option>
|
||
|
<option value="REGEXP" #if( $mode.equals("REGEXP") )selected="selected"#end >matches the regular
|
||
|
expression</option>
|
||
|
</select>
|
||
|
<input type="text" name="term" size="32" maxlength="255" value="$!term" /></p>
|
||
|
<p>#button( "INPUT" "search" )</p>
|
||
|
</div>
|
||
|
#comment( "end Find Users form" )
|
||
|
</form>
|
||
|
|
||
|
#if( $results )
|
||
|
## Do a tricky set of computations here to figure out what we need to display in terms of the search results
|
||
|
## and the form to the right that lets us page through results.
|
||
|
#set( $resultcount = $results.size() )
|
||
|
#set( $is_next = 0 )
|
||
|
#set( $is_prev = 0 )
|
||
|
#if( $resultcount > $pagesize )
|
||
|
#set( $resultcount = $pagesize )
|
||
|
#set( $is_next = 1 )
|
||
|
#end
|
||
|
#if( $ofs > 0 )
|
||
|
#set( $is_prev = 1 )
|
||
|
#end
|
||
|
#set( $is_form = $is_next + $is_prev )
|
||
|
#set( $ndx_first = $ofs + 1 )
|
||
|
#set( $ndx_last = $ofs + $pagesize )
|
||
|
#if( $ndx_last > $fcount )
|
||
|
#set( $ndx_last = $fcount )
|
||
|
#end
|
||
|
|
||
|
#comment( "Results display" )
|
||
|
<hr />
|
||
|
<table width="100%" border="0" align="center"><tr valign="middle">
|
||
|
<td width="50%" align="left">
|
||
|
<b>Search Results</b>
|
||
|
#if( $is_form >= 1 )
|
||
|
(Displaying ${ndx_first}-${ndx_last} of ${fcount})
|
||
|
#end
|
||
|
</td>
|
||
|
<td width="50%" align="right">
|
||
|
#if( $is_form >= 1 )
|
||
|
#comment( "Results navigation form" )
|
||
|
<form method="POST" action="#formatURL( "SERVLET" "find_users.js.vs")">
|
||
|
<input type="hidden" name="field" value="$field" />
|
||
|
<input type="hidden" name="mode" value="$mode" />
|
||
|
<input type="hidden" name="term" value="$term" />
|
||
|
<input type="hidden" name="ofs" value="$ofs" />
|
||
|
<input type="hidden" name="fcount" value="$fcount" />
|
||
|
#if( $is_prev == 1 )
|
||
|
#button( "INPUT" "previous" )
|
||
|
#else
|
||
|
#button( "IMAGE" "0transparent" )
|
||
|
#end
|
||
|
|
||
|
#if( $is_next == 1 )
|
||
|
#button( "INPUT" "next" )
|
||
|
#else
|
||
|
#button( "IMAGE" "0transparent" )
|
||
|
#end
|
||
|
</form>
|
||
|
#else
|
||
|
|
||
|
#end
|
||
|
</td>
|
||
|
</tr></table>
|
||
|
|
||
|
#if( $fcount > 0 )
|
||
|
#set( $i = $resultcount )
|
||
|
#set( $prof_ns = "http://www.silverwrist.com/NS/venice/2002/12/31/user.profile" )
|
||
|
<table border="0" align="left" cellpadding="0" cellspacing="4">
|
||
|
#foreach( $usr in $results )
|
||
|
#set( $i = $i - 1 )
|
||
|
#if( $i >= 0 )
|
||
|
#set( $first = $std.getProperty($usr,$prof_ns,"name.given") )
|
||
|
#set( $last = $std.getProperty($usr,$prof_ns,"name.family") )
|
||
|
#set( $city = $std.getProperty($usr,$prof_ns,"locality") )
|
||
|
#set( $state = $std.getProperty($usr,$prof_ns,"region") )
|
||
|
#set( $country = $std.getProperty($usr,$prof_ns,"country") )
|
||
|
#set( $descr = $std.getProperty($usr,$prof_ns,"description") )
|
||
|
<tr valign="top">
|
||
|
<td align="center" width="14">#bullet()</td>
|
||
|
<td align="left" class="content">
|
||
|
<a href="#formatURL( "SERVLET" "user/${usr.Name}" )">#encodeHTML( $usr.Name )</a><br />
|
||
|
#encodeHTML( $first ) #encodeHTML( $last ), from #encodeHTML( $city ), #encodeHTML( $state )
|
||
|
#encodeHTML( $country.getCode() )
|
||
|
#if( $descr )
|
||
|
<br /><em>#encodeHTML( $descr )</em>
|
||
|
#end
|
||
|
</td>
|
||
|
</tr>
|
||
|
#end
|
||
|
#end
|
||
|
</table>
|
||
|
#else
|
||
|
<em>No users found.</em>
|
||
|
#end
|
||
|
|
||
|
#comment( "End results display" )
|
||
|
#end
|