modifications to ensure that Venice can operate without certain personal

information prompted for at registration time, if certain sites should elect
to omit that information
This commit is contained in:
Eric J. Bowersox 2004-07-10 22:54:15 +00:00
parent 5c0f841ab7
commit f0bf5e31ee
9 changed files with 431 additions and 348 deletions

View File

@ -8,9 +8,9 @@
// //
// The Original Code is the Venice Web Communities System. // The Original Code is the Venice Web Communities System.
// //
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, // 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 // for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
// Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. // Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
// //
// Contributor(s): // Contributor(s):
@ -63,9 +63,16 @@ try
rinput.setRequestAttribute("address.lastline",buf.toString()); rinput.setRequestAttribute("address.lastline",buf.toString());
// get the full country name and save it off // get the full country name and save it off
ce = Packages.com.silverwrist.util.International.get().getCountryForCode(ci.country); scountry = "";
if (ce!=null) if (!(ci.country.equals("XX")))
rinput.setRequestAttribute("address.country",ce.name); { // use International to get the full country name
ce = Packages.com.silverwrist.util.International.get().getCountryForCode(ci.country);
if (ce!=null)
scountry = ce.name;
} // end if
rinput.setRequestAttribute("address.country",scountry);
// Save off the community logo tag. // Save off the community logo tag.
html = vlib.queryHTMLRendering(rinput); html = vlib.queryHTMLRendering(rinput);

View File

@ -8,9 +8,9 @@
// //
// The Original Code is the Venice Web Communities System. // The Original Code is the Venice Web Communities System.
// //
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, // 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 // for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
// Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. // Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
// //
// Contributor(s): // Contributor(s):
@ -34,30 +34,25 @@ try
buf = new java.lang.StringBuffer(prof.givenName); buf = new java.lang.StringBuffer(prof.givenName);
if (!(vlib.emptyString(prof.namePrefix))) if (!(vlib.emptyString(prof.namePrefix)))
{ // insert the prefix at the beginning of the string { // insert the prefix at the beginning of the string
buf.insert(0," "); if (buf.length()>0)
buf.insert(0," ");
buf.insert(0,prof.namePrefix); buf.insert(0,prof.namePrefix);
} // end if } // end if
tmp = String.fromCharCode(prof.middleInitial); tmp = String.fromCharCode(prof.middleInitial);
if (tmp!=" ") if (tmp!=" ") // append the middle initial
{ // append the middle initial buf.append(" ").append(tmp).append(".");
buf.append(" ");
buf.append(tmp);
buf.append(".");
} // end if if (!(vlib.emptyString(prof.familyName)))
buf.append(" ").append(prof.familyName);
buf.append(" ");
buf.append(prof.familyName);
if (!(vlib.emptyString(prof.nameSuffix))) if (!(vlib.emptyString(prof.nameSuffix)))
{ // append the name suffix buf.append(" ").append(prof.nameSuffix);
buf.append(" ");
buf.append(prof.nameSuffix);
} // end if sfullname = buf.toString().trim();
if (vlib.emptyString(sfullname))
rinput.setRequestAttribute("fullname",buf.toString()); sfullname = username;
rinput.setRequestAttribute("fullname",sfullname);
// determine the last line of the address and save it off // determine the last line of the address and save it off
if (vlib.emptyString(prof.locality)) if (vlib.emptyString(prof.locality))
@ -73,19 +68,22 @@ try
else else
{ // tack together both locality and region { // tack together both locality and region
buf = new java.lang.StringBuffer(prof.locality); buf = new java.lang.StringBuffer(prof.locality);
buf.append(", "); buf.append(", ").append(prof.region);
buf.append(prof.region);
} // end else } // end else
if (!(vlib.emptyString(prof.postalCode))) if (!(vlib.emptyString(prof.postalCode)))
{ // append the postal code { // append the postal code
buf.append(" "); buf.append(" ").append(prof.postalCode);
buf.append(prof.postalCode);
} // end if } // end if
rinput.setRequestAttribute("address.lastline",buf.toString()); rinput.setRequestAttribute("address.lastline",buf.toString().trim());
scountry = prof.fullCountry();
if (prof.country.equals("XX"))
scountry = "";
rinput.setRequestAttribute("country",scountry);
// Save off the user photo tag. // Save off the user photo tag.
html = vlib.queryHTMLRendering(rinput); html = vlib.queryHTMLRendering(rinput);
@ -105,4 +103,4 @@ catch (e)
} // end catch } // end catch
vlib.output(rc); // all done! vlib.output(rc); // all done!

View File

@ -619,7 +619,14 @@ class UserContextImpl implements UserContext, ServiceProvider, PropertyProvider
if (my_email==null) if (my_email==null)
my_email = rc.getEmail(); my_email = rc.getEmail();
if (full_name==null) if (full_name==null)
{ // compute the full name
full_name = rc.getGivenName() + " " + rc.getFamilyName(); full_name = rc.getGivenName() + " " + rc.getFamilyName();
full_name = full_name.trim();
if (StringUtil.isStringEmpty(full_name))
full_name = username;
} // end if
if (my_pseud==null) if (my_pseud==null)
my_pseud = full_name; my_pseud = full_name;
return rc; return rc;

View File

@ -86,7 +86,7 @@ public class BuildVCard
buf.append(family_name); buf.append(family_name);
if (!StringUtil.isStringEmpty(suffix)) if (!StringUtil.isStringEmpty(suffix))
buf.append(' ').append(suffix); buf.append(' ').append(suffix);
String s = buf.toString(); String s = buf.toString().trim();
if (s.length()==0) if (s.length()==0)
return null; return null;
return s; return s;

View File

