f0bf5e31ee
information prompted for at registration time, if certain sites should elect to omit that information
392 lines
18 KiB
Plaintext
392 lines
18 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@ricochet.com>,
|
|
for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
|
Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
|
|
|
Contributor(s):
|
|
--%>
|
|
<%@ page import = "java.util.Iterator" %>
|
|
<%@ page import = "java.util.List" %>
|
|
<%@ page import = "com.silverwrist.util.*" %>
|
|
<%@ page import = "com.silverwrist.venice.core.*" %>
|
|
<%@ page import = "com.silverwrist.venice.ui.view.FindView" %>
|
|
<%@ taglib uri="/tlds/util" prefix="util" %>
|
|
<%@ taglib uri="/tlds/global" prefix="global" %>
|
|
<%
|
|
FindView data = FindView.get(request);
|
|
CategoryDescriptor cat = null;
|
|
%>
|
|
<util:comment>Find page</util:comment>
|
|
<util:menuheader caption="Find:">
|
|
<% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %>
|
|
<util:menuheaderitem selected="true">
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_COMMUNITIES %></util:href>
|
|
<util:text>Communities</util:text>
|
|
</util:menuheaderitem>
|
|
<% } else { %>
|
|
<util:menuheaderitem>
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_COMMUNITIES %></util:href>
|
|
<util:text>Communities</util:text>
|
|
</util:menuheaderitem>
|
|
<% } // end if %>
|
|
<% if (data.testDisplayMode(FindView.FD_USERS)) { %>
|
|
<util:menuheaderitem selected="true">
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_USERS %></util:href>
|
|
<util:text>Users</util:text>
|
|
</util:menuheaderitem>
|
|
<% } else { %>
|
|
<util:menuheaderitem>
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_USERS %></util:href>
|
|
<util:text>Users</util:text>
|
|
</util:menuheaderitem>
|
|
<% } // end if %>
|
|
<global:categories_enabled>
|
|
<% if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %>
|
|
<util:menuheaderitem selected="true">
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_CATEGORIES %></util:href>
|
|
<util:text>Categories</util:text>
|
|
</util:menuheaderitem>
|
|
<% } else { %>
|
|
<util:menuheaderitem>
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_CATEGORIES %></util:href>
|
|
<util:text>Categories</util:text>
|
|
</util:menuheaderitem>
|
|
<% } // end if %>
|
|
</global:categories_enabled>
|
|
<% if (data.testDisplayMode(FindView.FD_POSTS)) { %>
|
|
<util:menuheaderitem selected="true">
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_POSTS %></util:href>
|
|
<util:text>Posts</util:text>
|
|
</util:menuheaderitem>
|
|
<% } else { %>
|
|
<util:menuheaderitem>
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_POSTS %></util:href>
|
|
<util:text>Posts</util:text>
|
|
</util:menuheaderitem>
|
|
<% } // end if %>
|
|
</util:menuheader>
|
|
|
|
<%-- Display the search form --%>
|
|
<util:comment>Find form</util:comment>
|
|
<util:form action="find.js.vs" type="servlet"><div class="content">
|
|
<input type="hidden" name="disp" value="<%= data.getDisplayMode() %>" />
|
|
<input type="hidden" name="ofs" VALUE="0" />
|
|
<% if (data.testDisplayMode(FindView.FD_POSTS)) { %>
|
|
<util:comment>Find Posts form</util:comment>
|
|
<util:font color="content.fg" size="content-heading"><b>Find Posts:</b></util:font>
|
|
<util:font color="content.fg" size="content">
|
|
Keywords: <span class="cinput"><input type="text" class="cinput" name="term" size="64" maxlength="255"
|
|
value="<%= data.getTerm() %>" /></span>
|
|
</util:font><br />
|
|
<% } else { %>
|
|
<% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %>
|
|
<util:comment>Find Communities form</util:comment>
|
|
<util:font color="content.fg" size="content-heading"><b>Find Communities:</b></util:font>
|
|
<util:font color="content.fg" size="content">
|
|
Display all communities whose
|
|
<select name="field" size="1">
|
|
<option value="<%= SearchMode.FIELD_COMMUNITY_NAME %>"
|
|
<% if (data.testField(SearchMode.FIELD_COMMUNITY_NAME)) { %>selected="selected"<% } %> >name</option>
|
|
<option value="<%= SearchMode.FIELD_COMMUNITY_SYNOPSIS %>"
|
|
<% if (data.testField(SearchMode.FIELD_COMMUNITY_SYNOPSIS)) { %>selected="selected"<% } %>
|
|
>synopsis</option>
|
|
</select><br />
|
|
</util:font>
|
|
<% } else if (data.testDisplayMode(FindView.FD_USERS)) { %>
|
|
<util:comment>Find Users form</util:comment>
|
|
<util:font color="content.fg" size="content-heading"><b>Find Users:</b></util:font>
|
|
<util:font color="content.fg" size="content">
|
|
Display all users whose
|
|
<select name="field" size="1">
|
|
<option value="<%= SearchMode.FIELD_USER_NAME %>"
|
|
<% if (data.testField(SearchMode.FIELD_USER_NAME)) { %>selected="selected"<% } %> >user name</option>
|
|
<option value="<%= SearchMode.FIELD_USER_DESCRIPTION %>"
|
|
<% if (data.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>selected="selected"<% } %>
|
|
>description</option>
|
|
<option value="<%= SearchMode.FIELD_USER_GIVEN_NAME %>"
|
|
<% if (data.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>selected="selected"<% } %> >first
|
|
name</option>
|
|
<option value="<%= SearchMode.FIELD_USER_FAMILY_NAME %>"
|
|
<% if (data.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>selected="selected"<% } %> >last
|
|
name</option>
|
|
</select><br />
|
|
</util:font>
|
|
<% } else if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %>
|
|
<global:categories_enabled>
|
|
<util:comment>Find Categories form</util:comment>
|
|
<util:font color="content.fg" size="content-heading"><b>Find Categories:</b></util:font>
|
|
<util:font color="content.fg" size="content">
|
|
Display all categories whose name
|
|
</util:font>
|
|
</global:categories_enabled>
|
|
<global:categories_disabled>
|
|
<%-- shouldn't get here --%>
|
|
<h1><font color="red">Display parameter invalid!</font></h1>
|
|
</global:categories_disabled>
|
|
<% } else { %>
|
|
<%-- shouldn't get here --%>
|
|
<h1><font color="red">Display parameter invalid!</font></h1>
|
|
<% } // end if %>
|
|
<util:font color="content.fg" size="content">
|
|
<select name="mode" size="1">
|
|
<option value="<%= SearchMode.SEARCH_PREFIX %>"
|
|
<% if (data.testMode(SearchMode.SEARCH_PREFIX)) { %>selected="selected"<% } %> >starts with the
|
|
string</option>
|
|
<option value="<%= SearchMode.SEARCH_SUBSTRING %>"
|
|
<% if (data.testMode(SearchMode.SEARCH_SUBSTRING)) { %>selected="selected"<% } %> >contains the
|
|
string</option>
|
|
<option value="<%= SearchMode.SEARCH_REGEXP %>"
|
|
<% if (data.testMode(SearchMode.SEARCH_REGEXP)) { %>selected="selected"<% } %> >matches the regular
|
|
expression</option>
|
|
</select>
|
|
<% if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %><br /><% } else { %> <% } %>
|
|
<span class="cinput"><input type="text" class="cinput" name="term" size="32" maxlength="255"
|
|
value="<%= data.getTerm() %>"></span><br />
|
|
</util:font>
|
|
<% } // end if %>
|
|
<util:button id="search" type="input"/>
|
|
</div></util:form>
|
|
|
|
<%-- Display the current category --%>
|
|
<global:categories_enabled>
|
|
<% cat = data.getCategory(); %>
|
|
<% if (cat!=null) { %>
|
|
<util:comment>Display Category Name</util:comment>
|
|
<hr /><util:font color="content.fg" size="subhead">
|
|
<b>Category:
|
|
<% if (cat.getCategoryID()<0) { %>
|
|
Top
|
|
<% } else { %>
|
|
<util:xlink>
|
|
<util:href type="servlet">find.js.vs?disp=<%= FindView.FD_COMMUNITIES %></util:href>
|
|
<util:text>Top</util:text>
|
|
</util:xlink>
|
|
<% for (int i=0; i<cat.getNumLevels(); i++) { %>
|
|
<% if (i<(cat.getNumLevels()-1)) { %>
|
|
:
|
|
<util:xlink>
|
|
<util:href type="servlet">
|
|
find.js.vs?disp=<%= FindView.FD_COMMUNITIES %>&cat=<%= cat.getIDAtLevel(i) %>
|
|
</util:href>
|
|
<util:text><util:escape><%= cat.getTitleAtLevel(i) %></util:escape></util:text>
|
|
</util:xlink>
|
|
<% } else { %>
|
|
: <util:escape><%= cat.getTitleAtLevel(i) %></util:escape>
|
|
<% } // end if %>
|
|
<% } // end for %>
|
|
<% } // end if (displaying the subcategory tree) %>
|
|
</b><P>
|
|
|
|
<%-- Display the subcategory list --%>
|
|
<% List subcats = data.getSubCategories(); %>
|
|
<% if ((subcats!=null) && (subcats.size()>0)) { %>
|
|
<util:comment>Display Subcategory List</util:comment>
|
|
<b>Subcategories:</b><br />
|
|
<table border="0" cellpadding="0" cellspacing="2">
|
|
<% for (Iterator it = subcats.iterator(); it.hasNext(); ) { %>
|
|
<% CategoryDescriptor c = (CategoryDescriptor)(it.next()); %>
|
|
<tr valign="top">
|
|
<td align="center" width="14"><util:stdbullet/></td>
|
|
<td align="left" class="content"><util:font color="content.fg" size="content">
|
|
<b><util:xlink>
|
|
<util:href type="servlet">
|
|
find.js.vs?disp=<%= FindView.FD_COMMUNITIES %>&cat=<%= c.getLinkedCategoryID() %>
|
|
</util:href>
|
|
<util:text>
|
|
<util:escape><%= c.getTitleAtLevel(c.getNumLevels()-1) %></util:escape>
|
|
</util:text>
|
|
</util:xlink>
|
|
<% if (c.isSymbolicLink()) { %><i>@</i><% } %>
|
|
</util:font></td>
|
|
</tr>
|
|
<% } // end for %>
|
|
</table>
|
|
<% } // end if (displaying subcategory list) %>
|
|
</util:font>
|
|
<% } // end if (category specified) %>
|
|
</global:categories_enabled>
|
|
|
|
<%-- Display the search results --%>
|
|
<% List results = data.getResults(); %>
|
|
<% if (results!=null) { %>
|
|
<util:comment>Display Search Results</util:comment>
|
|
<%
|
|
// Determine the number of results to display and whether to display a "next" button
|
|
int dcount = results.size();
|
|
boolean go_next = false;
|
|
if (dcount>data.getMaxResults())
|
|
{ // there's a "next"
|
|
dcount = data.getMaxResults();
|
|
go_next = true;
|
|
|
|
} // end if
|
|
%>
|
|
<hr />
|
|
<table width="100%" border="0" align="center"><tr valign="middle">
|
|
<td width="50%" align="left" class="content"><util:font color="content.fg" size="content">
|
|
<%-- The initial search results --%>
|
|
<b><% if (cat!=null) { %>Communities in Category<% } else { %>Search Results<% } %></b>
|
|
<% if (data.getFindCount()>0) { %>
|
|
(Displaying <%= data.getOffset() + 1 %>-<%= data.getOffset() + dcount %> of
|
|
<%= data.getFindCount() %>)
|
|
<% } else { %>(None)<% } %>
|
|
</util:font></td>
|
|
|
|
<td width="50%" align="right" class="content">
|
|
<% if (go_next || (data.getOffset()>0)) { %>
|
|
<%-- The navigational form that allows us to page through the results --%>
|
|
<util:comment>Navigational form</util:comment>
|
|
<util:form action="find.js.vs" type="servlet"><div class="content">
|
|
<input type="hidden" name="disp" value="<%= data.getDisplayMode() %>" />
|
|
<% if (cat!=null) { %><input type="hidden" name="cat" value="<%= cat.getCategoryID() %>" /><% } %>
|
|
<input type="hidden" name="ofs" value="<%= data.getOffset() %>" />
|
|
<input type="hidden" name="field" value="<%= data.getField() %>" />
|
|
<input type="hidden" name="mode" value="<%= data.getMode() %>" />
|
|
<input type="hidden" name="term" value="<%= data.getTerm() %>" />
|
|
<input type="hidden" name="fcount" value="<%= data.getFindCount() %>" />
|
|
<% if (data.getOffset()>0) { %>
|
|
<util:button id="previous" type="input"/>
|
|
<% } else { %>
|
|
<util:button id="_null_"/>
|
|
<% } // end if %>
|
|
|
|
<% if (go_next) { %>
|
|
<util:button id="next" type="input"/>
|
|
<% } else { %>
|
|
<util:button id="_null_"/>
|
|
<% } // end if %>
|
|
</div></util:form>
|
|
<% } else { %> <% } %>
|
|
</td>
|
|
</tr></table><br />
|
|
|
|
<%-- Display the results of the search --%>
|
|
<table border="0" align="left" cellpadding="0" cellspacing="4">
|
|
<% if (data.testDisplayMode(FindView.FD_POSTS) && (dcount>0)) { %>
|
|
<tr valign="top">
|
|
<th align="left" class="content">
|
|
<util:font color="content.fg" size="content"><b><u>Post Link</u></b></util:font>
|
|
</th>
|
|
<th align="left" class="content">
|
|
<util:font color="content.fg" size="content"><b><u>Author</u></b></util:font>
|
|
</th>
|
|
<th align="left" class="content">
|
|
<util:font color="content.fg" size="content"><b><u>Post Date</u></b></util:font>
|
|
</th>
|
|
<th align="left" class="content">
|
|
<util:font color="content.fg" size="content"><b><u>Lines</u></b></util:font>
|
|
</th>
|
|
<th align="left" class="content"> </th>
|
|
</tr>
|
|
<% } // end if %>
|
|
<% for (int i=0; i<dcount; i++) { %>
|
|
<tr valign="top">
|
|
<% if (data.testDisplayMode(FindView.FD_POSTS)) { %>
|
|
<% TopicMessageFound post = (TopicMessageFound)(results.get(i)); %>
|
|
<td align="left" class="content"><util:font color="content.fg" size="content">
|
|
<util:xlink>
|
|
<util:href type="servlet">go/<%= post.getIdentifier() %></util:href>
|
|
<util:text><%= post.getIdentifier() %></util:text>
|
|
</util:xlink>
|
|
</util:font></td>
|
|
<td align="left" class="content"><util:font color="content.fg" size="content">
|
|
<util:xlink>
|
|
<util:href type="servlet">user/<%= post.getAuthor() %></util:href>
|
|
<util:text><%= post.getAuthor() %></util:text>
|
|
</util:xlink>
|
|
</util:font></td>
|
|
<td align="left" class="content" nowrap="nowrap"><util:font color="content.fg" size="content">
|
|
<%= data.formatDate(post.getPostDate()) %>
|
|
</util:font></td>
|
|
<td align="left" class="content"><util:font color="content.fg" size="content">
|
|
<%= post.getLineCount() %>
|
|
</util:font></td>
|
|
<td align="left" class="content"><util:font color="content.fg" size="content">
|
|
<util:escape><%= post.getText() %></util:escape>
|
|
</util:font></td>
|
|
<% } else { %>
|
|
<td align="center" width="14"><util:stdbullet/></td>
|
|
<td align="left" class="content"><util:font color="content.fg" size="content">
|
|
<% Object item = results.get(i); %>
|
|
<% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %>
|
|
<%
|
|
CommunityContext comm = (CommunityContext)item;
|
|
String host_name = FindView.getCommunityHostName(comm);
|
|
int members = FindView.getCommunityMemberCount(comm);
|
|
%>
|
|
<util:xlink>
|
|
<util:href type="servlet">comm/<%= comm.getAlias() %></util:href>
|
|
<util:text><util:escape><%= comm.getName() %></util:escape></util:text>
|
|
</util:xlink><br />
|
|
<% if (host_name!=null) { %>
|
|
Host:
|
|
<util:xlink>
|
|
<util:href type="servlet">user/<%= host_name %></util:href>
|
|
<util:text><%= host_name %></util:text>
|
|
</util:xlink>
|
|
<% } // end if (got host name) %>
|
|
<% if (members>=0) { %>
|
|
<% if (host_name!=null) { %> - <% } %>
|
|
<%= members %> members
|
|
<% } // end if (got member count) %>
|
|
<% if ((host_name!=null) || (members>=0)) { %><br /><% } %>
|
|
Latest activity: <%= data.getActivityString(comm.getLastAccessDate()) %><br />
|
|
<i><util:escape><%= comm.getSynopsis() %></util:escape><i>
|
|
<% } else if (data.testDisplayMode(FindView.FD_USERS)) { %>
|
|
<%
|
|
UserFound uf = (UserFound)item;
|
|
String fullname = uf.getGivenName() + " " + uf.getFamilyName();
|
|
fullname = fullname.trim();
|
|
if (StringUtil.isStringEmpty(fullname))
|
|
fullname = uf.getName();
|
|
String whence = "";
|
|
if (!(StringUtil.isStringEmpty(uf.getLocality())))
|
|
{ // combine locations
|
|
if (!(StringUtil.isStringEmpty(uf.getRegion())))
|
|
whence = uf.getLocality() + ", " + uf.getRegion();
|
|
else
|
|
whence = uf.getLocality();
|
|
|
|
} // end if
|
|
else if (!(StringUtil.isStringEmpty(uf.getRegion())))
|
|
whence = uf.getRegion();
|
|
%>
|
|
<util:xlink>
|
|
<util:href type="servlet">user/<%= uf.getName() %></util:href>
|
|
<util:text><%= uf.getName() %></util:text>
|
|
</util:xlink><br />
|
|
<util:escape><%= fullname %></util:escape>,
|
|
from <util:escape><%= whence %></util:escape>
|
|
<% if (!(uf.getCountry().equals("XX"))) { %><%= uf.getCountry() %><% } %>
|
|
<% if (uf.getDescription()!=null) { %>
|
|
<br /><i><util:escape><%= uf.getDescription() %></util:escape></i>
|
|
<% } // end if %>
|
|
<% } else if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %>
|
|
<global:categories_enabled>
|
|
<% CategoryDescriptor cd = (CategoryDescriptor)item; %>
|
|
<util:xlink>
|
|
<util:href type="servlet">
|
|
find.js.vs?disp=<%= FindView.FD_COMMUNITIES %>&cat=<%= cd.getLinkedCategoryID() %>
|
|
</util:href>
|
|
<util:text><util:escape><%= cd.toString() %></util:escape></util:text>
|
|
</util:xlink>
|
|
</global:categories_enabled>
|
|
<% } // end if %>
|
|
</util:font></td>
|
|
<% } // end if %>
|
|
</tr>
|
|
<% } // end for %>
|
|
</table><br clear="left" />
|
|
<% } // end if (results found) %>
|
|
<%-- EOF --%>
|