@ -17,6 +17,7 @@
--%> --%>
<%@ page import = "java.util.Iterator" %> <%@ page import = "java.util.Iterator" %>
<%@ page import = "java.util.List" %> <%@ page import = "java.util.List" %>
<%@ page import = "com.silverwrist.util.*" %>
<%@ page import = "com.silverwrist.venice.core.*" %> <%@ page import = "com.silverwrist.venice.core.*" %>
<%@ page import = "com.silverwrist.venice.ui.view.MembersView" %> <%@ page import = "com.silverwrist.venice.ui.view.MembersView" %>
<%@ taglib uri="/tlds/util" prefix="util" %> <%@ taglib uri="/tlds/util" prefix="util" %>
@ -36,43 +37,43 @@
</util:xlink> </util:xlink>
]</util:font><p> ]</util:font><p>
<% } // end if %> <% } // end if %>
<util:font color="content.fg" size="subhead"><B>Find members of community "<comm:name/>":</B></util:font><P> <util:font color="content.fg" size="subhead"><b>Find members of community "<comm:name/>":</b></util:font><p />
<util:form action="comm/members.js.vs" type="servlet"><DIV CLASS="content"> <util:form action="comm/members.js.vs" type="servlet"><div class="content">
<INPUT TYPE="HIDDEN" NAME="cc" VALUE="<comm:ID/>"> <input type="hidden" name="cc" value="<comm:ID/>" />
<INPUT TYPE="HIDDEN" NAME="sl" VALUE="0"> <input type="hidden" name="sl" value="0" />
<INPUT TYPE="HIDDEN" NAME="ofs" VALUE="0"> <input type="hidden" name="ofs" value="0" />
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
Display all community members whose&nbsp;&nbsp; Display all community members whose&nbsp;&nbsp;
<SELECT NAME="field" SIZE=1> <select name="field" size="1">
<OPTION VALUE="<%= SearchMode.FIELD_USER_NAME %>" <option value="<%= SearchMode.FIELD_USER_NAME %>"
<% if (view.testField(SearchMode.FIELD_USER_NAME)) { %>SELECTED<% } %> >user name</OPTION> <% if (view.testField(SearchMode.FIELD_USER_NAME)) { %>selected="selected"<% } %> >user name</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_DESCRIPTION %>" <option value="<%= SearchMode.FIELD_USER_DESCRIPTION %>"
<% if (view.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>SELECTED<% } %> >description</OPTION> <% if (view.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>selected="selected"<% } %> >description</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_GIVEN_NAME %>" <option value="<%= SearchMode.FIELD_USER_GIVEN_NAME %>"
<% if (view.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>SELECTED<% } %> >first name</OPTION> <% if (view.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>selected="selected"<% } %> >first name</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_FAMILY_NAME %>" <option value="<%= SearchMode.FIELD_USER_FAMILY_NAME %>"
<% if (view.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>SELECTED<% } %> >last name</OPTION> <% if (view.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>selected="selected"<% } %> >last name</option>
</SELECT><BR> </select><br />
<SELECT NAME="mode" SIZE=1> <select name="mode" size="1">
<OPTION VALUE="<%= SearchMode.SEARCH_PREFIX %>" <option value="<%= SearchMode.SEARCH_PREFIX %>"
<% if (view.testMode(SearchMode.SEARCH_PREFIX)) { %>SELECTED<% } %> >starts with the string</OPTION> <% if (view.testMode(SearchMode.SEARCH_PREFIX)) { %>selected="selected"<% } %> >starts with the string</option>
<OPTION VALUE="<%= SearchMode.SEARCH_SUBSTRING %>" <option value="<%= SearchMode.SEARCH_SUBSTRING %>"
<% if (view.testMode(SearchMode.SEARCH_SUBSTRING)) { %>SELECTED<% } %> >contains the string</OPTION> <% if (view.testMode(SearchMode.SEARCH_SUBSTRING)) { %>selected="selected"<% } %> >contains the string</option>
<OPTION VALUE="<%= SearchMode.SEARCH_REGEXP %>" <option value="<%= SearchMode.SEARCH_REGEXP %>"
<% if (view.testMode(SearchMode.SEARCH_REGEXP)) { %>SELECTED<% } %> >matches the regular <% if (view.testMode(SearchMode.SEARCH_REGEXP)) { %>selected="selected"<% } %> >matches the regular
expression</OPTION> expression</option>
</SELECT> </select>
<SPAN CLASS="cinput"><INPUT TYPE=TEXT CLASS="cinput" NAME="term" SIZE=32 MAXLENGTH=255 <span class="cinput"><input type="text" class="cinput" name="term" size="32" maxlength="255"
VALUE="<%= view.getTerm() %>"></SPAN><BR> value="<%= view.getTerm() %>" /></span><br />
<util:button id="search" type="input"/> <util:button id="search" type="input"/>
</util:font> </util:font>
</DIV></util:form> </div></util:form>
<% List results = view.getResults(); %> <% List results = view.getResults(); %>
<% if (results!=null) { %> <% if (results!=null) { %>
<HR> <hr />
<% <%
int dcount = results.size(); int dcount = results.size();
// Determine the number of results to display and whether to display a "next" button // Determine the number of results to display and whether to display a "next" button
@ -84,28 +85,28 @@
} // end if } // end if
%> %>
<TABLE WIDTH="100%" BORDER=0 ALIGN=CENTER><TR VALIGN=MIDDLE> <table width="100%" border="0" align="center"><tr valign="middle">
<TD WIDTH="50%" ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td width="50%" align="left" class="content"><util:font color="content.fg" size="content">
<%-- The community members/search results header --%> <%-- The community members/search results header --%>
<FONT SIZE=+1><B> <font size="+1"><b>
<% if (view.getSimple()) { %>Community Members:<% } else { %>Search Results:<% } %> <% if (view.getSimple()) { %>Community Members:<% } else { %>Search Results:<% } %>
</B></FONT> </b></font>
(Displaying <%= view.getOffset() + 1 %>-<%= view.getOffset() + dcount %> of (Displaying <%= view.getOffset() + 1 %>-<%= view.getOffset() + dcount %> of
<%= view.getFindCount() %>) <%= view.getFindCount() %>)
</util:font></TD> </util:font></td>
<TD WIDTH="50%" ALIGN=RIGHT CLASS="content"> <td width="50%" align="right" class="content">
<% if (go_next || (view.getOffset()>0)) { %> <% if (go_next || (view.getOffset()>0)) { %>
<%-- The navigational form that allows us to page through the results --%> <%-- The navigational form that allows us to page through the results --%>
<util:comment>Navigational Form</util:comment> <util:comment>Navigational Form</util:comment>
<util:form action="comm/members.js.vs" type="servlet"><DIV CLASS="content"> <util:form action="comm/members.js.vs" type="servlet"><div class="content">
<INPUT TYPE="HIDDEN" NAME="cc" VALUE="<comm:ID/>"> <input type="hidden" name="cc" value="<comm:ID/>" />
<INPUT TYPE="HIDDEN" NAME="sl" VALUE="<%= view.getSimple() ? 1 : 0 %>"> <input type="hidden" name="sl" value="<%= view.getSimple() ? 1 : 0 %>" />
<INPUT TYPE=HIDDEN NAME="ofs" VALUE="<%= view.getOffset() %>"> <input type="hidden" name="ofs" value="<%= view.getOffset() %>" />
<INPUT TYPE=HIDDEN NAME="field" VALUE="<%= view.getField() %>"> <input type="hidden" name="field" value="<%= view.getField() %>" />
<INPUT TYPE=HIDDEN NAME="mode" VALUE="<%= view.getMode() %>"> <input type="hidden" name="mode" value="<%= view.getMode() %>" />
<INPUT TYPE=HIDDEN NAME="term" VALUE="<%= view.getTerm() %>"> <input type="hidden" name="term" value="<%= view.getTerm() %>" />
<INPUT TYPE=HIDDEN NAME="fcount" VALUE="<%= view.getFindCount() %>"> <input type="hidden" name="fcount" value="<%= view.getFindCount() %>" />
<% if (view.getOffset()>0) { %> <% if (view.getOffset()>0) { %>
<util:button id="previous" type="input"/> <util:button id="previous" type="input"/>
<% } else { %> <% } else { %>
@ -117,33 +118,50 @@
<% } else { %> <% } else { %>
<util:button id="_null_"/> <util:button id="_null_"/>
<% } // end if %> <% } // end if %>
</DIV></util:form> </div></util:form>
<% } else { %>&nbsp;<% } %> <% } else { %>&nbsp;<% } %>
</TD> </td>
</TR></TABLE><BR> </tr></table><br />
<%-- Display the results of the search --%> <%-- Display the results of the search --%>
<TABLE BORDER=0 ALIGN=LEFT CELLPADDING=0 CELLSPACING=4> <table border="0" align="left" cellpadding="0" cellspacing="4">
<% for (int i=0; i<dcount; i++) { %> <% for (int i=0; i<dcount; i++) { %>
<TR VALIGN=TOP> <tr valign="top">
<TD ALIGN=CENTER WIDTH=14><util:stdbullet/></TD> <td align="center" width="14"><util:stdbullet/></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<% UserFound uf = (UserFound)(results.get(i)); %> <%
UserFound uf = (UserFound)(results.get(i));
String fullname = uf.getGivenName() + " " + uf.getFamilyName();
fullname = fullname.trim();
if (StringUtil.isStringEmpty(fullname))
fullname = uf.getName();
String whence = "";
if (!(StringUtil.isStringEmpty(uf.getLocality())))
{ // figure out the right locality
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:xlink>
<util:href type="servlet">user/<%= uf.getName() %></util:href> <util:href type="servlet">user/<%= uf.getName() %></util:href>
<util:text><%= uf.getName() %></util:text> <util:text><%= uf.getName() %></util:text>
</util:xlink><BR> </util:xlink><br />
<util:escape><%= uf.getGivenName() %> <%= uf.getFamilyName() %></util:escape>, <util:escape><%= fullname %></util:escape>, from <util:escape><%= whence %></util:escape>
from <util:escape><%= uf.getLocality() %>, <%= uf.getRegion() %></util:escape> <% if (!(uf.getCountry().equals("XX"))) { %><%= uf.getCountry() %><% } %>
<%= uf.getCountry() %>
<% if (view.isCommunityAdmin(uf)) { %> <% if (view.isCommunityAdmin(uf)) { %>
&nbsp;<util:image src="tag_host.gif" fixup="true" alt="Host!" width="40" height="20"/> &nbsp;<util:image src="tag_host.gif" fixup="true" alt="Host!" width="40" height="20"/>
<% } // end if %> <% } // end if %>
<% if (uf.getDescription()!=null) { %> <% if (uf.getDescription()!=null) { %>
<BR><EM><util:escape><%= uf.getDescription() %></util:escape></EM> <br /><i><util:escape><%= uf.getDescription() %></util:escape></i>
<% } // end if %> <% } // end if %>
</util:font></TD> </util:font></td>
</TR> </tr>
<% } // end for %> <% } // end for %>
</TABLE><BR CLEAR=LEFT> </table><br clear="left" />
<% } // end if %> <% } // end if %>
<%-- EOF --%>

View File

@ -9,13 +9,14 @@
The Original Code is the Venice Web Communities System. The Original Code is the Venice Web Communities System.
The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, 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 for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
Contributor(s): Contributor(s):
--%> --%>
<%@ page import = "java.util.*" %> <%@ page import = "java.util.*" %>
<%@ page import = "com.silverwrist.util.*" %>
<%@ page import = "com.silverwrist.venice.core.*" %> <%@ page import = "com.silverwrist.venice.core.*" %>
<%@ page import = "com.silverwrist.venice.ui.conf.CurrentConference" %> <%@ page import = "com.silverwrist.venice.ui.conf.CurrentConference" %>
<%@ page import = "com.silverwrist.venice.ui.menus.MenuComponent" %> <%@ page import = "com.silverwrist.venice.ui.menus.MenuComponent" %>
@ -38,72 +39,78 @@
</util:xlink></util:font><P> </util:xlink></util:font><P>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
<DIV ALIGN="LEFT"><B>Topic Subscription:</B></DIV> <div align="left"><b>Topic Subscription:</b></div>
<topic:subscribed> <topic:subscribed>
You are currently subscribed to this topic, and will receive all new posts to it via E-mail.<P> You are currently subscribed to this topic, and will receive all new posts to it via E-mail.<p />
<B><util:xlink> <b><util:xlink>
<util:href type="servlet">conf/subscribe_topic.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/>&flag=0</util:href> <util:href type="servlet">conf/subscribe_topic.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/>&flag=0</util:href>
<util:text>Click Here to Stop Subscribing To This Topic</util:text> <util:text>Click Here to Stop Subscribing To This Topic</util:text>
</util:xlink></B> </util:xlink></b>
</topic:subscribed> </topic:subscribed>
<topic:not_subscribed> <topic:not_subscribed>
You are not currently subscribed to this topic. When you subscribe to a topic, you will receive all new You are not currently subscribed to this topic. When you subscribe to a topic, you will receive all new
posts to that topic via E-mail.<P> posts to that topic via E-mail.<p />
<B><util:xlink> <b><util:xlink>
<util:href type="servlet">conf/subscribe_topic.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/>&flag=1</util:href> <util:href type="servlet">conf/subscribe_topic.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/>&flag=1</util:href>
<util:text>Click Here to Start Subscribing To This Topic</util:text> <util:text>Click Here to Start Subscribing To This Topic</util:text>
</util:xlink></B> </util:xlink></b>
</topic:not_subscribed> </topic:not_subscribed>
<P>&nbsp;<P> <p />&nbsp;<p />
<topic:can_send_invite> <topic:can_send_invite>
<util:comment>Invitation Section</util:comment> <util:comment>Invitation Section</util:comment>
<util:header title="Send Invitation"/> <util:header title="Send Invitation"/>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
You may send an invitation via E-mail to outside individuals to join this community and You may send an invitation via E-mail to outside individuals to join this community and
read this topic in the conference.<P> read this topic in the conference.<p />
<B><util:xlink> <b><util:xlink>
<util:href type="servlet">conf/invite_topic.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/></util:href> <util:href type="servlet">conf/invite_topic.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/></util:href>
<util:text>Click Here to send an invitation</util:text> <util:text>Click Here to send an invitation</util:text>
</util:xlink></B> </util:xlink></b>
</util:font><P>&nbsp;<P> </util:font><p />&nbsp;<p />
</topic:can_send_invite> </topic:can_send_invite>
<util:comment>Filtered Users Section</util:comment> <util:comment>Filtered Users Section</util:comment>
<util:header title="Filtered Users"/> <util:header title="Filtered Users"/>
<% List bozos = (List)(view.getRequestAttribute("topic.bozos.list")); %> <% List bozos = (List)(view.getRequestAttribute("topic.bozos.list")); %>
<% if (bozos.size()>0) { %> <% if (bozos.size()>0) { %>
<TABLE BORDER=0 ALIGN=CENTER CELLPADDING=0 CELLSPACING=2> <table border="0" align="center" cellpadding="0" cellspacing="2">
<% Iterator it = bozos.iterator(); %> <% for (Iterator it=bozos.iterator(); it.hasNext(); ) { %>
<% while (it.hasNext()) { %> <%
<% UserProfile prof = (UserProfile)(it.next()); %> UserProfile prof = (UserProfile)(it.next());
String fullname = prof.getGivenName() + " " + prof.getFamilyName();
fullname = fullname.trim();
%>
<TR> <TR>
<TD ALIGN=CENTER WIDTH=16><util:xlink> <td align="center" width="16"><util:xlink>
<util:href type="servlet">conf/remove_bozo.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/>&u=<%= prof.getUID() %></util:href> <util:href type="servlet">conf/remove_bozo.js.vs?cc=<comm:ID/>&conf=<conf:ID/>&top=<topic:number/>&u=<%= prof.getUID() %></util:href>
<util:text><util:image src="icn_x.gif" fixup="true" alt="Remove" width="16" height="16"/></util:text> <util:text><util:image src="icn_x.gif" fixup="true" alt="Remove" width="16" height="16"/></util:text>
</util:xlink></TD> </util:xlink></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
&lt;<util:xlink> &lt;<util:xlink>
<util:href type="servlet">user/<%= prof.getUserName() %></util:href> <util:href type="servlet">user/<%= prof.getUserName() %></util:href>
<util:text><%= prof.getUserName() %></util:text> <util:text><%= prof.getUserName() %></util:text>
</util:xlink>&gt; </util:xlink>&gt;
<EM><util:escape>(<%= prof.getGivenName() %> <%= prof.getFamilyName() %>)</util:escape></EM> <% if (!(StringUtil.isStringEmpty(fullname))) { %>
</util:font></TD> <i><util:escape>(<%= fullname %>)</util:escape></i>
</TR> <% } // end if %>
<% } // end while %> </util:font></td>
</TABLE><P> </tr>
<% } // end for %>
</table><p />
<TABLE ALIGN=CENTER BORDER=0 CELLPADDING=2 CELLSPACING=0> <table align="center" border="0" cellpadding="2" cellspacing="0">
<TR VALIGN=TOP> <tr valign="top">
<TD ALIGN=CENTER WIDTH=16> <td align="center" width="16">
<util:image src="icn_x.gif" fixup="true" alt="Remove" width="16" height="16"/> <util:image src="icn_x.gif" fixup="true" alt="Remove" width="16" height="16"/>
</TD> </td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td alig="left" class="content"><util:font color="content.fg" size="content">
Click this symbol to cease filtering this user in this topic. Click this symbol to cease filtering this user in this topic.
</util:font></TD> </util:font></td>
</TR> </tr>
</TABLE> </table>
<% } else { %> <% } else { %>
<DIV ALIGN="CENTER"><EM>No users currently filtered.</EM></DIV> <div align="center"><i>No users currently filtered.</i></div>
<% } // end if %> <% } // end if %>
</util:font> </util:font>
<%-- EOF --%>

View File

@ -9,14 +9,15 @@
The Original Code is the Venice Web Communities System. The Original Code is the Venice Web Communities System.
The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, 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 for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
Copyright (C) 2001-02 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
Contributor(s): Contributor(s):
--%> --%>
<%@ page import = "java.util.Iterator" %> <%@ page import = "java.util.Iterator" %>
<%@ page import = "java.util.List" %> <%@ page import = "java.util.List" %>
<%@ page import = "com.silverwrist.util.*" %>
<%@ page import = "com.silverwrist.venice.core.*" %> <%@ page import = "com.silverwrist.venice.core.*" %>
<%@ page import = "com.silverwrist.venice.ui.view.FindView" %> <%@ page import = "com.silverwrist.venice.ui.view.FindView" %>
<%@ taglib uri="/tlds/util" prefix="util" %> <%@ taglib uri="/tlds/util" prefix="util" %>
@ -77,86 +78,92 @@
<%-- Display the search form --%> <%-- Display the search form --%>
<util:comment>Find form</util:comment> <util:comment>Find form</util:comment>
<util:form action="find.js.vs" type="servlet"><DIV CLASS="content"> <util:form action="find.js.vs" type="servlet"><div class="content">
<INPUT TYPE=HIDDEN NAME="disp" VALUE="<%= data.getDisplayMode() %>"> <input type="hidden" name="disp" value="<%= data.getDisplayMode() %>" />
<INPUT TYPE=HIDDEN NAME="ofs" VALUE="0"> <input type="hidden" name="ofs" VALUE="0" />
<% if (data.testDisplayMode(FindView.FD_POSTS)) { %> <% if (data.testDisplayMode(FindView.FD_POSTS)) { %>
<util:comment>Find Posts form</util:comment> <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-heading"><b>Find Posts:</b></util:font>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
Keywords: <SPAN CLASS="cinput"><INPUT TYPE=TEXT CLASS="cinput" NAME="term" SIZE=64 MAXLENGTH=255 Keywords: <span class="cinput"><input type="text" class="cinput" name="term" size="64" maxlength="255"
VALUE="<%= data.getTerm() %>"></SPAN> value="<%= data.getTerm() %>" /></span>
</util:font><BR> </util:font><br />
<% } else { %> <% } else { %>
<% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %> <% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %>
<util:comment>Find Communities form</util:comment> <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-heading"><b>Find Communities:</b></util:font>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
Display all communities whose&nbsp;&nbsp; Display all communities whose&nbsp;&nbsp;
<SELECT NAME="field" SIZE=1> <select name="field" size="1">
<OPTION VALUE="<%= SearchMode.FIELD_COMMUNITY_NAME %>" <option value="<%= SearchMode.FIELD_COMMUNITY_NAME %>"
<% if (data.testField(SearchMode.FIELD_COMMUNITY_NAME)) { %>SELECTED<% } %> >name</OPTION> <% if (data.testField(SearchMode.FIELD_COMMUNITY_NAME)) { %>selected="selected"<% } %> >name</option>
<OPTION VALUE="<%= SearchMode.FIELD_COMMUNITY_SYNOPSIS %>" <option value="<%= SearchMode.FIELD_COMMUNITY_SYNOPSIS %>"
<% if (data.testField(SearchMode.FIELD_COMMUNITY_SYNOPSIS)) { %>SELECTED<% } %> >synopsis</OPTION> <% if (data.testField(SearchMode.FIELD_COMMUNITY_SYNOPSIS)) { %>selected="selected"<% } %>
</SELECT><BR> >synopsis</option>
</select><br />
</util:font> </util:font>
<% } else if (data.testDisplayMode(FindView.FD_USERS)) { %> <% } else if (data.testDisplayMode(FindView.FD_USERS)) { %>
<util:comment>Find Users form</util:comment> <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-heading"><b>Find Users:</b></util:font>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
Display all users whose&nbsp;&nbsp; Display all users whose&nbsp;&nbsp;
<SELECT NAME="field" SIZE=1> <select name="field" size="1">
<OPTION VALUE="<%= SearchMode.FIELD_USER_NAME %>" <option value="<%= SearchMode.FIELD_USER_NAME %>"
<% if (data.testField(SearchMode.FIELD_USER_NAME)) { %>SELECTED<% } %> >user name</OPTION> <% if (data.testField(SearchMode.FIELD_USER_NAME)) { %>selected="selected"<% } %> >user name</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_DESCRIPTION %>" <option value="<%= SearchMode.FIELD_USER_DESCRIPTION %>"
<% if (data.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>SELECTED<% } %> >description</OPTION> <% if (data.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>selected="selected"<% } %>
<OPTION VALUE="<%= SearchMode.FIELD_USER_GIVEN_NAME %>" >description</option>
<% if (data.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>SELECTED<% } %> >first name</OPTION> <option value="<%= SearchMode.FIELD_USER_GIVEN_NAME %>"
<OPTION VALUE="<%= SearchMode.FIELD_USER_FAMILY_NAME %>" <% if (data.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>selected="selected"<% } %> >first
<% if (data.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>SELECTED<% } %> >last name</OPTION> name</option>
</SELECT><BR> <option value="<%= SearchMode.FIELD_USER_FAMILY_NAME %>"
<% if (data.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>selected="selected"<% } %> >last
name</option>
</select><br />
</util:font> </util:font>
<% } else if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %> <% } else if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %>
<global:categories_enabled> <global:categories_enabled>
<util:comment>Find Categories form</util:comment> <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-heading"><b>Find Categories:</b></util:font>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
Display all categories whose name&nbsp;&nbsp; Display all categories whose name&nbsp;&nbsp;
</util:font> </util:font>
</global:categories_enabled> </global:categories_enabled>
<global:categories_disabled> <global:categories_disabled>
<%-- shouldn't get here --%> <%-- shouldn't get here --%>
<H1><FONT COLOR="red">Display parameter invalid!</FONT></H1> <h1><font color="red">Display parameter invalid!</font></h1>
</global:categories_disabled> </global:categories_disabled>
<% } else { %> <% } else { %>
<%-- shouldn't get here --%> <%-- shouldn't get here --%>
<H1><FONT COLOR="red">Display parameter invalid!</FONT></H1> <h1><font color="red">Display parameter invalid!</font></h1>
<% } // end if %> <% } // end if %>
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
<SELECT NAME="mode" SIZE=1> <select name="mode" size="1">
<OPTION VALUE="<%= SearchMode.SEARCH_PREFIX %>" <option value="<%= SearchMode.SEARCH_PREFIX %>"
<% if (data.testMode(SearchMode.SEARCH_PREFIX)) { %>SELECTED<% } %> >starts with the string</OPTION> <% if (data.testMode(SearchMode.SEARCH_PREFIX)) { %>selected="selected"<% } %> >starts with the
<OPTION VALUE="<%= SearchMode.SEARCH_SUBSTRING %>" string</option>
<% if (data.testMode(SearchMode.SEARCH_SUBSTRING)) { %>SELECTED<% } %> >contains the string</OPTION> <option value="<%= SearchMode.SEARCH_SUBSTRING %>"
<OPTION VALUE="<%= SearchMode.SEARCH_REGEXP %>" <% if (data.testMode(SearchMode.SEARCH_SUBSTRING)) { %>selected="selected"<% } %> >contains the
<% if (data.testMode(SearchMode.SEARCH_REGEXP)) { %>SELECTED<% } %> >matches the regular string</option>
expression</OPTION> <option value="<%= SearchMode.SEARCH_REGEXP %>"
</SELECT> <% if (data.testMode(SearchMode.SEARCH_REGEXP)) { %>selected="selected"<% } %> >matches the regular
<% if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %><BR><% } else { %>&nbsp;&nbsp;<% } %> expression</option>
<SPAN CLASS="cinput"><INPUT TYPE=TEXT CLASS="cinput" NAME="term" SIZE=32 MAXLENGTH=255 </select>
VALUE="<%= data.getTerm() %>"></SPAN><BR> <% if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %><br /><% } else { %>&nbsp;&nbsp;<% } %>
<span class="cinput"><input type="text" class="cinput" name="term" size="32" maxlength="255"
value="<%= data.getTerm() %>"></span><br />
</util:font> </util:font>
<% } // end if %> <% } // end if %>
<util:button id="search" type="input"/> <util:button id="search" type="input"/>
</DIV></util:form> </div></util:form>
<%-- Display the current category --%> <%-- Display the current category --%>
<global:categories_enabled> <global:categories_enabled>
<% cat = data.getCategory(); %> <% cat = data.getCategory(); %>
<% if (cat!=null) { %> <% if (cat!=null) { %>
<util:comment>Display Category Name</util:comment> <util:comment>Display Category Name</util:comment>
<HR><util:font color="content.fg" size="subhead"> <hr /><util:font color="content.fg" size="subhead">
<B>Category: <b>Category:
<% if (cat.getCategoryID()<0) { %> <% if (cat.getCategoryID()<0) { %>
Top Top
<% } else { %> <% } else { %>
@ -178,21 +185,20 @@
<% } // end if %> <% } // end if %>
<% } // end for %> <% } // end for %>
<% } // end if (displaying the subcategory tree) %> <% } // end if (displaying the subcategory tree) %>
</B><P> </b><P>
<%-- Display the subcategory list --%> <%-- Display the subcategory list --%>
<% List subcats = data.getSubCategories(); %> <% List subcats = data.getSubCategories(); %>
<% if ((subcats!=null) && (subcats.size()>0)) { %> <% if ((subcats!=null) && (subcats.size()>0)) { %>
<util:comment>Display Subcategory List</util:comment> <util:comment>Display Subcategory List</util:comment>
<B>Subcategories:</B><BR> <b>Subcategories:</b><br />
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=2> <table border="0" cellpadding="0" cellspacing="2">
<% Iterator it = subcats.iterator(); %> <% for (Iterator it = subcats.iterator(); it.hasNext(); ) { %>
<% while (it.hasNext()) { %> <% CategoryDescriptor c = (CategoryDescriptor)(it.next()); %>
<TR VALIGN=TOP> <tr valign="top">
<TD ALIGN=CENTER WIDTH=14><util:stdbullet/></TD> <td align="center" width="14"><util:stdbullet/></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<% CategoryDescriptor c = (CategoryDescriptor)(it.next()); %> <b><util:xlink>
<B><util:xlink>
<util:href type="servlet"> <util:href type="servlet">
find.js.vs?disp=<%= FindView.FD_COMMUNITIES %>&cat=<%= c.getLinkedCategoryID() %> find.js.vs?disp=<%= FindView.FD_COMMUNITIES %>&cat=<%= c.getLinkedCategoryID() %>
</util:href> </util:href>
@ -200,11 +206,11 @@
<util:escape><%= c.getTitleAtLevel(c.getNumLevels()-1) %></util:escape> <util:escape><%= c.getTitleAtLevel(c.getNumLevels()-1) %></util:escape>
</util:text> </util:text>
</util:xlink> </util:xlink>
<% if (c.isSymbolicLink()) { %><EM>@</EM><% } %> <% if (c.isSymbolicLink()) { %><i>@</i><% } %>
</util:font></TD> </util:font></td>
</TR> </tr>
<% } // end while %> <% } // end for %>
</TABLE> </table>
<% } // end if (displaying subcategory list) %> <% } // end if (displaying subcategory list) %>
</util:font> </util:font>
<% } // end if (category specified) %> <% } // end if (category specified) %>
@ -225,29 +231,29 @@
} // end if } // end if
%> %>
<HR> <hr />
<TABLE WIDTH="100%" BORDER=0 ALIGN=CENTER><TR VALIGN=MIDDLE> <table width="100%" border="0" align="center"><tr valign="middle">
<TD WIDTH="50%" ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td width="50%" align="left" class="content"><util:font color="content.fg" size="content">
<%-- The initial search results --%> <%-- The initial search results --%>
<B><% if (cat!=null) { %>Communities in Category<% } else { %>Search Results<% } %></B> <b><% if (cat!=null) { %>Communities in Category<% } else { %>Search Results<% } %></b>
<% if (data.getFindCount()>0) { %> <% if (data.getFindCount()>0) { %>
(Displaying <%= data.getOffset() + 1 %>-<%= data.getOffset() + dcount %> of (Displaying <%= data.getOffset() + 1 %>-<%= data.getOffset() + dcount %> of
<%= data.getFindCount() %>) <%= data.getFindCount() %>)
<% } else { %>(None)<% } %> <% } else { %>(None)<% } %>
</util:font></TD> </util:font></td>
<TD WIDTH="50%" ALIGN=RIGHT CLASS="content"> <td width="50%" align="right" class="content">
<% if (go_next || (data.getOffset()>0)) { %> <% if (go_next || (data.getOffset()>0)) { %>
<%-- The navigational form that allows us to page through the results --%> <%-- The navigational form that allows us to page through the results --%>
<util:comment>Navigational form</util:comment> <util:comment>Navigational form</util:comment>
<util:form action="find.js.vs" type="servlet"><DIV CLASS="content"> <util:form action="find.js.vs" type="servlet"><div class="content">
<INPUT TYPE=HIDDEN NAME="disp" VALUE="<%= data.getDisplayMode() %>"> <input type="hidden" name="disp" value="<%= data.getDisplayMode() %>" />
<% if (cat!=null) { %><INPUT TYPE=HIDDEN NAME="cat" VALUE="<%= cat.getCategoryID() %>"><% } %> <% if (cat!=null) { %><input type="hidden" name="cat" value="<%= cat.getCategoryID() %>" /><% } %>
<INPUT TYPE=HIDDEN NAME="ofs" VALUE="<%= data.getOffset() %>"> <input type="hidden" name="ofs" value="<%= data.getOffset() %>" />
<INPUT TYPE=HIDDEN NAME="field" VALUE="<%= data.getField() %>"> <input type="hidden" name="field" value="<%= data.getField() %>" />
<INPUT TYPE=HIDDEN NAME="mode" VALUE="<%= data.getMode() %>"> <input type="hidden" name="mode" value="<%= data.getMode() %>" />
<INPUT TYPE=HIDDEN NAME="term" VALUE="<%= data.getTerm() %>"> <input type="hidden" name="term" value="<%= data.getTerm() %>" />
<INPUT TYPE=HIDDEN NAME="fcount" VALUE="<%= data.getFindCount() %>"> <input type="hidden" name="fcount" value="<%= data.getFindCount() %>" />
<% if (data.getOffset()>0) { %> <% if (data.getOffset()>0) { %>
<util:button id="previous" type="input"/> <util:button id="previous" type="input"/>
<% } else { %> <% } else { %>
@ -259,58 +265,58 @@
<% } else { %> <% } else { %>
<util:button id="_null_"/> <util:button id="_null_"/>
<% } // end if %> <% } // end if %>
</DIV></util:form> </div></util:form>
<% } else { %>&nbsp;<% } %> <% } else { %>&nbsp;<% } %>
</TD> </td>
</TR></TABLE><BR> </tr></table><br />
<%-- Display the results of the search --%> <%-- Display the results of the search --%>
<TABLE BORDER=0 ALIGN=LEFT CELLPADDING=0 CELLSPACING=4> <table border="0" align="left" cellpadding="0" cellspacing="4">
<% if (data.testDisplayMode(FindView.FD_POSTS) && (dcount>0)) { %> <% if (data.testDisplayMode(FindView.FD_POSTS) && (dcount>0)) { %>
<TR VALIGN=TOP> <tr valign="top">
<TH ALIGN=LEFT CLASS="CONTENT"> <th align="left" class="content">
<util:font color="content.fg" size="content"><B><U>Post Link</U></B></util:font> <util:font color="content.fg" size="content"><b><u>Post Link</u></b></util:font>
</TH> </th>
<TH ALIGN=LEFT CLASS="CONTENT"> <th align="left" class="content">
<util:font color="content.fg" size="content"><B><U>Author</U></B></util:font> <util:font color="content.fg" size="content"><b><u>Author</u></b></util:font>
</TH> </th>
<TH ALIGN=LEFT CLASS="CONTENT"> <th align="left" class="content">
<util:font color="content.fg" size="content"><B><U>Post Date</U></B></util:font> <util:font color="content.fg" size="content"><b><u>Post Date</u></b></util:font>
</TH> </th>
<TH ALIGN=LEFT CLASS="CONTENT"> <th align="left" class="content">
<util:font color="content.fg" size="content"><B><U>Lines</U></B></util:font> <util:font color="content.fg" size="content"><b><u>Lines</u></b></util:font>
</TH> </th>
<TH ALIGN=LEFT CLASS="CONTENT">&nbsp;</TH> <th align="left" class="content">&nbsp;</th>
</TR> </tr>
<% } // end if %> <% } // end if %>
<% for (int i=0; i<dcount; i++) { %> <% for (int i=0; i<dcount; i++) { %>
<TR VALIGN=TOP> <tr valign="top">
<% if (data.testDisplayMode(FindView.FD_POSTS)) { %> <% if (data.testDisplayMode(FindView.FD_POSTS)) { %>
<% TopicMessageFound post = (TopicMessageFound)(results.get(i)); %> <% TopicMessageFound post = (TopicMessageFound)(results.get(i)); %>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<util:xlink> <util:xlink>
<util:href type="servlet">go/<%= post.getIdentifier() %></util:href> <util:href type="servlet">go/<%= post.getIdentifier() %></util:href>
<util:text><%= post.getIdentifier() %></util:text> <util:text><%= post.getIdentifier() %></util:text>
</util:xlink> </util:xlink>
</util:font></TD> </util:font></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<util:xlink> <util:xlink>
<util:href type="servlet">user/<%= post.getAuthor() %></util:href> <util:href type="servlet">user/<%= post.getAuthor() %></util:href>
<util:text><%= post.getAuthor() %></util:text> <util:text><%= post.getAuthor() %></util:text>
</util:xlink> </util:xlink>
</util:font></TD> </util:font></td>
<TD ALIGN=LEFT CLASS="content" NOWRAP><util:font color="content.fg" size="content"> <td align="left" class="content" nowrap="nowrap"><util:font color="content.fg" size="content">
<%= data.formatDate(post.getPostDate()) %> <%= data.formatDate(post.getPostDate()) %>
</util:font></TD> </util:font></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<%= post.getLineCount() %> <%= post.getLineCount() %>
</util:font></TD> </util:font></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<util:escape><%= post.getText() %></util:escape> <util:escape><%= post.getText() %></util:escape>
</util:font></TD> </util:font></td>
<% } else { %> <% } else { %>
<TD ALIGN=CENTER WIDTH=14><util:stdbullet/></TD> <td align="center" width="14"><util:stdbullet/></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<% Object item = results.get(i); %> <% Object item = results.get(i); %>
<% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %> <% if (data.testDisplayMode(FindView.FD_COMMUNITIES)) { %>
<% <%
@ -319,9 +325,9 @@
int members = FindView.getCommunityMemberCount(comm); int members = FindView.getCommunityMemberCount(comm);
%> %>
<util:xlink> <util:xlink>
<util:href type="servlet">sig/<%= comm.getAlias() %></util:href> <util:href type="servlet">comm/<%= comm.getAlias() %></util:href>
<util:text><util:escape><%= comm.getName() %></util:escape></util:text> <util:text><util:escape><%= comm.getName() %></util:escape></util:text>
</util:xlink><BR> </util:xlink><br />
<% if (host_name!=null) { %> <% if (host_name!=null) { %>
Host: Host:
<util:xlink> <util:xlink>
@ -333,21 +339,37 @@
<% if (host_name!=null) { %> - <% } %> <% if (host_name!=null) { %> - <% } %>
<%= members %> members <%= members %> members
<% } // end if (got member count) %> <% } // end if (got member count) %>
<% if ((host_name!=null) || (members>=0)) { %><BR><% } %> <% if ((host_name!=null) || (members>=0)) { %><br /><% } %>
Latest activity: <%= data.getActivityString(comm.getLastAccessDate()) %><BR> Latest activity: <%= data.getActivityString(comm.getLastAccessDate()) %><br />
<EM><util:escape><%= comm.getSynopsis() %></util:escape></EM> <i><util:escape><%= comm.getSynopsis() %></util:escape><i>
<% } else if (data.testDisplayMode(FindView.FD_USERS)) { %> <% } else if (data.testDisplayMode(FindView.FD_USERS)) { %>
<% UserFound uf = (UserFound)item; %> <%
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:xlink>
<util:href type="servlet">user/<%= uf.getName() %></util:href> <util:href type="servlet">user/<%= uf.getName() %></util:href>
<util:text><%= uf.getName() %></util:text> <util:text><%= uf.getName() %></util:text>
</util:xlink><BR> </util:xlink><br />
<util:escape><%= uf.getGivenName() %></util:escape> <util:escape><%= fullname %></util:escape>,
<util:escape><%= uf.getFamilyName() %></util:escape>, from <util:escape><%= whence %></util:escape>
from <util:escape><%= uf.getLocality() %></util:escape>, <% if (!(uf.getCountry().equals("XX"))) { %><%= uf.getCountry() %><% } %>
<util:escape><%= uf.getRegion() %></util:escape> <%= uf.getCountry() %>
<% if (uf.getDescription()!=null) { %> <% if (uf.getDescription()!=null) { %>
<BR><EM><util:escape><%= uf.getDescription() %></util:escape></EM> <br /><i><util:escape><%= uf.getDescription() %></util:escape></i>
<% } // end if %> <% } // end if %>
<% } else if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %> <% } else if (data.testDisplayMode(FindView.FD_CATEGORIES)) { %>
<global:categories_enabled> <global:categories_enabled>
@ -360,9 +382,10 @@
</util:xlink> </util:xlink>
</global:categories_enabled> </global:categories_enabled>
<% } // end if %> <% } // end if %>
</util:font></TD> </util:font></td>
<% } // end if %> <% } // end if %>
</TR> </tr>
<% } // end for %> <% } // end for %>
</TABLE><BR CLEAR=LEFT> </table><br clear="left" />
<% } // end if (results found) %> <% } // end if (results found) %>
<%-- EOF --%>

View File

@ -9,9 +9,9 @@
The Original Code is the Venice Web Communities System. The Original Code is the Venice Web Communities System.
The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, 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 for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
Contributor(s): Contributor(s):
--%> --%>
@ -30,36 +30,36 @@ System Administration Menu</util:link></util:font><P>
<%-- Display the search form --%> <%-- Display the search form --%>
<util:comment>User Search Form</util:comment> <util:comment>User Search Form</util:comment>
<util:form action="sysadmin/find_user.js.vs" type="servlet"><DIV CLASS="content"> <util:form action="sysadmin/find_user.js.vs" type="servlet"><div class="content">
<INPUT TYPE=HIDDEN NAME="ofs" VALUE="0"> <input type="hidden" name="ofs" value="0" />
<util:font color="content.fg" size="content-heading"><B>Find Users:</B></util:font><BR> <util:font color="content.fg" size="content-heading"><b>Find Users:</b></util:font><br />
<util:font color="content.fg" size="content"> <util:font color="content.fg" size="content">
Display all users whose&nbsp;&nbsp; Display all users whose&nbsp;&nbsp;
<SELECT NAME="field" SIZE=1> <select name="field" size="1">
<OPTION VALUE="<%= SearchMode.FIELD_USER_NAME %>" <option value="<%= SearchMode.FIELD_USER_NAME %>"
<% if (data.testField(SearchMode.FIELD_USER_NAME)) { %>SELECTED<% } %> >user name</OPTION> <% if (data.testField(SearchMode.FIELD_USER_NAME)) { %>selected="selected"<% } %> >user name</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_DESCRIPTION %>" <option value="<%= SearchMode.FIELD_USER_DESCRIPTION %>"
<% if (data.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>SELECTED<% } %> >description</OPTION> <% if (data.testField(SearchMode.FIELD_USER_DESCRIPTION)) { %>selected="selected"<% } %> >description</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_GIVEN_NAME %>" <option value="<%= SearchMode.FIELD_USER_GIVEN_NAME %>"
<% if (data.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>SELECTED<% } %> >first name</OPTION> <% if (data.testField(SearchMode.FIELD_USER_GIVEN_NAME)) { %>selected="selected"<% } %> >first name</option>
<OPTION VALUE="<%= SearchMode.FIELD_USER_FAMILY_NAME %>" <option value="<%= SearchMode.FIELD_USER_FAMILY_NAME %>"
<% if (data.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>SELECTED<% } %> >last name</OPTION> <% if (data.testField(SearchMode.FIELD_USER_FAMILY_NAME)) { %>selected="selected"<% } %> >last name</option>
</SELECT><BR> </select><br />
<SELECT NAME="mode" SIZE=1> <select name="mode" size="1">
<OPTION VALUE="<%= SearchMode.SEARCH_PREFIX %>" <option value="<%= SearchMode.SEARCH_PREFIX %>"
<% if (data.testMode(SearchMode.SEARCH_PREFIX)) { %>SELECTED<% } %> >starts with the string</OPTION> <% if (data.testMode(SearchMode.SEARCH_PREFIX)) { %>selected="selected"<% } %> >starts with the string</option>
<OPTION VALUE="<%= SearchMode.SEARCH_SUBSTRING %>" <option value="<%= SearchMode.SEARCH_SUBSTRING %>"
<% if (data.testMode(SearchMode.SEARCH_SUBSTRING)) { %>SELECTED<% } %> >contains the string</OPTION> <% if (data.testMode(SearchMode.SEARCH_SUBSTRING)) { %>selected="selected"<% } %> >contains the string</option>
<OPTION VALUE="<%= SearchMode.SEARCH_REGEXP %>" <option value="<%= SearchMode.SEARCH_REGEXP %>"
<% if (data.testMode(SearchMode.SEARCH_REGEXP)) { %>SELECTED<% } %> >matches the regular <% if (data.testMode(SearchMode.SEARCH_REGEXP)) { %>selected="selected"<% } %> >matches the regular
expression</OPTION> expression</option>
</SELECT> </select>
&nbsp;&nbsp; &nbsp;&nbsp;
<SPAN CLASS="cinput"><INPUT TYPE=TEXT CLASS="cinput" NAME="term" SIZE=32 MAXLENGTH=255 <span class="cinput"><input type="text" class="cinput" name="term" size="32" maxlength="255"
VALUE="<%= data.getTerm() %>"></SPAN><BR> value="<%= data.getTerm() %>" /></span><br />
<util:button id="search" type="input"/><BR> <util:button id="search" type="input"/><br />
</util:font> </util:font>
</DIV></util:form> </div></util:form>
<% List results = data.getResults(); %> <% List results = data.getResults(); %>
<% if (results!=null) { %> <% if (results!=null) { %>
@ -75,26 +75,26 @@ System Administration Menu</util:link></util:font><P>
} // end if } // end if
%> %>
<HR> <hr />
<TABLE WIDTH="100%" BORDER=0 ALIGN=CENTER><TR VALIGN=MIDDLE> <table width="100%" border="0" align="center"><tr valign="middle">
<TD WIDTH="50%" ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="subhead"> <td width="50%" align="left" class="content"><util:font color="content.fg" size="subhead">
<%-- The initial search results --%> <%-- The initial search results --%>
<B>Search Results</B> <b>Search Results</b>
<% if (data.getFindCount()>0) { %> <% if (data.getFindCount()>0) { %>
(Displaying <%= data.getOffset() + 1 %>-<%= data.getOffset() + dcount %> of (Displaying <%= data.getOffset() + 1 %>-<%= data.getOffset() + dcount %> of
<%= data.getFindCount() %>) <%= data.getFindCount() %>)
<% } else { %>(None)<% } %> <% } else { %>(None)<% } %>
</util:font></TD> </util:font></td>
<TD WIDTH="50%" ALIGN=RIGHT CLASS="content"> <td width="50%" align="right" class="content">
<% if (go_next || (data.getOffset()>0)) { %> <% if (go_next || (data.getOffset()>0)) { %>
<%-- The navigational form that allows us to page through the results --%> <%-- The navigational form that allows us to page through the results --%>
<util:comment>Navigational Form</util:comment> <util:comment>Navigational Form</util:comment>
<util:form action="sysadmin/find_user.js.vs" type="servlet"><DIV CLASS="content"> <util:form action="sysadmin/find_user.js.vs" type="servlet"><div class="content">
<INPUT TYPE=HIDDEN NAME="ofs" VALUE="<%= data.getOffset() %>"> <input type="hidden" name="ofs" value="<%= data.getOffset() %>" />
<INPUT TYPE=HIDDEN NAME="field" VALUE="<%= data.getField() %>"> <input type="hidden" name="field" value="<%= data.getField() %>" />
<INPUT TYPE=HIDDEN NAME="mode" VALUE="<%= data.getMode() %>"> <input type="hidden" name="mode" value="<%= data.getMode() %>" />
<INPUT TYPE=HIDDEN NAME="term" VALUE="<%= data.getTerm() %>"> <input type="hidden" name="term" value="<%= data.getTerm() %>" />
<INPUT TYPE=HIDDEN NAME="fcount" VALUE="<%= data.getFindCount() %>"> <input type="hidden" name="fcount" value="<%= data.getFindCount() %>" />
<% if (data.getOffset()>0) { %> <% if (data.getOffset()>0) { %>
<util:button id="previous" type="input"/> <util:button id="previous" type="input"/>
<% } else { %> <% } else { %>
@ -106,33 +106,52 @@ System Administration Menu</util:link></util:font><P>
<% } else { %> <% } else { %>
<util:button id="_null_"/> <util:button id="_null_"/>
<% } // end if %> <% } // end if %>
</DIV></util:form> </div></util:form>
<% } else { %>&nbsp;<% } %> <% } else { %>&nbsp;<% } %>
</TD> </td>
</TR></TABLE><BR> </tr></table><br />
<%-- Display the results of the search --%> <%-- Display the results of the search --%>
<TABLE BORDER=0 ALIGN=LEFT CELLPADDING=0 CELLSPACING=4> <table border="0" align="left" cellpadding="0" cellspacing="4">
<% for (int i=0; i<dcount; i++) { %> <% for (int i=0; i<dcount; i++) { %>
<TR VALIGN=TOP> <tr valign="top">
<TD ALIGN=CENTER WIDTH=14><util:stdbullet/></TD> <td align="center" width="14"><util:stdbullet/></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<% UserFound uf = (UserFound)(results.get(i)); %> <%
UserFound uf = (UserFound)(results.get(i));
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:xlink>
<util:href type="servlet">user/<%= uf.getName() %></util:href> <util:href type="servlet">user/<%= uf.getName() %></util:href>
<util:text><%= uf.getName() %></util:text> <util:text><%= uf.getName() %></util:text>
</util:xlink><BR> </util:xlink><br />
<util:escape><%= uf.getGivenName() %> <%= uf.getFamilyName() %></util:escape>, <util:escape><%= fullname %></util:escape>,
from <util:escape><%= uf.getLocality() %>, <%= uf.getRegion() %></util:escape> <%= uf.getCountry() %> from <util:escape><%= whence %></util:escape>
<% if (!(uf.getCountry().equals("XX"))) { %><%= uf.getCountry() %><% } %>
<% if (!StringUtil.isStringEmpty(uf.getDescription())) { %> <% if (!StringUtil.isStringEmpty(uf.getDescription())) { %>
<BR><EM><util:escape><%= uf.getDescription() %></util:escape></EM> <br /><i><util:escape><%= uf.getDescription() %></util:escape></i>
<% } // end if %> <% } // end if %>
<BR><util:xlink> <br /><util:xlink>
<util:href type="servlet">sysadmin/modify_user.js.vs?uid=<%= uf.getUID() %></util:href> <util:href type="servlet">sysadmin/modify_user.js.vs?uid=<%= uf.getUID() %></util:href>
<util:text>[Modify User]</util:text> <util:text>[Modify User]</util:text>
</util:xlink> </util:xlink>
</util:font></TD> </util:font></td>
</TR> </tr>
<% } // end for %> <% } // end for %>
</TABLE><BR CLEAR=LEFT> </table><br clear="left" />
<% } // end if (results found) %> <% } // end if (results found) %>
<%-- EOF --%>

View File

@ -9,9 +9,9 @@
The Original Code is the Venice Web Communities System. The Original Code is the Venice Web Communities System.
The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, 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 for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. Copyright (C) 2001-2004 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
Contributor(s): Contributor(s):
--%> --%>
@ -26,72 +26,76 @@
%> %>
<util:comment>Profile for UID #<%= prof.getUID() %></util:comment> <util:comment>Profile for UID #<%= prof.getUID() %></util:comment>
<util:header title="User Profile:" subtitle="<%= prof.getUserName() %>"/> <util:header title="User Profile:" subtitle="<%= prof.getUserName() %>"/>
<TABLE BORDER=0 CELLPADDING=6 CELLSPACING=0><TR VALIGN=TOP> <table border="0" cellpadding="6" cellspacing="0"><tr valign="top">
<TD ALIGN=LEFT CLASS="c2"><util:font color="content.fg" size="profile-dates"> <td align="left" class="c2"><util:font color="content.fg" size="profile-dates">
<%= data.getRequestAttribute("user.photo") %><BR CLEAR=LEFT><P> <%= data.getRequestAttribute("user.photo") %><br clear="left" /><p />
<% java.util.Date tmpd = prof.getCreateDate(); %> <% java.util.Date tmpd = prof.getCreateDate(); %>
<% if (tmpd!=null) { %> <% if (tmpd!=null) { %>
Account created:<BR><util:escape><%= data.formatDate(tmpd) %></util:escape><BR> Account created:<br /><util:escape><%= data.formatDate(tmpd) %></util:escape><br />
<% } // end if %> <% } // end if %>
<% tmpd = prof.getLastLoginDate(); %> <% tmpd = prof.getLastLoginDate(); %>
<% if (tmpd!=null) { %> <% if (tmpd!=null) { %>
Last login:<BR><util:escape><%= data.formatDate(tmpd) %></util:escape><BR> Last login:<br /><util:escape><%= data.formatDate(tmpd) %></util:escape><br />
<% } // end if %> <% } // end if %>
<% tmpd = prof.getLastUpdate(); %> <% tmpd = prof.getLastUpdate(); %>
<% if (tmpd!=null) { %> <% if (tmpd!=null) { %>
Profile last updated:<BR><util:escape><%= data.formatDate(tmpd) %></util:escape><BR> Profile last updated:<br /><util:escape><%= data.formatDate(tmpd) %></util:escape><br />
<% } // end if %> <% } // end if %>
</util:font></TD> </util:font></td>
<TD ALIGN=LEFT CLASS="content"><util:font color="content.fg" size="content"> <td align="left" class="content"><util:font color="content.fg" size="content">
<B><util:escape><%= data.getRequestAttribute("fullname").toString() %></util:escape></B><BR> <util:comment>fullname</util:comment><% tmp = data.getRequestAttribute("fullname").toString(); %>
<% tmp = prof.getEmail(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %> <% if (!(StringUtil.isStringEmpty(tmp))) { %>
E-mail: <A HREF="mailto:<%= tmp %>"><util:escape><%= tmp %></util:escape></A><BR> <b><util:escape><%= tmp %></util:escape></b><br />
<% } // end if %> <% } // end if %>
<% tmp = prof.getURL(); %> <util:comment>e-mail</util:comment><% tmp = prof.getEmail(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %> <% if (!(StringUtil.isStringEmpty(tmp))) { %>
URL: <A HREF="<%= tmp %>" TARGET="Wander"><util:escape><%= tmp %></util:escape></A><BR> E-mail: <a href="mailto:<%= tmp %>"><util:escape><%= tmp %></util:escape></a><br />
<% } // end if %><BR> <% } // end if %>
<% tmp = prof.getCompany(); %> <util:comment>url</util:comment><% tmp = prof.getURL(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %>
<% tmp = prof.getAddressLine1(); %> URL: <a href="<%= tmp %>" target="Wander"><util:escape><%= tmp %></util:escape></a><br />
<% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><BR><% } %> <% } // end if %><br />
<% tmp = prof.getAddressLine2(); %> <util:comment>company</util:comment><% tmp = prof.getCompany(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><br /><% } %>
<% tmp = data.getRequestAttribute("address.lastline").toString(); %> <util:comment>address 1</util:comment><% tmp = prof.getAddressLine1(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><br /><% } %>
<% tmp = prof.getFullCountry(); %> <util:comment>address 2</util:comment><% tmp = prof.getAddressLine2(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><br /><% } %>
<% tmp = prof.getPhone(); %> <util:comment>address lastline</util:comment><% tmp = data.getRequestAttribute("address.lastline").toString(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %>Phone: <util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><br /><% } %>
<% tmp = prof.getFax(); %> <util:comment>country</util:comment><% tmp = data.getRequestAttribute("country").toString(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %>Fax: <util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %><util:escape><%= tmp %></util:escape><br /><% } %>
<% tmp = prof.getMobile(); %> <util:comment>phone</util:comment><% tmp = prof.getPhone(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %>Mobile: <util:escape><%= tmp %></util:escape><BR><% } %> <% if (!(StringUtil.isStringEmpty(tmp))) { %>Phone: <util:escape><%= tmp %></util:escape><br /><% } %>
</util:font></TD> <util:comment>fax</util:comment><% tmp = prof.getFax(); %>
</TR></TABLE><BR> <% if (!(StringUtil.isStringEmpty(tmp))) { %>Fax: <util:escape><%= tmp %></util:escape><br /><% } %>
<util:comment>mobile</util:comment><% tmp = prof.getMobile(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %>Mobile: <util:escape><%= tmp %></util:escape><br /><% } %>
</util:font></td>
</tr></table><br />
<% tmp = prof.getDescription(); %> <% tmp = prof.getDescription(); %>
<% if (!(StringUtil.isStringEmpty(tmp))) { %> <% if (!(StringUtil.isStringEmpty(tmp))) { %>
<util:font color="content.fg" size="content"><EM><util:escape><%= tmp %></util:escape></EM></util:font><BR> <util:font color="content.fg" size="content"><i><util:escape><%= tmp %></util:escape></i></util:font><br />
<% } // end if %> <% } // end if %>
<% if (prof.canSendQuickEmail()) { %> <% if (prof.canSendQuickEmail()) { %>
<HR><util:font color="content.fg" size="content"><B>Send Quick E-Mail To <hr /><util:font color="content.fg" size="content"><b>Send Quick E-Mail To
<%= prof.getUserName() %>:</B></util:font><BR> <%= prof.getUserName() %>:</b></util:font><br />
<util:form action="quick_email.js.vs" type="servlet"> <util:form action="quick_email.js.vs" type="servlet">
<INPUT TYPE="HIDDEN" NAME="to_uid" VALUE="<%= prof.getUID() %>"> <input type="hidden" name="to_uid" value="<%= prof.getUID() %>" />
<TABLE BORDER=0 CELLPADDING=0> <table border="0" cellpadding="0">
<TR VALIGN=MIDDLE><TD ALIGN=LEFT CLASS="content"> <tr valign="middle"><td align="left" class="content">
<util:font color="content.fg" size="content">Subject: </util:font> <util:font color="content.fg" size="content">Subject: </util:font>
<SPAN CLASS="cinput"><INPUT TYPE="TEXT" CLASS="cinput" NAME="subj" SIZE=65 MAXLENGTH=255 <span class="cinput"><input type="text" class="cinput" name="subj"
VALUE=""></SPAN> size="65" maxlength="255" value="" /></span>
</TD></TR> </td></tr>
<TR VALIGN=MIDDLE><TD ALIGN=LEFT CLASS="cinput"> <tr valign="middle"><td align="left" class="cinput">
<TEXTAREA NAME="pb" WRAP=HARD ROWS=7 COLS=80></TEXTAREA> <textarea name="pb" wrap="hard" rows="7" cols="80"></textarea>
</TD></TR> </td></tr>
<TR VALIGN=MIDDLE><TD ALIGN=LEFT CLASS="content"><util:button id="send" type="input"/></TR> <tr valign="middle"><td align="left" class="content"><util:button id="send" type="input"/></td></tr>
</TABLE> </table>
</util:form> </util:form>
<% } // end if %> <% } // end if %>
<%-- EOF --%>