Index: default/category_list.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/category_list.html,v
retrieving revision 1.28
retrieving revision 1.30
diff -b -u -r1.28 -r1.30
--- default/category_list.html  18 Dec 2001 01:47:04 -0000      1.28
+++ default/category_list.html  2 Mar 2002 02:32:13 -0000       1.30
@@ -25,7 +25,11 @@
 <%body_table%>
   <tr>
     <td align=left valign=top>
+<%if main_page%>
+      <br><%title_font%><%site_title%><%/title_font%>
+<%else%>
       <br><a href="gforum.cgi?<%hidden_query%>"><%title_font%><%site_title%><%/title_font%></a>
+<%endif%>
     </td>
     <td>
       <%include include_logo.html%>
@@ -78,7 +82,7 @@
         <a name="<%cat_id%>"></a>
           <%header_font%>
             <%if cat_depth%><img src="<%image_url%>/clear_shim.gif" height=1 width="<%cat_depth * 25%>"><%endif%><a href="gforum.cgi?category=<%cat_id%>;<%hidden_query%>"><%cat_name%></a>
-            <%if current_user_id and cat_show_forums%><a href="gforum.cgi?<%if cats_query%><%cats_query%>;<%endif%><%if cat_hidden%>un<%endif%>hide_cat=<%cat_id%>;<%hidden_query%>"><small><%if cat_hidden%>[+]<%else%>[-]<%endif%></small></a><%endif%>
+            <%if current_user_id and cat_show_forums and main_page%><a href="gforum.cgi?<%if cat_hidden%>un<%endif%>hide_cat=<%cat_id%>;<%hidden_query%>"><small><%if cat_hidden%>[+]<%else%>[-]<%endif%></small></a><%endif%>
             <%if cat_desc%> - <%cat_desc%><%endif%>
           <%/header_font%>
          </td>
@@ -165,7 +169,7 @@
     <td colspan=2>
       <%body_font%>
        &nbsp;<br><br>
-       <img src="<%image_url%>/recent.gif" border="0" width="15" height="11" alt="New posts!"> = Forum has new posts - <a href="gforum.cgi?do=mark_all_read;redo=<%this_do%>;<%if cats_query%><%cats_query%>;<%endif%><%hidden_query%>">Mark all read</a><br>
+       <img src="<%image_url%>/recent.gif" border="0" width="15" height="11" alt="New posts!"> = Forum has new posts<%if current_user_id%> - <a href="gforum.cgi?do=mark_all_read;redo=<%this_do%>;<%if cats_query%><%cats_query%>;<%endif%><%hidden_query%>">Mark all read</a><%endif%><br>
        <img src="<%image_url%>/no_recent.gif" border="0" width="15" height="11" alt="No new posts"> = Forum has no new posts<br>
       <%/body_font%>
     </td>
Index: default/forum_view.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/forum_view.html,v
retrieving revision 1.41
retrieving revision 1.42
diff -b -u -r1.41 -r1.42
--- default/forum_view.html     7 Jan 2002 20:56:30 -0000       1.41
+++ default/forum_view.html     4 Mar 2002 04:01:20 -0000       1.42
@@ -179,7 +179,7 @@
          <td style="border-right:1px solid <%dark_beige%>">
            <%body_font%>
 <%  if user_id%>
-             <a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>"><%nbsp post_username%></a>
+             <a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>"><%nbsp post_username%></a>
 <%  else%>
              <%nbsp post_username%>
 <%  endif%>
Index: default/include_message_common_write.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_message_common_write.html,v
retrieving revision 1.13
retrieving revision 1.17
diff -b -u -r1.13 -r1.17
--- default/include_message_common_write.html   22 Oct 2001 18:36:16 -0000      1.13
+++ default/include_message_common_write.html   15 Mar 2002 00:47:22 -0000      1.17
@@ -45,6 +45,7 @@
     </td>
     <td align="left">
       <input type="text" name="user_username"<%if user_username%> value="<%user_username%>"<%endif%> class="button" tabindex=1>
+      <%body_font%>(<a href="gforum.cgi?do=user_list;<%hidden_query%>">View Member Directory</a>)<%/body_font%>
     </td>
   </tr>
 <%else%>
@@ -79,18 +80,31 @@
       <%/body_font%>
     </td>
     <td>
+      <input type="hidden" name="basic_editor" value="1">
 <%if message_style%>
       <select name="msg_style" size="1" class="button" tabindex=3>
 <%  if message_style == 1%>
-       <option value="1"><%GForum::language(FORUM_STYLE_MARKUP)%></option>
+       <option value="1"<%if msg_style_selected == 1%> selected<%set selected=1%><%endif%>>
+          <%GForum::language(FORUM_STYLE_MARKUP)%>
+        </option>
 <%  elsif message_style == 2%>
-       <option value="2"><%GForum::language(FORUM_STYLE_HTML)%></option>
+       <option value="2"<%if msg_style_selected == 2%> selected<%set selected=1%><%endif%>>
+          <%GForum::language(FORUM_STYLE_HTML)%>
+        </option>
 <%  elsif message_style == 3%>
-       <option value="3"<%if current_user_default_message_style == 3%> selected<%endif%>><%GForum::language(FORUM_STYLE_BOTH)%></option>
-       <option value="2"<%if current_user_default_message_style == 2%> selected<%endif%>><%GForum::language(FORUM_STYLE_HTML)%></option>
-       <option value="1"<%if current_user_default_message_style == 1%> selected<%endif%>><%GForum::language(FORUM_STYLE_MARKUP)%></option>
+       <option value="3"<%if msg_style_selected == 3%> selected<%set selected=1%><%endif%>>
+          <%GForum::language(FORUM_STYLE_BOTH)%>
+        </option>
+       <option value="2"<%if msg_style_selected == 2%> selected<%set selected=1%><%endif%>>
+          <%GForum::language(FORUM_STYLE_HTML)%>
+        </option>
+       <option value="1"<%if msg_style_selected == 1%> selected<%set selected=1%><%endif%>>
+          <%GForum::language(FORUM_STYLE_MARKUP)%>
+        </option>
 <%  endif%>
-       <option value="0"><%GForum::language(FORUM_STYLE_PLAIN)%></option>
+       <option value="0"<%unless selected%> selected<%endunless%>>
+          <%GForum::language(FORUM_STYLE_PLAIN)%>
+        </option>
       </select>
 <%  if message_style == 1 or message_style == 3%>
       &nbsp;&nbsp;&nbsp;&nbsp;
@@ -122,6 +136,11 @@
       <input type="button" class="button" name="markup_tag_email" tabindex=30 value="email" onClick="javascript: addTag(this.value); this.value = (this.value == 'email' ? '/email' : 'email');">
       <input type="button" class="button" name="markup_tag_url"   tabindex=30 value="url"   onClick="javascript: addTag(this.value); this.value = (this.value == 'url'   ? '/url'   : 'url');">
       <br>
+<%if is_ie and ie_version >= 5.5%>
+      <br><br>
+      <input type="submit" class="button" name="do=<%this_do%>;advanced_editor=1;advanced_editor_switch=1;message=<%parent_msg_id%>" value="Switch to Advanced Editor">
+<%endif%>
+      <br>
       <%body_font%>
        &nbsp;<input type="checkbox" name="msg_append_signature" value="1"<%if msg_append_signature%> checked<%endif%> tabindex=5>
        &nbsp;Append signature to message<br>
@@ -144,20 +163,20 @@
 <%GForum::Utils::new_alternation(attachments)%>
 <%loop attachments%>
        <tr bgcolor="<%GForum::Utils::alternation(attachments, $odd_color, $even_color)%>">
-         <td>
+         <td<%unless first%> style="border-top: 1px solid <%dark_beige%>"<%endunless%>>
            <img src="<%GForum::Attachment::icon($att_content, $att_filename)%>">
          </td>
-         <td style="border-right:1px solid <%dark_beige%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top: 1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%att_filename%>
            <%/body_font%>
          </td>
-         <td style="border-right:1px solid <%dark_beige%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top: 1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%GForum::Attachment::friendly_size($att_size)%>
            <%/body_font%>
          </td>
-         <td align="right">
+         <td align="right"<%unless first%> style="border-top: 1px solid <%dark_beige%>"<%endunless%>>
            <input type="submit" name="do=message_attachment_delete;att_id=<%att_id%>;redo=<%this_do%>" value="Delete Attachment" class="button" tabindex=6>
          </td>
        </tr>
Index: default/include_message_display.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_message_display.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -b -u -r1.10 -r1.11
--- default/include_message_display.html        7 Jan 2002 19:06:22 -0000       1.10
+++ default/include_message_display.html        15 Mar 2002 00:47:22 -0000      1.11
@@ -22,7 +22,7 @@
   <%top_row%>
     <td colspan="2">
       <%top_row_font%>
-       <b><%msg_subject%></b>
+       <b><%msg_subject%></b><br>
       <%/top_row_font%>
     </td>
   </tr>
Index: default/include_message_html_common_write.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_message_html_common_write.html,v
retrieving revision 1.1
retrieving revision 1.4
diff -b -u -r1.1 -r1.4
--- default/include_message_html_common_write.html      11 Jan 2002 23:18:57 -0000      1.1
+++ default/include_message_html_common_write.html      13 Mar 2002 01:21:50 -0000      1.4
@@ -34,6 +34,7 @@
     </td>
     <td align="left">
       <input type="text" name="user_username"<%if user_username%> value="<%user_username%>"<%endif%> class="button" tabindex=1>
+      <%body_font%>(<a href="gforum.cgi?do=user_list;<%hidden_query%>">View Member Directory</a>)<%/body_font%>
     </td>
   </tr>
 <%else%>
@@ -89,7 +90,7 @@
       <input type="hidden" name="msg_body" value="<%orig_msg_body%>">
       <iframe name="editor_iframe" id="editor_iframe" width="100%" height="300" onLoad="initOuterIFrame()" style="visibility: hidden"></iframe>
       <br><br><br>
-      <input type="submit" class="button" name="do=<%this_do%>;basic_editor=1;basic_editor_switch=1" value="Switch to Basic Editor">
+      <input type="submit" class="button" name="do=<%this_do%>;basic_editor=1;basic_editor_switch=1;message=<%parent_msg_id%>" value="Switch to Basic Editor">
       <br>
       <%body_font%>
        &nbsp;<input type="checkbox" name="msg_append_signature" value="1"<%if msg_append_signature%> checked<%endif%> tabindex=5>
@@ -113,20 +114,20 @@
 <%GForum::Utils::new_alternation(attachments)%>
 <%loop attachments%>
        <tr bgcolor="<%GForum::Utils::alternation(attachments, $odd_color, $even_color)%>">
-         <td>
+         <td<%unless first%> style="border-top: 1px solid <%dark_beige%>"<%endunless%>>
            <img src="<%GForum::Attachment::icon($att_content, $att_filename)%>">
          </td>
-         <td style="border-right:1px solid <%dark_beige%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top: 1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%att_filename%>
            <%/body_font%>
          </td>
-         <td style="border-right:1px solid <%dark_beige%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top: 1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%GForum::Attachment::friendly_size($att_size)%>
            <%/body_font%>
          </td>
-         <td align="right">
+         <td align="right"<%unless first%> style="border-top: 1px solid <%dark_beige%>"<%endunless%>>
            <input type="submit" name="do=message_attachment_delete;att_id=<%att_id%>;redo=<%this_do%>" value="Delete Attachment" class="button" tabindex=6>
          </td>
        </tr>
Index: default/include_paging.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_paging.html,v
retrieving revision 1.6
retrieving revision 1.9
diff -b -u -r1.6 -r1.9
--- default/include_paging.html 8 Oct 2001 02:03:30 -0000       1.6
+++ default/include_paging.html 13 Mar 2002 01:25:19 -0000      1.9
@@ -10,42 +10,28 @@
 see on any page having too many items to display on one
 screen.

+Note - as of Gossamer Forum 1.1.2, this is primarily done
+through a function call (GForum::GUI::draw) to optimize
+paging performance and simplify the paging.
 --%>
-<%unless this_do eq post_view_flat and mh == -1%>
-<%  GForum::Utils::paging($num_page_items, $mh, $this_page, 9, 'use ...')%>

-<%  unless top_page = 1%>
-<%    if this_page = 1%>
-<img src="<%image_url%>/first_grey.gif" border="0" width="17" height="11" alt="First page">
-<img src="<%image_url%>/prev_grey.gif" border="0" width="10" height="11" alt="Previous page">
-<%    else%>
-<a href="gforum.cgi?do=<%this_do%>;<%if this_do eq post_view_flat%>post=<%root_id%>;<%elsif this_do eq search_results%><%search_query%>;<%elsif forum_id%>forum=<%forum_id%>;<%endif%><%if sent_num_messages%>sent_<%endif%>page=1;<%if sb%>sb=<%sb%>;<%endif%><%if sent_sb%>sent_sb=<%sent_sb%>;<%endif%><%if so%>so=<%so%>;<%endif%><%if sent_so%>sent_so=<%sent_so%>;<%endif%><%if mh%>mh=<%mh%>;<%endif%><%hidden_query%>"><img src="<%image_url%>/first.gif" border="0" width="17" height="11" alt="First page"></a>
-<a href="gforum.cgi?do=<%this_do%>;<%if this_do eq post_view_flat%>post=<%root_id%>;<%elsif this_do eq search_results%><%search_query%>;<%elsif forum_id%>forum=<%forum_id%>;<%endif%><%if sent_num_messages%>sent_<%endif%>page=<%this_page - 1%>;<%if sb%>sb=<%sb%>;<%endif%><%if sent_sb%>sent_sb=<%sent_sb%>;<%endif%><%if so%>so=<%so%>;<%endif%><%if sent_so%>sent_so=<%sent_so%>;<%endif%><%if mh%>mh=<%mh%>;<%endif%><%hidden_query%>"><img src="<%image_url%>/prev.gif" border="0" width="10" height="11" alt="Previous page"></a>
-<%    endif%>
-
-<%    loop paging%>
-<%      if is_current_page%>
-<b><%page_num%></b>
-<%      else%>
-<a href="gforum.cgi?do=<%this_do%>;<%if this_do eq post_view_flat%>post=<%root_id%>;<%elsif this_do eq search_results%><%search_query%>;<%elsif forum_id%>forum=<%forum_id%>;<%endif%><%if sent_num_messages%>sent_<%endif%>page=<%page_num%>;<%if sb%>sb=<%sb%>;<%endif%><%if sent_sb%>sent_sb=<%sent_sb%>;<%endif%><%if so%>so=<%so%>;<%endif%><%if sent_so%>sent_so=<%sent_so%>;<%endif%><%if mh%>mh=<%mh%>;<%endif%><%hidden_query%>"><%page_num%></a>
-<%      endif%>
-<%    endloop%>
-
-<%    if dotdotdot%>
-...
-<a href="gforum.cgi?do=<%this_do%>;<%if this_do eq post_view_flat%>post=<%root_id%>;<%elsif this_do eq search_results%><%search_query%>;<%elsif forum_id%>forum=<%forum_id%>;<%endif%><%if sent_num_messages%>sent_<%endif%>page=<%top_page%>;<%if sb%>sb=<%sb%>;<%endif%><%if sent_sb%>sent_sb=<%sent_sb%>;<%endif%><%if so%>so=<%so%>;<%endif%><%if sent_so%>sent_so=<%sent_so%>;<%endif%><%if mh%>mh=<%mh%>;<%endif%><%hidden_query%>"><%top_page%></a>
-<%    endif%>
-
-<%    if this_page = $top_page%>
-<img src="<%image_url%>/next_grey.gif" border="0" width="10" height="11" alt="Next page">
-<img src="<%image_url%>/last_grey.gif" border="0" width="17" height="11" alt="Last page">
-<%    else%>
-<a href="gforum.cgi?do=<%this_do%>;<%if this_do eq post_view_flat%>post=<%root_id%>;<%elsif this_do eq search_results%><%search_query%>;<%elsif forum_id%>forum=<%forum_id%>;<%endif%><%if sent_num_messages%>sent_<%endif%>page=<%this_page + 1%>;<%if sb%>sb=<%sb%>;<%endif%><%if sent_sb%>sent_sb=<%sent_sb%>;<%endif%><%if so%>so=<%so%>;<%endif%><%if sent_so%>sent_so=<%sent_so%>;<%endif%><%if mh%>mh=<%mh%>;<%endif%><%hidden_query%>"><img src="<%image_url%>/next.gif" border="0" width="10" height="11" alt="Next page"></a>
-<a href="gforum.cgi?do=<%this_do%>;<%if this_do eq post_view_flat%>post=<%root_id%>;<%elsif this_do eq search_results%><%search_query%>;<%elsif forum_id%>forum=<%forum_id%>;<%endif%><%if sent_num_messages%>sent_<%endif%>page=<%top_page%>;<%if sb%>sb=<%sb%>;<%endif%><%if sent_sb%>sent_sb=<%sent_sb%>;<%endif%><%if so%>so=<%so%>;<%endif%><%if sent_so%>sent_so=<%sent_so%>;<%endif%><%if mh%>mh=<%mh%>;<%endif%><%hidden_query%>"><img src="<%image_url%>/last.gif" border="0" width="17" height="11" alt="Last page"></a>
-<%    endif%>
-<%    if this_do eq post_view_flat%>
-&nbsp;<a href="gforum.cgi?do=post_view_flat;post=<%root_id%>;page=1;<%if sb%>sb=<%sb%>;<%endif%><%if so%>so=<%so%>;<%endif%>mh=-1;<%hidden_query%>">View All</a>
-<%    endif%>
-<%  else%>&nbsp;
-<%  endunless%>
-<%endunless%>
+<%GForum::GUI::draw(
+draw => paging,
+first      => '<img src="$image_url/first.gif" border="0" width="17" height="11" alt="First page">',
+first_grey => '<img src="$image_url/first_grey.gif" border="0" width="17" height="11" alt="First page">',
+prev       => '<img src="$image_url/prev.gif" border="0" width="10" height="11" alt="Previous page">',
+prev_grey  => '<img src="$image_url/prev_grey.gif" border="0" width="10" height="11" alt="Previous page">',
+next       => '<img src="$image_url/next.gif" border="0" width="10" height="11" alt="Next page">',
+next_grey  => '<img src="$image_url/next_grey.gif" border="0" width="10" height="11" alt="Next page">',
+last       => '<img src="$image_url/last.gif" border="0" width="17" height="11" alt="Last page">',
+last_grey  => '<img src="$image_url/last_grey.gif" border="0" width="17" height="11" alt="Last page">',
+view_all   => 'View All',
+pages      => 9,
+'...'      => '...',
+'first_...' => 1,
+'last_...'  => 1,
+before_page    => '',
+after_page     => '',
+before_current => '<b>',
+after_current  => '</b>',
+)%>
Index: default/include_post_common_write.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_post_common_write.html,v
retrieving revision 1.27
retrieving revision 1.30
diff -b -u -r1.27 -r1.30
--- default/include_post_common_write.html      10 Jan 2002 09:00:31 -0000      1.27
+++ default/include_post_common_write.html      4 Mar 2002 03:51:06 -0000       1.30
@@ -33,11 +33,15 @@
 </script>

 <%if attachment_error%>
-<%body_font%><font color=red>Your attachment did not upload: <%attachment_error%></font><%/body_font%>
+<%body_font%><font color=red>Your attachment did not upload: <%attachment_error%></font><%/body_font%><br>
 <%endif%>

 <%if post_error_no_subject%>
-<%body_font%><font color="red">Unable to post: You must enter a subject</font><%/body_font%>
+<%body_font%><font color="red">Unable to post: You must enter a subject</font><%/body_font%><br>
+<%endif%>
+
+<%if post_error_bad_guest_username%>
+<%body_font%><font color="red">Unable to post: Invalid guest username: <%post_error_bad_guest_username%></font><%/body_font%><br>
 <%endif%>

 <input type="hidden" name="temp_id" value="<%temp_id%>">
@@ -66,6 +70,10 @@
        <option value="<%user_id%>"<%if selected%> selected<%endif%>><%nbsp user_username%></option>
 <%  endloop%>
       </select>
+<%GForum::Config::tpl_get('post_guest_custom_username')%>
+<%  if post_guest_custom_username%>
+      <input type="text" name="guest_username" class="button" tabindex=2 size=20 value="<%if guest_username%><%guest_username%><%endif%>">
+<%  endif%>
     </td>
   </tr>
   <tr>
@@ -229,20 +237,20 @@
       <%list_table%>
 <%  endif%>
        <tr bgcolor="<%if odd%><%light_beige%><%else%><%even_color%><%endif%>">
-         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%darkbiege%><%endif%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%dark_beige%><%endunless%>">
            <img src="<%GForum::Attachment::icon($att_content, $att_filename)%>">
          </td>
-         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%darkbiege%><%endif%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%att_filename%>
            <%/body_font%>
          </td>
-         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%darkbiege%><%endif%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%GForum::Attachment::friendly_size($att_size)%>
            <%/body_font%>
          </td>
-         <td<%unless first%> style="border-top:1px solid <%darkbiege%>"<%endif%> align="right">
+         <td <%unless first%>style="border-top:1px solid <%dark_beige%>" <%endunless%>align="right">
            <input type="submit" class="button" tabindex=12 name="do=post_attachment_delete;att_type=<%att_type%>;att_id=<%att_id%>;redo=<%this_do%>" value="Delete attachment">
          </td>
        </tr>
Index: default/include_post_display.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_post_display.html,v
retrieving revision 1.36
retrieving revision 1.39
diff -b -u -r1.36 -r1.39
--- default/include_post_display.html   6 Jan 2002 00:36:02 -0000       1.36
+++ default/include_post_display.html   4 Mar 2002 03:50:09 -0000       1.39
@@ -23,7 +23,7 @@
       <%body_font%><small>
        <b>
         <%if user_id%>
-         <a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>">
+         <a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>">
            <big><%nbsp post_username%></big>
          </a>
         <%else%>
@@ -59,6 +59,10 @@
 <%  endif%>
 <%endif%>
         <br>
+<%if this_do eq post_view_threaded or this_do eq post_view_flat%><%if is_ie and ie_version >= 4%>
+        <a href="javascript: postShortcut(<%post_id%>)">Copy Shortcut</a>
+        <br>
+<%endif%><%endif%>

 <%-- Moderator/Administrator functionality --%>
 <%if user_perm_moderator and not preview and not deleteview and not hide_post_menu%>
@@ -126,31 +130,16 @@
          </td>
          <td valign="top" align="right">
            <%body_font%><b>
-<%unless preview or deleteview or hide_post_menu or post_deleted%>
-
-<%  if not post_locked or user_perm_moderator%>
-<%    if user_perm_edit or user_perm_moderator%>
-             <a href="gforum.cgi?do=post_edit;post=<%post_id%>;<%hidden_query%>">Edit</a> |
-<%    endif%>
-<%    if user_perm_delete or user_perm_moderator%>
-<%      unless post_deleted%>
-             <a href="gforum.cgi?do=post_delete_confirm;post=<%post_id%>;<%hidden_query%>">Delete</a> |
-<%      endunless%>
-<%    endif%>
-<%    if user_forum_permission < 4%>
-             Can't Post
-<%    else%>
-<%      if forum_style % 2%><%-- This is true if the forum allows markup --%>
-              <a href="gforum.cgi?do=post_reply_write;quote=1;parent_post_id=<%post_id%>;<%hidden_query%>">Quote</a> |
-<%      endif%>
-             <a href="gforum.cgi?do=post_reply_write;parent_post_id=<%post_id%>;<%hidden_query%>">Reply</a>
-<%    endif%>
-<%  else%>
-       &nbsp;
-<%  endif%>
-<%elseif post_deleted and user_perm_moderator%><%-- Show moderators the delete link so they can delete it completely --%>
-        <a href="gforum.cgi?do=post_delete_confirm;post=<%post_id%>;<%hidden_query%>">Delete</a>
-<%endunless%>
+<%GForum::GUI::draw(
+    draw      => post_display_options,
+    separator => " | ",
+    edit      => "Edit",
+    delete    => "Delete",
+    cant_post => "Can't Post",
+    quote     => "Quote",
+    reply     => "Reply",
+    a_attribs => ""
+)%>
       </b><%/body_font%>
          </td>
         </tr>
Index: default/include_post_html_common_write.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_post_html_common_write.html,v
retrieving revision 1.9
retrieving revision 1.12
diff -b -u -r1.9 -r1.12
--- default/include_post_html_common_write.html 11 Jan 2002 23:18:57 -0000      1.9
+++ default/include_post_html_common_write.html 4 Mar 2002 03:51:06 -0000       1.12
@@ -24,11 +24,15 @@
 </script>

 <%if attachment_error%>
-<%body_font%><font color=red>Your attachment did not upload: <%attachment_error%></font><%/body_font%>
+<%body_font%><font color=red>Your attachment did not upload: <%attachment_error%></font><%/body_font%><br>
 <%endif%>

 <%if post_error_no_subject%>
-<%body_font%><font color="red">Unable to post: You must enter a subject</font><%/body_font%>
+<%body_font%><font color="red">Unable to post: You must enter a subject</font><%/body_font%><br>
+<%endif%>
+
+<%if post_error_bad_guest_username%>
+<%body_font%><font color="red">Unable to post: Invalid guest username: <%post_error_bad_guest_username%></font><%/body_font%><br>
 <%endif%>

 <input type="hidden" name="temp_id" value="<%temp_id%>">
@@ -56,6 +60,10 @@
        <option value="<%user_id%>"<%if selected%> selected<%endif%>><%nbsp user_username%></option>
 <%  endloop%>
       </select>
+<%GForum::Config::tpl_get('post_guest_custom_username')%>
+<%  if post_guest_custom_username%>
+      <input type="text" name="guest_username" class="button" tabindex=2 size=20 value="<%if guest_username%><%guest_username%><%endif%>">
+<%  endif%>
     </td>
   </tr>
   <tr>
@@ -163,20 +171,20 @@
       <%list_table%>
 <%  endif%>
        <tr bgcolor="<%if odd%><%light_beige%><%else%><%even_color%><%endif%>">
-         <td style="border-right:1px solid <%dark_beige%>; border-top:1px solid <%darkbiege%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%dark_beige%><%endunless%>">
            <img src="<%GForum::Attachment::icon($att_content, $att_filename)%>">
          </td>
-         <td style="border-right:1px solid <%dark_beige%>; border-top:1px solid <%darkbiege%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%att_filename%>
            <%/body_font%>
          </td>
-         <td style="border-right:1px solid <%dark_beige%>; border-top:1px solid <%darkbiege%>">
+         <td style="border-right:1px solid <%dark_beige%><%unless first%>; border-top:1px solid <%dark_beige%><%endunless%>">
            <%body_font%>
              <%GForum::Attachment::friendly_size($att_size)%>
            <%/body_font%>
          </td>
-         <td style="border-top:1px solid <%darkbiege%>" align="right">
+         <td <%unless first%>style="border-top:1px solid <%dark_beige%>" <%endunless%>align="right">
            <input type="submit" class="button" tabindex=12 name="do=post_attachment_delete;att_type=<%att_type%>;att_id=<%att_id%>;redo=<%this_do%>" value="Delete attachment">
          </td>
        </tr>
Index: default/include_thread_display.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/include_thread_display.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -b -u -r1.6 -r1.7
--- default/include_thread_display.html 23 Oct 2001 21:24:23 -0000      1.6
+++ default/include_thread_display.html 4 Mar 2002 04:01:20 -0000       1.7
@@ -47,10 +47,10 @@
     <td>
       <%body_font%>
 <%  if user_id%>
-       <a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>">
+       <a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>">
          <%if this_post%><b><%nbsp post_username%></b><%else%><%nbsp post_username%><%endif%>
        </a>
-<%    if current_user_id != $user_id%>
+<%    if current_user_id != $user_id and user_accept_privmsg and user_status%>
        <a href="gforum.cgi?do=message;username=<%escape_url post_username%>;<%hidden_query%>">
          <img src="<%image_url%>/message.gif" border=0 alt="Send a private message to <%post_username%>">
        </a>
Index: default/language.txt
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/language.txt,v
retrieving revision 1.33
retrieving revision 1.35
diff -b -u -r1.33 -r1.35
--- default/language.txt        12 Jan 2002 20:54:31 -0000      1.33
+++ default/language.txt        4 Mar 2002 03:54:43 -0000       1.35
@@ -98,14 +98,16 @@
        'SEARCH_NO_RESULTS' => 'Your search did not return any results',
        'SEARCH_NO_TERM' => 'No search term specified',
        'SIGNUP_EMAIL_VALIDATION_FAILED' => 'Unable to send validation email: %s',
+        'SIGNUP_EMAIL_BANNED' => 'The e-mail address \'%s\' has been restricted',
        'SIGNUP_NO_EMAIL' => 'You did not enter a valid e-mail address',
        'SIGNUP_NO_PASSWORD' => 'You did not enter a password',
        'SIGNUP_NO_USERNAME' => 'You did not enter a username',
        'SIGNUP_PASSWORDS_DONT_MATCH' => 'The passwords you entered do not match',
-       'SIGNUP_USERNAME_EXISTS' => 'The username \'%s\' already exists. Please choose another',
+       'THREAD_DOES_NOT_EXIST' => 'The thread you attempted to access does not exist',
        'URL_INVALID' => 'You entered an invalid URL: \'%s\'',
        'USERNAME_CANT_CHANGE' => 'You are not permitted to change your username',
        'USERNAME_DOES_NOT_EXIST' => 'Username \'%s\' does not exist',
+       'USERNAME_EXISTS' => 'The username \'%s\' already exists. Please choose another',
        'USERNAME_INVALID_CHARS' => 'Username contains invalid characters',
        'USERNAME_LEADING_SPACES' => 'A username may not contain leading spaces',
        'USERNAME_NOT_ENTERED' => 'No username entered',
Index: default/login.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/login.html,v
retrieving revision 1.20
retrieving revision 1.21
diff -b -u -r1.20 -r1.21
--- default/login.html  18 Dec 2001 01:47:04 -0000      1.20
+++ default/login.html  29 Jan 2002 01:14:35 -0000      1.21
@@ -91,7 +91,7 @@
          </td>
          <td align="left">
            <%body_font%>
-              <input type="checkbox" name="dont_use_cookies" value="1" tabindex=3 onClick="document.login.remember_me.checked = false"><%-- The JavaScript near the bottom of the page will set this to 0 if cookies are viable --%>
+          <input type="checkbox" name="dont_use_cookies" value="1" tabindex=3 onClick="document.login.remember_me.checked = false">
            <%/body_font%>
          </td>
        </tr>
Index: default/lost_password_enter_username.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/lost_password_enter_username.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -b -u -r1.11 -r1.12
--- default/lost_password_enter_username.html   18 Dec 2001 01:47:04 -0000      1.11
+++ default/lost_password_enter_username.html   19 Mar 2002 20:25:36 -0000      1.12
@@ -44,7 +44,7 @@
        <tr>
          <td colspan="2">
            <%body_font%>
-             If you have lost your password, Gossamer Forum can generate a new temporary
+             If you have lost your password, <%site_title%> can generate a new temporary
              password for you to log in with. Note that after logging in the temporary
              password will be lost so you should change your password immediately upon
              logging in with the temporary password. The temporary password will be sent
Index: default/markup_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/markup_help.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -b -u -r1.11 -r1.12
--- default/markup_help.html    18 Dec 2001 02:23:14 -0000      1.11
+++ default/markup_help.html    14 Mar 2002 21:55:56 -0000      1.12
@@ -45,11 +45,12 @@

 <%GForum::Utils::new_alternation(markup)%>
 <%loop markup_loop%>
+<% unless has_args%><%-- Unfortunately, dynamically displaying markup that takes arguments cannot be easily done --%>
        <tr bgcolor="<%GForum::Utils::alternation(markup, $odd_color, $even_color)%>">
          <td style="border-right:1px solid <%dark_beige%>">
            <%body_font%>
 <%  if has_closing%>
-             [<%tag%>] <%sample_text%> [/<%tag%>]
+             [<%tag%>]<%if tag eq ul or tag eq ol%> [li]<%endif%> <%sample_text%> <%if tag eq ul or tag eq ol%>[/li] <%endif%>[/<%tag%>]
 <%  else%>
              [<%tag%>]
 <%  endif%>
@@ -57,13 +58,14 @@
          <td>
            <%body_font%>
 <%  if has_closing%>
-             <%html%> <%sample_text%> <%closing%>
+             <%html%><%if tag eq ul or tag eq ol%> <li><%endif%> <%sample_text%> <%if tag eq ul or tag eq ol%></li> <%endif%><%closing%>
 <%  else%>
              <%html%>
 <%  endif%>
            <%/body_font%>
          </td>
        </tr>
+<% endunless%>
 <%endloop%>

 <%GForum::Config::tpl_get(markup_allow_custom_color, markup_allow_image, markup_allow_url, markup_allow_font, markup_allow_size)%>
Index: default/message_list.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/message_list.html,v
retrieving revision 1.27
retrieving revision 1.28
diff -b -u -r1.27 -r1.28
--- default/message_list.html   18 Dec 2001 01:47:04 -0000      1.27
+++ default/message_list.html   4 Mar 2002 03:56:52 -0000       1.28
@@ -96,9 +96,9 @@
 <%else%>
        You have <b><%num_messages%></b> message<%if num_messages != 1%>s<%endunless%>:
        <small><b>
-         &nbsp;&#149;&nbsp; <%num_new%> NEW <img src="<%image_url%>/unread.gif" border=0>
-         &nbsp;&#149;&nbsp; <%num_read + $num_replied%> READ <img src="<%image_url%>/read.gif" border=0>
-         &nbsp;&#149;&nbsp; <%num_replied%> REPLIED <img src="<%image_url%>/replied.gif" border=0>
+         &nbsp;&#149;&nbsp; <%num_new%> NEW <img src="<%image_url%>/unread.gif" border=0 width="15" height="11">
+         &nbsp;&#149;&nbsp; <%num_read + $num_replied%> READ <img src="<%image_url%>/read.gif" border=0 width="15" height="11">
+         &nbsp;&#149;&nbsp; <%num_replied%> REPLIED <img src="<%image_url%>/replied.gif" border=0 width="14" height="13">
        </b></small>
                <br>&nbsp;
        <%list_table%>
@@ -123,28 +123,28 @@
            <td style="border-right: 1px solid <%dark_beige%>" width=1>
              <a href="gforum.cgi?do=<%this_do%>;sb=msg_status;so=<%if sb eq msg_status and so eq ASC%>DESC<%else%>ASC<%endif%>;mh=<%mh%>;<%hidden_query%>">
                <%top_row_font%>
-                 <%if sb eq msg_status%><nobr><img src="<%image_url%>/<%if so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>Status</nobr>
+                 <%if sb eq msg_status%><nobr><img src="<%image_url%>/<%if so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>Status</nobr>
                <%/top_row_font%>
              </a>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>" width="100%"><%-- Stretch this out as much as possible --%>
              <a href="gforum.cgi?do=<%this_do%>;sb=msg_subject;so=<%if sb eq msg_subject and so eq ASC%>DESC<%else%>ASC<%endif%>;mh=<%mh%>;<%hidden_query%>">
                <%top_row_font%>
-                 <%if sb eq msg_subject%><nobr><img src="<%image_url%>/<%if so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>Subject</nobr>
+                 <%if sb eq msg_subject%><nobr><img src="<%image_url%>/<%if so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>Subject</nobr>
                <%/top_row_font%>
              </a>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>" width=1>
              <a href="gforum.cgi?do=<%this_do%>;sb=msg_username;so=<%if sb eq msg_username and so eq ASC%>DESC<%else%>ASC<%endif%>;mh=<%mh%>;<%hidden_query%>">
                <%top_row_font%>
-                 <%if sb eq msg_username%><nobr><img src="<%image_url%>/<%if so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>From</nobr>
+                 <%if sb eq msg_username%><nobr><img src="<%image_url%>/<%if so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>From</nobr>
                <%/top_row_font%>
              </a>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>" width=1>
              <a href="gforum.cgi?do=<%this_do%>;sb=msg_time;so=<%if sb eq msg_time and so eq DESC%>ASC<%else%>DESC<%endif%>;mh=<%mh%>;<%hidden_query%>">
                <%top_row_font%>
-                 <%if sb eq msg_time%><nobr><img src="<%image_url%>/<%if so eq 'DESC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>Received</nobr>
+                 <%if sb eq msg_time%><nobr><img src="<%image_url%>/<%if so eq 'DESC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>Received</nobr>
                <%/top_row_font%>
              </a>
            </td>
@@ -161,11 +161,11 @@
          <tr bgcolor="<%GForum::Utils::alternation(messages, $odd_color, $even_color)%>">
            <td bgcolor="white" style="border-right: 1px solid <%dark_beige%>;">
 <%  if msg_status == 0%>
-             <img src="<%image_url%>/unread.gif" border="0" alt="New">
+             <img src="<%image_url%>/unread.gif" border="0" alt="New" width="15" height="11">
 <%  elsif msg_status == 2%>
-             <img src="<%image_url%>/replied.gif" border="0" alt="Replied">
+             <img src="<%image_url%>/replied.gif" border="0" alt="Replied" width="14" height="13">
 <%  else%>
-             <img src="<%image_url%>/read.gif" border="0" alt="Read">
+             <img src="<%image_url%>/read.gif" border="0" alt="Read" width="15" height="11">
 <%  endif%>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>;">
@@ -246,17 +246,17 @@
          <%top_row%>
            <td style="border-right: 1px solid <%dark_beige%>" width="100%">
              <a href="gforum.cgi?do=<%this_do%>;sent_sb=msg_subject;sent_so=<%if sent_sb eq msg_subject and sent_so eq ASC%>DESC<%else%>ASC<%endif%>;mh=<%mh%>;<%hidden_query%>">
-               <%top_row_font%><nobr><%if sent_sb eq msg_subject%><img src="<%image_url%>/<%if sent_so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>Subject<nobr><%/top_row_font%>
+               <%top_row_font%><nobr><%if sent_sb eq msg_subject%><img src="<%image_url%>/<%if sent_so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>Subject<nobr><%/top_row_font%>
              </a>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>" width=1>
              <a href="gforum.cgi?do=<%this_do%>;sent_sb=msg_username;sent_so=<%if sent_sb eq msg_username and sent_so eq ASC%>DESC<%else%>ASC<%endif%>;mh=<%mh%>;<%hidden_query%>">
-               <%top_row_font%><nobr><%if sent_sb eq msg_username%><img src="<%image_url%>/<%if sent_so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>To</nobr><%/top_row_font%>
+               <%top_row_font%><nobr><%if sent_sb eq msg_username%><img src="<%image_url%>/<%if sent_so eq 'ASC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>To</nobr><%/top_row_font%>
              </a>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>" width=1>
              <a href="gforum.cgi?do=<%this_do%>;sent_sb=msg_time;sent_so=<%if sent_sb eq msg_time and sent_so eq DESC%>ASC<%else%>DESC<%endif%>;mh=<%mh%>;<%hidden_query%>">
-               <%top_row_font%><nobr><%if sent_sb eq msg_time%><img src="<%image_url%>/<%if sent_so eq 'DESC'%>down<%else%>up<%endif%>.gif" border="0">&nbsp;<%endif%>Sent</nobr><%/top_row_font%>
+               <%top_row_font%><nobr><%if sent_sb eq msg_time%><img src="<%image_url%>/<%if sent_so eq 'DESC'%>down<%else%>up<%endif%>.gif" border="0" width="14" height="11">&nbsp;<%endif%>Sent</nobr><%/top_row_font%>
              </a>
            </td>
            <td style="border-right: 1px solid <%dark_beige%>">
Index: default/post_delete_confirm.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_delete_confirm.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -b -u -r1.12 -r1.13
--- default/post_delete_confirm.html    4 Jan 2002 19:32:25 -0000       1.12
+++ default/post_delete_confirm.html    15 Mar 2002 00:47:22 -0000      1.13
@@ -12,6 +12,7 @@
 --%>
 <%GT::CGI::get_hash('GT::CGI')%>
 <%GForum::Post::View::get($post)%>
+<%unless post_id%><%set error = GForum::language(POST_DOES_NOT_EXIST)%><%include error.html%><%endparse%><%endunless%>
 <%set deleteview = 1%>
 <html>
 <head>
Index: default/post_detach_select.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_detach_select.html,v
retrieving revision 1.5
retrieving revision 1.7
diff -b -u -r1.5 -r1.7
--- default/post_detach_select.html     17 Dec 2001 00:38:48 -0000      1.5
+++ default/post_detach_select.html     15 Mar 2002 00:47:22 -0000      1.7
@@ -12,6 +12,7 @@
 --%>
 <%GT::CGI::get_hash('GT::CGI')%>
 <%GForum::Post::View::get($post_id)%>
+<%unless post_id%><%set error = GForum::language(POST_DOES_NOT_EXIST)%><%include error.html%><%endparse%><%endunless%>
 <html>
 <head>
 <title><%site_title%>: <%cat_full_name%>: <%forum_name%>: <%post_subject%>: Detach &amp; Move Thread</title>
@@ -38,7 +39,7 @@
     <td colspan=2><br>
       <%hidden_form%>
       <%body_font%>
-       You have chosen to detach the post '<a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><%post_subject%></a>' and its <%post_replies%> repl<%if post_replies == 1%>y<%else%>ies<%endif%>, started by <%if user_id%><a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%> on <%post_date%>.<br><br>
+       You have chosen to detach the post '<a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><%post_subject%></a>' and its <%post_replies%> repl<%if post_replies == 1%>y<%else%>ies<%endif%>, started by <%if user_id%><a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%> on <%post_date%>.<br><br>
         Detaching a post will turn that post into a new thread. You also have the option now to place the new thread into another forum.
        If you wish to move it to a new forum, you must select the forum to move the post to below.<br><br>
        <%GForum::Forum::moderator_tpl_options(without => $forum_id)%>
Index: default/post_detached.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_detached.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -u -r1.4 -r1.5
--- default/post_detached.html  7 Jan 2002 20:56:30 -0000       1.4
+++ default/post_detached.html  4 Mar 2002 04:01:20 -0000       1.5
@@ -35,7 +35,7 @@
     <td colspan="2">
       <%body_font%>
        The post '<a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><%post_subject%></a>', written by
-       <%if user_id_fk%><a href="gforum.cgi?username=<%post_username%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%>
+       <%if user_id_fk%><a href="gforum.cgi?<%if user_status%>username=<%post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%>
        has been detached from its thread and turned into a new seperate thread.
 <%if forum_id != $old_forum_id%>
         The new thread was moved from the <a href="gforum.cgi?category=<%old_cat_id%>;<%hidden_query%>"><%old_cat_full_name%></a>: <a href="gforum.cgi?forum=<%old_forum_id%>;<%hidden_query%>"><%old_forum_name%></a> forum
Index: default/post_move_select.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_move_select.html,v
retrieving revision 1.11
retrieving revision 1.13
diff -b -u -r1.11 -r1.13
--- default/post_move_select.html       17 Dec 2001 00:38:48 -0000      1.11
+++ default/post_move_select.html       15 Mar 2002 00:47:22 -0000      1.13
@@ -12,6 +12,7 @@
 --%>
 <%GT::CGI::get_hash('GT::CGI')%>
 <%GForum::Post::View::get($root_id)%>
+<%unless post_id%><%set error = GForum::language(POST_DOES_NOT_EXIST)%><%include error.html%><%endparse%><%endunless%>
 <html>
 <head>
 <title><%site_title%>: <%cat_full_name%>: <%forum_name%>: <%post_subject%>: Move Thread</title>
@@ -38,7 +39,7 @@
     <td colspan=2><br>
       <%hidden_form%>
       <%body_font%>
-       You have chosen to move the thread '<a href="gforum.cgi?post=<%if post_root_id%><%post_root_id%><%else%><%post_id%><%endif%>;<%hidden_query%>"><%post_subject%></a>' containing <%post_replies%> repl<%if post_replies == 1%>y<%else%>ies<%endif%>, started by <%if user_id%><a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%> on <%post_date%>.<br><br>
+       You have chosen to move the thread '<a href="gforum.cgi?post=<%if post_root_id%><%post_root_id%><%else%><%post_id%><%endif%>;<%hidden_query%>"><%post_subject%></a>' containing <%post_replies%> repl<%if post_replies == 1%>y<%else%>ies<%endif%>, started by <%if user_id%><a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%> on <%post_date%>.<br><br>
        You must select the forum to move the post to.<br><br>
        <%GForum::Forum::moderator_tpl_options(without => $forum_id)%>
        <select name="forum_id" size=1 class=button>
Index: default/post_moved.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_moved.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -b -u -r1.10 -r1.11
--- default/post_moved.html     7 Jan 2002 20:56:30 -0000       1.10
+++ default/post_moved.html     4 Mar 2002 04:01:20 -0000       1.11
@@ -34,7 +34,7 @@
     <td colspan="2">
       <%body_font%>
        The thread '<a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><%post_subject%></a>', written by
-       <%if user_id_fk%><a href="gforum.cgi?username=<%post_username%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%>
+       <%if user_id_fk%><a href="gforum.cgi?<%if user_status%>username=<%post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%>
        has been moved from the <%GForum::Category::full_name_linked($old_cat_id, ': ', '', '', 'gforum.cgi?', $hidden_query)%>: <a href="gforum.cgi?forum=<%old_forum_id%>;<%hidden_query%>"><%old_forum_name%></a> forum
        to the <%GForum::Category::full_name_linked($cat_id, ': ', '', '', 'gforum.cgi?', $hidden_query)%>: <a href="gforum.cgi?forum=<%forum_id%>;<%hidden_query%>"><%forum_name%></a> forum.
        You will be automatically redirected to <%old_cat_full_name%>: <%old_forum_name%> shortly.
Index: default/post_view_flat.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_view_flat.html,v
retrieving revision 1.23
retrieving revision 1.26
diff -b -u -r1.23 -r1.26
--- default/post_view_flat.html 7 Jan 2002 20:56:30 -0000       1.23
+++ default/post_view_flat.html 4 Mar 2002 03:58:17 -0000       1.26
@@ -23,6 +23,13 @@
       "toolbar=no,menubar=yes,scrollbars=yes,location=no,status=no,resizable=1"
   );
 }
+
+<%if is_ie and ie_version >= 4%>
+function postShortcut(post_id) {
+  document.all.post_shortcut.value = '<%cgi_root_url%>/gforum.cgi?post=' + post_id;
+  document.all.post_shortcut.createTextRange().execCommand("Copy");
+}
+<%endif%>
 // -->
 </script>
 </head>
@@ -30,6 +37,7 @@
 <%body_tag%>
 <%include include_header.html%>
 <center>
+<%if is_ie and ie_version >= 4%><input type="hidden" id="post_shortcut" value=""><%endif%>
 <%body_table%>
 <form method="get" action="gforum.cgi">
   <tr>
@@ -66,6 +74,9 @@
 <%endif%>
 <%if next%>
            <input type="submit" value="Next Thread" name="do=post_view_flat;sb=<%sb%>;so=<%so%>;post=<%next%>;" class="button">
+<%endif%>
+<%if current_user_id%>
+            <input type="submit" value="Watch Thread" name="do=watch_thread;thread=<%root_post_id%>;<%hidden_query%>" class="submit">
 <%endif%>
 <script><!--
   document.write('<input type="button" value="Print Thread" onClick="openWindow(\'gforum.cgi?do=post_view_printable;post=<%root_post_id%>;<%hidden_query%>\')" class="submit">');
Index: default/post_view_threaded.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/post_view_threaded.html,v
retrieving revision 1.23
retrieving revision 1.26
diff -b -u -r1.23 -r1.26
--- default/post_view_threaded.html     7 Jan 2002 20:56:30 -0000       1.23
+++ default/post_view_threaded.html     4 Mar 2002 03:58:17 -0000       1.26
@@ -23,12 +23,20 @@
       "toolbar=no,menubar=yes,scrollbars=yes,location=no,status=no,resizable=1"
   );
 }
+
+<%if is_ie and ie_version >= 4%>
+function postShortcut(post_id) {
+  document.all.post_shortcut.value = '<%cgi_root_url%>/gforum.cgi?post=' + post_id;
+  document.all.post_shortcut.createTextRange().execCommand("Copy");
+}
+<%endif%>
 // -->
 </script>
 </head>
 <%body_tag%>
 <%include include_header.html%>
 <center>
+<%if is_ie and ie_version >= 4%><input type="hidden" id="post_shortcut" value=""><%endif%>
 <%body_table%>
 <form method="get" action="gforum.cgi#<%post_id%>">
   <tr>
@@ -55,6 +63,9 @@
 <%endif%>
 <%if next%>
            <input type="submit" value="Next Thread" name="do=post_view_threaded;sb=<%sb%>;so=<%so%>;post=<%next%>;" class="button">
+<%endif%>
+<%if current_user_id%>
+            <input type="submit" value="Watch Thread" name="do=watch_thread;thread=<%root_post_id%>;<%hidden_query%>" class="submit">
 <%endif%>
 <script><!--
   document.write('<input type="button" value="Print Thread" onClick="openWindow(\'gforum.cgi?do=post_view_printable;post=<%if post_root_id%><%post_root_id%><%else%><%post_id%><%endif%>;<%hidden_query%>\')" class="submit">');
Index: default/resend_validation_enter_username.html
===================================================================
RCS file: default/resend_validation_enter_username.html
diff -N default/resend_validation_enter_username.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ default/resend_validation_enter_username.html       19 Mar 2002 20:25:36 -0000      1.2
@@ -0,0 +1,82 @@
+<%--
+
+File
+====
+resend_validation_enter_username.html
+
+Description
+===========
+If you never received the validation e-mail, you can come
+to this page to have the validation be resent. It requires
+you to enter the username.
+
+--%>
+<html>
+<head>
+<title><%site_title%>: Resend Validation</title>
+<%include include_css.html%>
+</head>
+<%body_tag%>
+<center>
+<%include include_header.html%>
+<%body_table%>
+  <tr>
+    <td valign="bottom"> 
+      <a href="gforum.cgi?<%hidden_query%>">
+       <%title_font%><%site_home%>: <%/title_font%>
+      </a>
+      <%title_font%>Resend Validation<%/title_font%>
+    </td>
+    <td align="right">
+      <%include include_logo.html%>
+    </td>
+  </tr>
+<form method="post" action="gforum.cgi">
+  <tr>
+    <td colspan="2">
+      <br>
+      <%hidden_form%>
+      <%list_table%>
+       <%top_row%>
+         <td colspan="2" height="3">
+           <img src="<%image_url%>/clear_shim.gif" height=1 width=100><br>
+         </td>
+       </tr>
+       <tr>
+         <td colspan="2">
+           <%body_font%>
+             If you recently signed up for an account, but never received the validation e-mail,
+              <%site_title%> can resend the validation e-mail to you. The e-mail will be resent
+              to the e-mail address you entered when signing up.
+           <%/body_font%>
+         </td>
+       </tr>
+       <tr>
+         <td align="right">
+           <%body_font%>
+             Enter your username:
+           <%/body_font%>
+         </td>
+         <td>
+           <input class="button" type="text" name="user_username">
+         </td>
+       </tr>
+       <tr bgcolor="<%light_green%>">
+         <td colspan="2" align="right" style="border-top:1px solid <%dark_beige%>">
+           <input class="submit" type="submit" value="Resend validation">
+         </td>
+       </tr>
+      </table>
+    </td>
+    <td>
+      &nbsp;
+      <input type="hidden" name="do" value="resend_validation">
+    </td>
+  </tr>
+</form>
+<%/body_table%>
+<br><br>
+<%include include_footer.html%>
+</center>
+</body>
+</html>
Index: default/search_results.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/search_results.html,v
retrieving revision 1.25
retrieving revision 1.26
diff -b -u -r1.25 -r1.26
--- default/search_results.html 18 Dec 2001 01:47:04 -0000      1.25
+++ default/search_results.html 4 Mar 2002 04:01:20 -0000       1.26
@@ -71,7 +71,7 @@
          <td valign="top" style="border-right:1px solid <%dark_beige%>">
            <%body_font%>
 <%  if user_id%>
-             <a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>">
+             <a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>">
                <%nbsp post_username%>
              </a>
 <%  else%>
Index: default/thread_notify.eml
===================================================================
RCS file: default/thread_notify.eml
diff -N default/thread_notify.eml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ default/thread_notify.eml   15 Mar 2002 01:37:44 -0000      1.3
@@ -0,0 +1,13 @@
+Subject: <%site_title%> - Reply to watched thread
+From: <%site_title%> <<%admin_email%>>
+
+<%site_title%>: Watched Thread reply.
+
+The '<%root_post_subject%>' thread in the <%cat_full_name%>: <%forum_name%> forum has been replied to.
+
+You can view the thread here: <%cgi_root_url%>/gforum.cgi?post=<%root_post_id%>;page=unread#unread
+
+You specified that the thread should be watched for any replies. To stop watching this and any other
+watched threads, visit the Watched Threads section of your profile, available here:
+<%cgi_root_url%>/gforum.cgi?do=user_profile_threads
+
Index: default/user_list.html
===================================================================
RCS file: default/user_list.html
diff -N default/user_list.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ default/user_list.html      13 Mar 2002 01:00:39 -0000      1.2
@@ -0,0 +1,162 @@
+<%--
+
+File
+====
+user_list.html
+
+Description
+===========
+This is the member directory, called up by default from the
+message writing page, however you could link to it from
+anywhere. It could even replace Who's Online since it
+includes online information.
+
+--%>
+<html>
+<head>
+<title><%site_title%>: Member Directory<%if this_do eq 'user_search'%>: Search Results<%endif%></title>
+<%include include_css.html%>
+</head>
+<%body_tag%>
+<%include include_header.html%>
+<center>
+<%body_table%>
+  <tr>
+    <td valign=bottom>
+      <a href="gforum.cgi?<%hidden_query%>">
+       <%title_font%><%site_home%>:<%/title_font%>
+      </a>
+<%if this_do eq 'user_search'%>
+      <a href="gforum.cgi?do=user_list;<%hidden_query%>">
+        <%title_font%>Member Directory:<%/title_font%>
+      </a>
+      <%title_font%>Search Results<%/title_font%>
+<%else%>
+      <%title_font%>Member Directory<%/title_font%>
+<%endif%>
+    </td>
+    <td align=right>
+      <%include include_logo.html%>
+    </td>
+  </tr>
+
+  <tr>
+    <td colspan=2>
+      <br>
+      <%body_font%>
+        <%num_users%> registered users.
+        <%users_online%> users online in the past <%online_timeout%> minutes.<br><br>
+<%if this_do eq 'user_list' and sb eq 'user_username'%>
+        <p>
+        <%if first eq 'A'%><b>A</b><%elsif has_a%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=A;<%hidden_query%>">A</a><%else%>A<%endif%>
+        <%if first eq 'B'%><b>B</b><%elsif has_b%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=B;<%hidden_query%>">B</a><%else%>B<%endif%>
+        <%if first eq 'C'%><b>C</b><%elsif has_c%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=C;<%hidden_query%>">C</a><%else%>C<%endif%>
+        <%if first eq 'D'%><b>D</b><%elsif has_d%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=D;<%hidden_query%>">D</a><%else%>D<%endif%>
+        <%if first eq 'E'%><b>E</b><%elsif has_e%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=E;<%hidden_query%>">E</a><%else%>E<%endif%>
+        <%if first eq 'F'%><b>F</b><%elsif has_f%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=F;<%hidden_query%>">F</a><%else%>F<%endif%>
+        <%if first eq 'G'%><b>G</b><%elsif has_g%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=G;<%hidden_query%>">G</a><%else%>G<%endif%>
+        <%if first eq 'H'%><b>H</b><%elsif has_h%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=H;<%hidden_query%>">H</a><%else%>H<%endif%>
+        <%if first eq 'I'%><b>I</b><%elsif has_i%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=I;<%hidden_query%>">I</a><%else%>I<%endif%>
+        <%if first eq 'J'%><b>J</b><%elsif has_j%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=J;<%hidden_query%>">J</a><%else%>J<%endif%>
+        <%if first eq 'K'%><b>K</b><%elsif has_k%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=K;<%hidden_query%>">K</a><%else%>K<%endif%>
+        <%if first eq 'L'%><b>L</b><%elsif has_l%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=L;<%hidden_query%>">L</a><%else%>L<%endif%>
+        <%if first eq 'M'%><b>M</b><%elsif has_m%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=M;<%hidden_query%>">M</a><%else%>M<%endif%>
+        <%if first eq 'N'%><b>N</b><%elsif has_n%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=N;<%hidden_query%>">N</a><%else%>N<%endif%>
+        <%if first eq 'O'%><b>O</b><%elsif has_o%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=O;<%hidden_query%>">O</a><%else%>O<%endif%>
+        <%if first eq 'P'%><b>P</b><%elsif has_p%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=P;<%hidden_query%>">P</a><%else%>P<%endif%>
+        <%if first eq 'Q'%><b>Q</b><%elsif has_q%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=Q;<%hidden_query%>">Q</a><%else%>Q<%endif%>
+        <%if first eq 'R'%><b>R</b><%elsif has_r%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=R;<%hidden_query%>">R</a><%else%>R<%endif%>
+        <%if first eq 'S'%><b>S</b><%elsif has_s%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=S;<%hidden_query%>">S</a><%else%>S<%endif%>
+        <%if first eq 'T'%><b>T</b><%elsif has_t%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=T;<%hidden_query%>">T</a><%else%>T<%endif%>
+        <%if first eq 'U'%><b>U</b><%elsif has_u%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=U;<%hidden_query%>">U</a><%else%>U<%endif%>
+        <%if first eq 'V'%><b>V</b><%elsif has_v%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=V;<%hidden_query%>">V</a><%else%>V<%endif%>
+        <%if first eq 'W'%><b>W</b><%elsif has_w%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=W;<%hidden_query%>">W</a><%else%>W<%endif%>
+        <%if first eq 'X'%><b>X</b><%elsif has_x%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=X;<%hidden_query%>">X</a><%else%>X<%endif%>
+        <%if first eq 'Y'%><b>Y</b><%elsif has_y%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=Y;<%hidden_query%>">Y</a><%else%>Y<%endif%>
+        <%if first eq 'Z'%><b>Z</b><%elsif has_z%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=Z;<%hidden_query%>">Z</a><%else%>Z<%endif%>
+        <%if first eq 'NUM'%><b>0-9</b><%elsif has_num%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=NUM;<%hidden_query%>">0-9</a><%else%>0-9<%endif%>
+        <%if first eq 'OTHER'%><b>Other</b><%elsif has_other%><a href="gforum.cgi?do=user_list;sb=user_username;so=<%if so%><%so%><%else%>ASC<%endif%>;first=OTHER;<%hidden_query%>">Other</a><%endif%>
+<%endif%>
+        <br>
+<%if this_do eq 'user_search'%>
+        Your search returned <%num_page_items%> results.<br>
+<%endif%>
+        <%include include_paging.html%><br><br>
+<%if this_do eq 'user_list' and sb eq 'user_username'%>
+        </p>
+        <%if first%><%num_page_items%> users found starting with <%if first eq 'NUM'%>0 - 9<%elsif first eq 'OTHER'%>Other<%else%>'<%first%>'<%endif%>.<%endif%>
+<%endif%>
+<form method="GET" action="gforum.cgi">Search for a user: <input type="text" name="search_field" value="<%if search_field%><%search_field%><%endif%>" class="button"> <select name="search_column" size="1" class="button"><option value="user_username"<%if search_column eq 'user_username'%> selected<%endif%>>Username</option><option value="user_disp_email"<%if search_column eq 'user_disp_email'%> selected<%endif%>>E-Mail Address</option><option value="user_real_name"<%if search_column eq 'user_real_name'%> selected<%endif%>>Real Name</option></select> <input type="hidden" name="do" value="user_search"><input type="submit" value="Search Users" class="submit"></form>
+      <%list_table%>
+       <%top_row%>
+         <td style="border-right:1px solid <%dark_beige%>" width="30%">
+           <a href="gforum.cgi?do=<%this_do%>;sb=user_username;so=<%if sb eq 'user_username' and so eq 'ASC'%>DESC<%else%>ASC<%endif%>;<%if first%>first=<%first%>;<%endif%><%if this_do eq 'user_search'%>search_column=<%search_column%>;search_field=<%search_field%>;<%endif%><%hidden_query%>"><%top_row_font%><nobr><%if sb eq 'user_username'%><img src="<%image_url%>/<%if so eq 'ASC'%>up<%else%>down<%endif%>.gif" border="0" alt="Sort Direction" width="14" height="11">&nbsp;<%endif%>Username</nobr><%/top_row_font%></a>
+         </td>
+          <td style="border-right:1px solid <%dark_beige%>" width="10%">
+            <a href="gforum.cgi?do=<%this_do%>;sb=user_last_seen;so=<%if sb eq 'user_last_seen' and so eq 'DESC'%>ASC<%else%>DESC<%endif%>;<%if this_do eq 'user_search'%>search_column=<%search_column%>;search_field=<%search_field%>;<%endif%><%hidden_query%>"><%top_row_font%><nobr><%if sb eq 'user_last_seen'%><img src="<%image_url%>/<%if so eq 'ASC'%>up<%else%>down<%endif%>.gif" border="0" alt="Sort Direction" width="14" height="11">&nbsp;<%endif%>Online</nobr><%/top_row_font%></a>
+          </td>
+         <td style="border-right:1px solid <%dark_beige%>" width="15%">
+           <%top_row_font%>Title<%/top_row_font%>
+         </td>
+         <td style="border-right:1px solid <%dark_beige%>" width="10%">
+            <a href="gforum.cgi?do=<%this_do%>;sb=user_posts;so=<%if sb eq 'user_posts' and so eq 'DESC'%>ASC<%else%>DESC<%endif%>;<%if this_do eq 'user_search'%>search_column=<%search_column%>;search_field=<%search_field%>;<%endif%><%hidden_query%>"><%top_row_font%><nobr><%if sb eq 'user_posts'%><img src="<%image_url%>/<%if so eq 'ASC'%>up<%else%>down<%endif%>.gif" border="0" alt="Sort Direction" width="14" height="11">&nbsp;<%endif%>Posts</nobr><%/top_row_font%></a>
+         </td>
+         <td>
+            <a href="gforum.cgi?do=<%this_do%>;sb=user_last_seen;so=<%if sb eq 'user_last_seen' and so eq 'DESC'%>ASC<%else%>DESC<%endif%>;<%if this_do eq 'user_search'%>search_column=<%search_column%>;search_field=<%search_field%>;<%endif%><%hidden_query%>"><%top_row_font%><nobr><%if sb eq 'user_last_seen'%><img src="<%image_url%>/<%if so eq 'ASC'%>up<%else%>down<%endif%>.gif" border="0" alt="Sort Direction" width="14" height="11">&nbsp;<%endif%>Last Seen</nobr><%/top_row_font%></a>
+         </td>
+       </tr>
+<%GForum::Utils::new_alternation('user_list')%>
+<%  loop users%>
+       <tr bgcolor="<%GForum::Utils::alternation('user_list', $odd_color, $even_color)%>">
+         <td style="border-right:1px solid <%dark_beige%>">
+           <%body_font%>
+             <a href="gforum.cgi?username=<%GT::CGI::escape($user_username)%>;<%hidden_query%>"><%nbsp user_username%></a>
+              <%if current_user_id and user_accept_privmsg and user_status%>(<a href="gforum.cgi?do=message;user=<%user_id%>;<%hidden_query%>">Message</a>)<%endif%>
+<%      if current_user_status = 3%><%-- An administrator --%>
+             <small>(<a href="gforum.cgi?do=disable_user;redo=<%this_do%>;user_id=<%user_id%>;<%hidden_query%>">Disable User</a>)</small>
+<%      endif%>
+           <%/body_font%>
+         </td>
+         <td style="border-right:1px solid <%dark_beige%>">
+            <%body_font%>
+            <%if user_invisible and current_user_status < 3%>
+              <i>(Invisible)</i>
+            <%else%>
+              <%if user_online%><font color="green">Yes</font><%else%><font color="red">No</font><%endif%>
+            <%endif%>
+            <%/body_font%>
+         </td>
+         <td style="border-right:1px solid <%dark_beige%>">
+           <%body_font%><%nbsp user_title%><%/body_font%>
+         </td>
+         <td style="border-right:1px solid <%dark_beige%>">
+           <%body_font%><%user_posts%><%/body_font%>
+         </td>
+         <td>
+           <%body_font%>
+            <%if user_invisible and current_user_status < 3%>
+              <i>(Invisible)</i>
+            <%else%>
+              <%nbsp user_last_seen_date%>
+            <%endif%>
+            <%/body_font%>
+         </td>
+       </tr>
+<%  endloop%>
+       <tr bgcolor="<%light_green%>">
+         <td colspan="5" height="3">
+           <img src="<%image_url%>/clear_shim.gif" width=100 height=1 border=0><br>
+         </td>
+       </tr>
+      </table>
+      <br><br>
+      <%include include_paging.html%><br><br>
+      <%/body_font%>
+    </td>
+  </tr>
+<%/body_table%>
+<br><br>
+<%include include_footer.html%>
+</center>
+</body>
+</html>
Index: default/user_profile.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/user_profile.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -b -u -r1.12 -r1.13
--- default/user_profile.html   18 Dec 2001 01:47:04 -0000      1.12
+++ default/user_profile.html   2 Mar 2002 02:32:13 -0000       1.13
@@ -14,7 +14,7 @@
 --%>
 <html>
 <head>
-<title><%site_title%>: Edit profile <%user_username%></title>
+<title><%site_title%>: Edit profile: <%user_username%></title>
 <%include include_css.html%>
 </head>
 <%body_tag%>
@@ -43,7 +43,7 @@
       <%/body_font%>
       <table border=0 cellpadding=10>
        <tr>
-         <td align=center style="border-bottom:3px solid <%odd_color%>">
+         <td align=center style="border-bottom:3px solid <%odd_color%>" width="20%">
            <%body_font%>
              <br><br>
              <a href="gforum.cgi?do=user_profile_basic;<%hidden_query%>">
@@ -53,46 +53,63 @@
              </a>
            <%/body_font%>
          </td>
-         <td width=250>
+         <td width="30%">
            <%body_font%>
              <br>
              From here you can change your username, password, email addresses, user icon, signature, and cookie settings.
            <%/body_font%>
          </td>
+
+         <td align=center style="border-bottom:3px solid <%odd_color%>" width="20%">
+           <%body_font%>
+             <br><br>
+             <a href="gforum.cgi?do=user_profile_email;<%hidden_query%>">
+               <img src="<%image_url%>/email_subscriptions.gif" border=0 width=64 height=64>
+               <br>
+               <b>Subscriptions</b>
+             </a>
+           <%/body_font%>
+         </td>
+         <td width="30%">
+           <%body_font%>
+             <br>
+             If you subscribe to any of the forums listed here, you will receive daily email notifications of all the posts made in the last day.
+           <%/body_font%>
+         </td>
        </tr>
+
        <tr>
-         <td align=center style="border-bottom:3px solid <%odd_color%>">
+         <td align=center style="border-bottom:3px solid <%odd_color%>" width="20%">
           <%body_font%>
              <br><br>
              <a href="gforum.cgi?do=user_profile_display;<%hidden_query%>">
                <img src="<%image_url%>/display_profile.gif" border=0 width=64 height=64>
                <br>
-               <b>Display Profile</b>
+               <b>Display Settings</b>
              </a>
            <%/body_font%>
          </td>
-         <td width=250>
+         <td width="30%">
            <%body_font%>
              <br>
              Change all your default display settings, here, including text area sizes and post styles.
            <%/body_font%>
          </td>
-       </tr>
-       <tr>
-         <td align=center style="border-bottom:3px solid <%odd_color%>">
+
+         <td align=center style="border-bottom:3px solid <%odd_color%>" width="20%">
            <%body_font%>
              <br><br>
-             <a href="gforum.cgi?do=user_profile_email;<%hidden_query%>">
-               <img src="<%image_url%>/email_subscriptions.gif" border=0 width=64 height=64>
+             <a href="gforum.cgi?do=user_profile_threads;<%hidden_query%>">
+               <img src="<%image_url%>/watched_threads.gif" border=0 width=64 height=64>
                <br>
-               <b>Email Subscriptions</b>
+               <b>Watched Threads</b>
              </a>
            <%/body_font%>
          </td>
-         <td width=250>
+         <td width="30%">
            <%body_font%>
              <br>
-             If you subscribe to any of the forums listed here, you will receive daily email notifications of all the posts made in the last day.
+             If you have watched any threads, and no longer wish to receive updates when threads are updated, come to this page to stop watching any or all of your watched threads.
            <%/body_font%>
          </td>
        </tr>
Index: default/user_profile_display.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/user_profile_display.html,v
retrieving revision 1.22
retrieving revision 1.24
diff -b -u -r1.22 -r1.24
--- default/user_profile_display.html   11 Jan 2002 10:30:10 -0000      1.22
+++ default/user_profile_display.html   4 Mar 2002 04:00:59 -0000       1.24
@@ -60,26 +60,6 @@
            <img src="<%image_url%>/clear_shim.gif" width=100 height=1><br>
          </td>
        </tr>
-<%--
-  The following option is disabled by default since Gossamer Forum only ships
-  with one template set.
-
-  You can use this to specify alternate template sets that users may choose.
-  If a user has an alternate template set specified, whenever they use the forum
-  they will see the template set they have chosen. This makes using an interface
-  with multiple languages very easy - one template set for English users, one
-  for French users, one for German users, etc.
-
-  To use, replace the 3 occurances of "new_template_set" in the HTML <option>
-  tag with the appropriate value. For example, if you were to add two new
-  template sets called "french" and "german", in addition to "default", you
-  might do something like this:
-             <option value="default"<%if user_template eq default%> selected<%endif%>>English</option>
-             <option value="francais"<%if user_template eq new_template_set%> selected<%endif%>>Fran&ccedil;ais</option>
-             <option value="deutsche"<%if user_template eq deutsche%> selected<%endif%>>Deutsche</option>
-  
-  Also be sure to change the same thing in the signup page.
---%>
        <tr>
          <td width="30%" align=right>
            <%body_font%>Default Template Set:<%/body_font%>
@@ -207,6 +187,14 @@
            <input class="button" type=text name=user_default_mh_search value="<%user_default_mh_search%>" size=5>
          </td>
        </tr>
+        <tr>
+          <td align=right>
+            <%body_font%>Member Directory hits / page:<%/body_font%>
+          </td>
+          <td>
+            <input class="button" type=text name=user_default_mh_user value="<%user_default_mh_user%>" size=5>
+          </td>
+        </tr>
        <tr>
          <td align=right>
            <%body_font%>Textbox width (in characters):<%/body_font%>
Index: default/user_profile_email.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/user_profile_email.html,v
retrieving revision 1.12
retrieving revision 1.13
diff -b -u -r1.12 -r1.13
--- default/user_profile_email.html     18 Dec 2001 01:47:04 -0000      1.12
+++ default/user_profile_email.html     2 Mar 2002 02:32:13 -0000       1.13
@@ -47,21 +47,21 @@
 <%loop everything%>
 <%  unless forum_id%><%-- A category --%>
          <%header_row%>
-            <td width="2%">&nbsp;</td>
-           <td width="98%">
+            <td width="2%" style="border-top: 1px solid <%dark_beige%>">&nbsp;</td>
+           <td width="98%" style="border-top: 1px solid <%dark_beige%>">
              <%header_font%><%if cat_depth%><img src="<%image_url%>/clear_shim.gif" height=1 width="<%cat_depth * 25%>"><%endif%><%cat_name%><%/header_font%>
            </td>
          </tr>
 <%  else%><%-- A forum --%>
          <tr bgcolor="<%GForum::Utils::alternation(everything, $odd_color, $even_color)%>">
-           <td align=center valign=center>
+           <td align=center valign=center style="border-top: 1px solid <%dark_beige%>; border-right: 1px solid <%dark_beige%>">
 <%    if forum_permission >= 2%>
              <input type=checkbox name=subscribe value=<%forum_id%><%if forum_subscribed%> checked<%endif%>>
 <%    else%>
               &nbsp;
 <%    endif%>
            </td>
-            <td>
+            <td style="border-top: 1px solid <%dark_beige%>">
               <%body_font%><%if cat_depth%><img src="<%image_url%>/clear_shim.gif" height=1 width="<%cat_depth * 25%>"><%endif%><%forum_name%><%/body_font%>
             </td>
          </tr>
Index: default/user_profile_threads.html
===================================================================
RCS file: default/user_profile_threads.html
diff -N default/user_profile_threads.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ default/user_profile_threads.html   4 Mar 2002 03:53:40 -0000       1.1
@@ -0,0 +1,124 @@
+<%--
+
+File
+====
+user_profile_threads.html
+
+Description
+===========
+This page is used to unsubscribe from watched threads. You
+click the "Watch Thread" button on the post view page to
+watch a thread.
+
+--%>
+<html>
+<head>
+<title><%site_title%>: Edit profile: Watched Threads: <%current_user_username%></title>
+<%include include_css.html%>
+<script language="JavaScript">
+<!--
+function checkAll(all) {
+  for (var i = document.threads.elements.length - 1; i >= 0; i--) {
+    if (document.threads.elements[i].name != 'stop_watching')
+      continue;
+    document.threads.elements[i].checked = all.checked;
+  }
+}
+
+/* When you check a checkbox, it checks to see if all
+ * the checkboxes are clicked, and if so checks the
+ * 'check_all' box. If you are unchecking, the 'check_all'
+ * box will be cleared.
+ */
+function checkCheckBoxes () {
+  var allChecked = true;
+  for (var i = document.threads.elements.length - 1; i >= 0; i--) {
+    if (document.threads.elements[i].name != 'stop_watching')
+      continue;
+    if (document.threads.elements[i].checked == false) {
+      allChecked = false;
+      break;
+    }
+  }
+  if (allChecked)
+    document.threads.check_all.checked = true;
+  else
+    document.threads.check_all.checked = false;
+}
+// -->
+</script>
+</head>
+<%body_tag%>
+<%include include_header.html%>
+<center>
+<%body_table%>
+  <tr>
+    <td valign=bottom>
+      <%title_font%>
+       <a href="gforum.cgi?<%hidden_query%>"><%title_font%><%site_home%><%/title_font%></a>:
+       <a href="gforum.cgi?do=user_profile;<%hidden_query%>"><%title_font%>Edit Profile<%/title_font%></a>:
+       Watched Threads
+      <%/title_font%>
+    </td>
+    <td align=right>
+      <%include include_logo.html%>
+    </td>
+  </tr> 
+<form action="gforum.cgi" method="get" name="threads">
+  <tr>
+    <td colspan=2 valign=bottom>
+      <%hidden_form%>
+      <%body_font%>
+       Welcome, <%nbsp current_user_username%>.<br>
+        From this page you can unsubscribe from watched threads. To start watching
+        a thread, click the "Watch Thread" button shown when viewing a thread. When
+        a thread is watched, you will receive e-mail notifications when someone posts
+        a reply to the thread.
+<%if watched_threads%>
+        <br><br>You are currently watching <b><%watched_threads%></b> threads:
+       <%list_table%>
+         <%top_row%>
+           <td colspan=3>
+             <img src="<%image_url%>/clear_shim.gif" width=100 height=1><br>
+           </td>
+         </tr>
+<%set indent = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'%>
+<%GForum::Utils::new_alternation(threads)%>
+<%loop threads%>
+         <tr bgcolor="<%GForum::Utils::alternation(threads => $odd_color, $even_color)%>">
+           <td align=center valign=center style="border-top: 1px solid <%dark_beige%>">
+              <%body_font%><input type="checkbox" name="stop_watching" value="<%post_id%>" onClick="javascript: checkCheckBoxes()"><%/body_font%>
+            </td>
+            <td style="border-top: 1px solid <%dark_beige%>">
+              <%body_font%>
+                <%GForum::Category::full_name_linked($cat_id, ": ", "", "", "gforum.cgi?", $hidden_query)%>:
+                <a href="gforum.cgi?forum=<%forum_id%>;<%hidden_query%>"><%forum_name%></a>:
+                <a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><b><%post_subject%></b></a> <i>(started by <%if user_id%><a href="gforum.cgi?<%if user_status%>username=<%post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%>)</i>
+              <%/body_font%>
+            </td>
+         </tr>
+<%endloop%>
+         <tr>
+            <td bgcolor="<%light_green%>" align=center style="border-top: 1px solid <%dark_beige%>">
+              <input type="checkbox" name="check_all" onClick="checkAll(this)">
+            </td>
+           <td bgcolor="<%light_green%>" align=right style="border-top: 1px solid <%dark_beige%>">
+             <input type=hidden name=do value=user_profile_threads_change>
+             <input type=hidden name=next_do value=user_profile>
+             <input class="submit" type=submit value="Stop watching selected threads">
+           </td>
+         </tr>
+       </table>
+<%else%>
+        <br><br><b>You are not currently watching any threads. To watch a thread, click the "Watch Thread" button on the thread display page.</b>
+<%endif%>
+      <%/body_font%>
+    </td>
+  </tr>
+</form>
+<%/body_table%>
+<br><br>
+<%include include_footer.html%>
+</center>
+</body>
+</html>
Index: default/user_signup.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/user_signup.html,v
retrieving revision 1.15
retrieving revision 1.16
diff -b -u -r1.15 -r1.16
--- default/user_signup.html    18 Dec 2001 01:47:04 -0000      1.15
+++ default/user_signup.html    14 Mar 2002 22:19:20 -0000      1.16
@@ -53,7 +53,11 @@
        <tr>
          <td colspan=2>
            <%body_font%>
-             You can sign up to the forum by entering your information here:
+             You can sign up to the forum by entering your information here.
+<%GForum::Config::tpl_get(require_signup_email_validation)%>
+              <%if require_signup_email_validation%>
+              If you have already filled out the signup form but still have not received a validation e-mail, <a href="gforum.cgi?do=resend_validation;<%hidden_query%>">click here</a> to have the validation e-mail resent.
+              <%endif%>
            <%/body_font%>
          </td>
        </tr>
Index: default/user_view.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/user_view.html,v
retrieving revision 1.28
retrieving revision 1.30
diff -b -u -r1.28 -r1.30
--- default/user_view.html      18 Dec 2001 01:47:04 -0000      1.28
+++ default/user_view.html      29 Jan 2002 02:55:16 -0000      1.30
@@ -106,7 +106,7 @@
            <%body_font%><b>Real Name:</b><%/body_font%>
          </td>
          <td valign=top bgcolor="<%odd_color%>" style="border-top:1px solid <%dark_beige%>">
-           <%body_font%><%user_real_name%><%/body_font%>
+           <%body_font%><%if user_real_name%><%user_real_name%><%else%>No name entered.<%endif%><%/body_font%>
          </td>
        </tr>

@@ -173,7 +173,7 @@
            <%body_font%><b>ICQ number:</b><%/body_font%>
          </td>
          <td valign=top bgcolor="<%odd_color%>">
-           <%body_font%><%user_icq%><%/body_font%>
+           <%body_font%><a href="http://web.icq.com/whitepages/message_me/1,,,00.icq?uin=<%user_icq%>&action=message"><%user_icq%></a><%/body_font%>
          </td>
        </tr>
 <%endif%>
@@ -184,7 +184,7 @@
            <%body_font%><b>AOL Instant Message name:</b><%/body_font%>
          </td>
          <td valign=top bgcolor="<%odd_color%>">
-           <%body_font%><%user_aim%><%/body_font%>
+           <%body_font%><a href="aim:goim?screenname=<%user_aim%>"><%user_aim%></a><%/body_font%>
          </td>
        </tr>
 <%endif%>
@@ -195,7 +195,7 @@
            <%body_font%><b>Yahoo Identity:</b><%/body_font%>
          </td>
          <td valign=top bgcolor="<%odd_color%>">
-           <%body_font%><%user_yahoo%><%/body_font%>
+           <%body_font%><a href="http://edit.yahoo.com/config/send_webmesg?.target=<%user_yahoo%>&.src=pg" target="_blank"><%user_yahoo%></a><%/body_font%>
          </td>
        </tr>
 <%endif%>
Index: default/validation_resent.html
===================================================================
RCS file: default/validation_resent.html
diff -N default/validation_resent.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ default/validation_resent.html      14 Mar 2002 22:19:20 -0000      1.1
@@ -0,0 +1,49 @@
+<%--
+
+File
+====
+validation_resent.html
+
+Description
+===========
+After entering your username for the validation resend, this
+is the page you will see that confirms that the validation
+e-mail has been sent to you again.
+
+--%>
+<html>
+<head>
+<title><%site_title%>: Validation resent!</title>
+<%include include_css.html%>
+</head>
+<%body_tag%>
+<center>
+<%include include_header.html%>
+<%body_table%>
+  <tr>
+    <td valign="bottom">
+      <a href="gforum.cgi?<%hidden_query%>">
+       <%title_font%><%site_home%>: <%/title_font%>
+      </a>
+      <%title_font%>
+       Validation Sent
+      <%/title_font%>
+    </td>
+    <td align="right">
+      <%include include_logo.html%>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2">
+      <%body_font%>
+       Your validation code has been e-mailed to you again. The e-mail you
+        receive will contain a link to click on to validation your account.
+      <%/body_font%>
+    </td>
+  </tr>
+<%/body_table%>
+<br><br>
+<%include include_footer.html%>
+</center>
+</body>
+</html>
Index: default/watch_thread.html
===================================================================
RCS file: default/watch_thread.html
diff -N default/watch_thread.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ default/watch_thread.html   4 Mar 2002 03:54:02 -0000       1.1
@@ -0,0 +1,67 @@
+<%--
+
+File
+====
+watch_thread.html
+
+Description
+===========
+When you click the "Watch Thread" button on the thread
+display page, you will start "watching" the thread and you
+will see this page.
+
+--%>
+<html>
+<head>
+<title><%site_title%>: <%cat_full_name%>: <%forum_name%>: <%post_subject%>: Thread Watched!</title>
+<meta http-equiv="refresh" content="5;url=gforum.cgi?post=<%post_id%>&<%hidden_query%>">
+<%include include_css.html%>
+</head>
+<%body_tag%>
+<%include include_header.html%>
+<center>
+<%body_table%>
+  <tr>
+    <td>
+      <%title_font%>
+        <%include include_title_cat_forum.html%>
+        <a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><%title_font%><%post_subject%><%/title_font%></a>:
+        Thread Watched
+      <%/title_font%>
+    </td>
+    <td align="right">
+      <%include include_logo.html%>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2">
+      <%body_font%>
+       The thread <%GForum::Category::full_name_linked($cat_id, ": ", "", "", "gforum.cgi?", $hidden_query)%>:
+        <a href="gforum.cgi?forum=<%forum_id%>;<%hidden_query%>"><%forum_name%></a>:
+        <a href="gforum.cgi?post=<%post_id%>;<%hidden_query%>"><b><%post_subject%></b></a>
+        <i>(started by <%if user_id%><a href="gforum.cgi?<%if user_status%>username=<%post_username%><%else%>user=<%user_id%><%endif%>"><%nbsp post_username%></a><%else%><%nbsp post_username%><%endif%>)</i>
+        has been added to your watched threads list.
+        <a href="gforum.cgi?do=user_profile_threads;<%hidden_query%>">Click here</a> to see a summary of all threads you have watched.<br><br>
+        You will be automatically returned to the thread shortly, or choose the forum you wish to visit:
+      <%/body_font%>
+    </td>
+  </tr>
+<form method="GET" action="gforum.cgi">
+  <tr>
+    <td colspan="2">
+      <br>
+<%hidden_form%>
+      <select class="button" name=jump size=1>
+<%GForum::Forum::jump_list($forum_id)%>
+      </select>
+      &nbsp;
+      <input class="submit" type=submit value="Jump to forum">
+    </td>
+  </tr>
+</form>
+<%/body_table%>
+<br><br>
+<%include include_footer.html%>
+</center>
+</body>
+</html>
Index: default/whos_online.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default/whos_online.html,v
retrieving revision 1.16
retrieving revision 1.17
diff -b -u -r1.16 -r1.17
--- default/whos_online.html    18 Dec 2001 01:47:04 -0000      1.16
+++ default/whos_online.html    4 Mar 2002 03:52:16 -0000       1.17
@@ -25,12 +25,12 @@
        <%title_font%><%site_home%>:<%/title_font%>
       </a>
       <%title_font%>Who's Online<%/title_font%>
+      <%body_font%>(<a href="gforum.cgi?do=user_list;<%hidden_query%>">View Member Directory</a>)<%/body_font%>
     </td>
     <td align=right>
       <%include include_logo.html%>
     </td>
   </tr>
-
   <tr>
     <td colspan=2>
 <%if has_online_users%>
Index: default_top/include_post_display.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/default_top/include_post_display.html,v
retrieving revision 1.7
retrieving revision 1.10
diff -b -u -r1.7 -r1.10
--- default_top/include_post_display.html       6 Jan 2002 00:36:02 -0000       1.7
+++ default_top/include_post_display.html       4 Mar 2002 03:50:09 -0000       1.10
@@ -19,7 +19,7 @@
       <%body_font%><small>
        <b>
         <%if user_id%>
-         <a href="gforum.cgi?username=<%escape_url post_username%>;<%hidden_query%>">
+         <a href="gforum.cgi?<%if user_status%>username=<%escape_url post_username%><%else%>user=<%user_id%><%endif%>;<%hidden_query%>">
            <big><%nbsp post_username%></big>
          </a>
         <%else%>
@@ -46,6 +46,10 @@
 <%else%>
       &nbsp;
 <%endif%>
+<%if this_do eq post_view_threaded or this_do eq post_view_flat%><%if is_ie and ie_version >= 4%>
+        <%body_font%><small><a href="javascript: postShortcut(<%post_id%>)">Copy Shortcut</a></small><%/body_font%>
+<%endif%><%endif%>
+
     </td>
     <td align="right" width="33%"<%unless printing%> bgcolor="<%light_beige%>"<%endif%>>
       <%body_font%><small>
@@ -144,31 +148,16 @@
          </td>
          <td valign="top" align="right">
            <%body_font%><b>
-<%unless preview or deleteview or hide_post_menu or post_deleted%>
-
-<%  if not post_locked or user_perm_moderator%>
-<%    if user_perm_edit or user_perm_moderator%>
-             <a href="gforum.cgi?do=post_edit;post=<%post_id%>;<%hidden_query%>">Edit</a> |
-<%    endif%>
-<%    if user_perm_delete or user_perm_moderator%>
-<%      unless post_deleted%>
-             <a href="gforum.cgi?do=post_delete_confirm;post=<%post_id%>;<%hidden_query%>">Delete</a> |
-<%      endunless%>
-<%    endif%>
-<%    if user_forum_permission < 4%>
-             Can't Post
-<%    else%>
-<%      if forum_style % 2%><%-- This is true if the forum allows markup --%>
-              <a href="gforum.cgi?do=post_reply_write;quote=1;parent_post_id=<%post_id%>;<%hidden_query%>">Quote</a> |
-<%      endif%>
-             <a href="gforum.cgi?do=post_reply_write;parent_post_id=<%post_id%>;<%hidden_query%>">Reply</a>
-<%    endif%>
-<%  else%>
-       &nbsp;
-<%  endif%>
-<%elseif post_deleted and user_perm_moderator%><%-- Show moderators the delete link so they can delete it completely --%>
-        <a href="gforum.cgi?do=post_delete_confirm;post=<%post_id%>;<%hidden_query%>">Delete</a>
-<%endunless%>
+<%GForum::GUI::draw(
+    draw      => post_display_options,
+    separator => " | ",
+    edit      => "Edit",
+    delete    => "Delete",
+    cant_post => "Can't Post",
+    quote     => "Quote",
+    reply     => "Reply",
+    a_attribs => ""
+)%>
       </b><%/body_font%>
          </td>
         </tr>
Index: admin/copyright.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/copyright.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
--- admin/copyright.html        27 Aug 2001 20:37:51 -0000      1.2
+++ admin/copyright.html        4 Mar 2002 19:00:15 -0000       1.3
@@ -1 +1 @@
-<p><font face="Tahoma,Arial,Helvetica" size="2"><b>Copyright 2001 <a href="http://gossamer-threads.com/">Gossamer Threads Inc.</a></b>&nbsp;</font></p>^M
+<p><font face="Tahoma,Arial,Helvetica" size="2"><b>Copyright 2002 <a href="http://gossamer-threads.com/">Gossamer Threads Inc.</a></b>&nbsp;</font></p>
Index: admin/email_contents.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/email_contents.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/email_default.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/email_default.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/forums_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/forums_help.html,v
retrieving revision 1.1
retrieving revision 1.3
diff -b -u -r1.1 -r1.3
--- admin/forums_help.html      27 Aug 2001 03:01:53 -0000      1.1
+++ admin/forums_help.html      4 Mar 2002 19:00:15 -0000       1.3
@@ -19,10 +19,7 @@
       to create and manage forums, as well as the categories those forums are^M
       sorted in.</font></p>^M
 ^M
-      <p><font face="Tahoma,Arial,Helvetica" size="2">Simply click on the commands^M
-      ("Add", "Modify", "Delete", etc.) beneath the "Forums" or "Categories"^M
-      headings, and forms will be displayed allowing you to perform the action.^M
-      Note that all forums must be assigned to a category</font></p>^M
+      <p><font face="Tahoma,Arial,Helvetica" size="2">The "Add Forum" or "Add Category" links allow you to define all aspects of new forums and categories.  The "List All" link displays detailed records of all forums and categories and allows you to modify and delete them.  The "Sort Order" link allows you to configure the order in which forums and categories will be displayed.</font></p>
 ^M
     </td>^M
   </tr>^M
Index: admin/home.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/home.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/home_body.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/home_body.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/home_left.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/home_left.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/home_nav.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/home_nav.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -b -u -r1.10 -r1.11
Index: admin/home_right.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/home_right.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -b -u -r1.9 -r1.10
Index: admin/language.txt
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/language.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
--- admin/language.txt  28 Nov 2001 01:00:41 -0000      1.2
+++ admin/language.txt  4 Mar 2002 04:02:20 -0000       1.3
@@ -38,7 +38,7 @@
   'DATE_MONTH_SHORT_7' => 'Jul',
   'DATE_MONTH_SHORT_8' => 'Aug',
   'DATE_MONTH_SHORT_9' => 'Sep',
-  'SIGNUP_USERNAME_EXISTS' => 'The username \'%s\' already exists. Please choose another',
+  'USERNAME_EXISTS' => 'The username \'%s\' already exists. Please choose another',
   'USERNAME_INVALID_CHARS' => 'Username contains invalid characters',
   'USERNAME_LEADING_SPACES' => 'A username may not contain leading spaces',
   'USERNAME_NOT_ENTERED' => 'No username entered',
Index: admin/markup.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/markup.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/markup_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/markup_help.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/markup_tags_add.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/markup_tags_add.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -b -u -r1.9 -r1.10
--- admin/markup_tags_add.html  6 Jan 2002 02:25:14 -0000       1.9
+++ admin/markup_tags_add.html  2 Mar 2002 02:32:13 -0000       1.10
@@ -29,7 +29,7 @@

 <body>
 <%set header_title = "Add Tag"%>
-<%set header_description = "From this page you can add and remove available markup tags"%>
+<%set header_description = "From this page you can add and remove available markup tags. Note - by adding a tag such as <i>foo()</i> you can create a tag that will take arguments. For example, [foo bar] would use the foo() tag, substituting %1% with &quot;bar&quot; You can use %2%, %3%, etc. for additional arguments."%>
 <%include admin_header.html%>

 <%set font_tag = '<font face="Tahoma,Arial,Helvetica" size=2>'%>
Index: admin/markup_tags_list.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/markup_tags_list.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -b -u -r1.8 -r1.9
--- admin/markup_tags_list.html 6 Jan 2002 02:25:14 -0000       1.8
+++ admin/markup_tags_list.html 2 Mar 2002 02:32:13 -0000       1.9
@@ -23,7 +23,7 @@
       <table bgcolor=white border=0 cellpadding=3 cellspacing=3 width=500 valign=top>
        <tr>
          <td valign=top width="15%"><%font_tag%><b>Tag</b>:</font></td>
-         <td valign=top width="85%"><%font_tag%>[<%tag%>]<%if has_closing%> ... [/<%tag%>]<%endif%></font></td>
+         <td valign=top width="85%"><%font_tag%>[<%tag%>]<%if has_closing%> ... [<%closing_tag%>]<%endif%></font></td>
        </tr>
        <tr>
          <td valign=top><%font_tag%>HTML:</td>
Index: admin/markup_tags_modify_2.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/markup_tags_modify_2.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -b -u -r1.8 -r1.9
--- admin/markup_tags_modify_2.html     6 Jan 2002 02:25:14 -0000       1.8
+++ admin/markup_tags_modify_2.html     2 Mar 2002 02:32:13 -0000       1.9
@@ -34,7 +34,7 @@

 <body>
 <%set header_title = "Modify Tag"%>
-<%set header_description = "From this page you can modify the available markup tags"%>
+<%set header_description = "From this page you can modify a markup tag. Note - tags with names such as <i>foo()</i> can take arguments. For example, [foo bar] would use the foo() tag, substituting %1% with &quot;bar&quot; You can use %2%, %3%, etc. for additional arguments."%>
 <%include admin_header.html%>

 <%set font_tag = '<font face="Tahoma,Arial,Helvetica" size=2>'%>
Index: admin/plugin.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_help.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/plugin_manager.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -u -r1.4 -r1.5
Index: admin/plugin_manager_delete.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_delete.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_manager_download.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_download.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_manager_edit.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_edit.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_manager_edit_files.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_edit_files.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_manager_list.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_list.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_manager_pre_install.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_pre_install.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_manager_pre_uninstall.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_manager_pre_uninstall.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/plugin_nav.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_nav.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_wizard.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -u -r1.4 -r1.5
Index: admin/plugin_wizard_step1.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step1.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_wizard_step2.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step2.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_wizard_step3.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step3.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_wizard_step4.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step4.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/plugin_wizard_step5.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step5.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_wizard_step6.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step6.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/plugin_wizard_step7.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step7.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/plugin_wizard_step8.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/plugin_wizard_step8.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/posts.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/posts.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/posts_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/posts_help.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/setup.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/setup_admin.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_admin.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -u -r1.5 -r1.6
--- admin/setup_admin.html      1 Nov 2001 21:22:41 -0000       1.5
+++ admin/setup_admin.html      20 Feb 2002 05:29:23 -0000      1.6
@@ -121,12 +121,12 @@
          <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">default_guest_permission</font></b></td>
          <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2">
             <select name="default_guest_permission" size=1>
-              <option value="0"<%if cfg_default_guest_permission = 0%> selected<%endif%>>No access</option>
-              <option value="1"<%if cfg_default_guest_permission = 1%> selected<%endif%>>Viewable in forum list</option>
-              <option value="2"<%if cfg_default_guest_permission = 2%> selected<%endif%>>Posts viewable but not readable</option>
-              <option value="3"<%if cfg_default_guest_permission = 3%> selected<%endif%>>Read access</option>
-              <option value="4"<%if cfg_default_guest_permission = 4%> selected<%endif%>>Read/Reply access</option>
-              <option value="5"<%if cfg_default_guest_permission = 5%> selected<%endif%>>Read/Reply/Post access</option>
+              <option value="0"<%if cfg_default_guest_permission = 0%> selected<%endif%>><%cfg_forum_group_levels[0]%></option>
+              <option value="1"<%if cfg_default_guest_permission = 1%> selected<%endif%>><%cfg_forum_group_levels[1]%></option>
+              <option value="2"<%if cfg_default_guest_permission = 2%> selected<%endif%>><%cfg_forum_group_levels[2]%></option>
+              <option value="3"<%if cfg_default_guest_permission = 3%> selected<%endif%>><%cfg_forum_group_levels[3]%></option>
+              <option value="4"<%if cfg_default_guest_permission = 4%> selected<%endif%>><%cfg_forum_group_levels[4]%></option>
+              <option value="5"<%if cfg_default_guest_permission = 5%> selected<%endif%>><%cfg_forum_group_levels[5]%></option>
             </select>
          </font></td>
        </tr>
@@ -137,12 +137,12 @@
          <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">default_not_validated_permission</font></b></td>
          <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2">
             <select name="default_not_validated_permission" size=1>
-              <option value="0"<%if cfg_default_not_validated_permission = 0%> selected<%endif%>>No access</option>
-              <option value="1"<%if cfg_default_not_validated_permission = 1%> selected<%endif%>>Viewable in forum list</option>
-              <option value="2"<%if cfg_default_not_validated_permission = 2%> selected<%endif%>>Posts viewable but not readable</option>
-              <option value="3"<%if cfg_default_not_validated_permission = 3%> selected<%endif%>>Read access</option>
-              <option value="4"<%if cfg_default_not_validated_permission = 4%> selected<%endif%>>Read/Reply access</option>
-              <option value="5"<%if cfg_default_not_validated_permission = 5%> selected<%endif%>>Read/Reply/Post access</option>
+              <option value="0"<%if cfg_default_not_validated_permission = 0%> selected<%endif%>><%cfg_forum_group_levels[0]%></option>
+              <option value="1"<%if cfg_default_not_validated_permission = 1%> selected<%endif%>><%cfg_forum_group_levels[1]%></option>
+              <option value="2"<%if cfg_default_not_validated_permission = 2%> selected<%endif%>><%cfg_forum_group_levels[2]%></option>
+              <option value="3"<%if cfg_default_not_validated_permission = 3%> selected<%endif%>><%cfg_forum_group_levels[3]%></option>
+              <option value="4"<%if cfg_default_not_validated_permission = 4%> selected<%endif%>><%cfg_forum_group_levels[4]%></option>
+              <option value="5"<%if cfg_default_not_validated_permission = 5%> selected<%endif%>><%cfg_forum_group_levels[5]%></option>
             </select>
          </font></td>
        </tr>
@@ -153,12 +153,12 @@
          <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">default_registered_permission</font></b></td>
          <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2">
             <select name="default_registered_permission" size=1>
-              <option value="0"<%if cfg_default_registered_permission = 0%> selected<%endif%>>No access</option>
-              <option value="1"<%if cfg_default_registered_permission = 1%> selected<%endif%>>Viewable in forum list</option>
-              <option value="2"<%if cfg_default_registered_permission = 2%> selected<%endif%>>Posts viewable but not readable</option>
-              <option value="3"<%if cfg_default_registered_permission = 3%> selected<%endif%>>Read access</option>
-              <option value="4"<%if cfg_default_registered_permission = 4%> selected<%endif%>>Read/Reply access</option>
-              <option value="5"<%if cfg_default_registered_permission = 5%> selected<%endif%>>Read/Reply/Post access</option>
+              <option value="0"<%if cfg_default_registered_permission = 0%> selected<%endif%>><%cfg_forum_group_levels[0]%></option>
+              <option value="1"<%if cfg_default_registered_permission = 1%> selected<%endif%>><%cfg_forum_group_levels[1]%></option>
+              <option value="2"<%if cfg_default_registered_permission = 2%> selected<%endif%>><%cfg_forum_group_levels[2]%></option>
+              <option value="3"<%if cfg_default_registered_permission = 3%> selected<%endif%>><%cfg_forum_group_levels[3]%></option>
+              <option value="4"<%if cfg_default_registered_permission = 4%> selected<%endif%>><%cfg_forum_group_levels[4]%></option>
+              <option value="5"<%if cfg_default_registered_permission = 5%> selected<%endif%>><%cfg_forum_group_levels[5]%></option>
             </select>
          </font></td>
        </tr>
@@ -169,12 +169,12 @@
          <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">default_moderator_permission</font></b></td>
          <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2">
             <select name="default_moderator_permission" size=1>
-              <option value="0"<%if cfg_default_moderator_permission = 0%> selected<%endif%>>No access</option>
-              <option value="1"<%if cfg_default_moderator_permission = 1%> selected<%endif%>>Viewable in forum list</option>
-              <option value="2"<%if cfg_default_moderator_permission = 2%> selected<%endif%>>Posts viewable but not readable</option>
-              <option value="3"<%if cfg_default_moderator_permission = 3%> selected<%endif%>>Read access</option>
-              <option value="4"<%if cfg_default_moderator_permission = 4%> selected<%endif%>>Read/Reply access</option>
-              <option value="5"<%if cfg_default_moderator_permission = 5%> selected<%endif%>>Read/Reply/Post access</option>
+              <option value="0"<%if cfg_default_moderator_permission = 0%> selected<%endif%>><%cfg_forum_group_levels[0]%></option>
+              <option value="1"<%if cfg_default_moderator_permission = 1%> selected<%endif%>><%cfg_forum_group_levels[1]%></option>
+              <option value="2"<%if cfg_default_moderator_permission = 2%> selected<%endif%>><%cfg_forum_group_levels[2]%></option>
+              <option value="3"<%if cfg_default_moderator_permission = 3%> selected<%endif%>><%cfg_forum_group_levels[3]%></option>
+              <option value="4"<%if cfg_default_moderator_permission = 4%> selected<%endif%>><%cfg_forum_group_levels[4]%></option>
+              <option value="5"<%if cfg_default_moderator_permission = 5%> selected<%endif%>><%cfg_forum_group_levels[5]%></option>
             </select>
          </font></td>
        </tr>
Index: admin/setup_defaults.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_defaults.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
--- admin/setup_defaults.html   26 Sep 2001 22:11:43 -0000      1.2
+++ admin/setup_defaults.html   4 Mar 2002 04:03:02 -0000       1.3
@@ -58,6 +58,13 @@
       <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2"><input type="text" name="default_mh_search" value="<%cfg_default_mh_search%>" size="40"></font></td>
     </tr>
     <tr>
+      <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">This is the default number of users to show per page of the Member Directory.</font></td>
+    </tr>
+    <tr>
+      <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">default_mh_user</font></b></td>
+      <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2"><input type="text" name="default_mh_user" value="<%cfg_default_mh_user%>" size="40"></font></td>
+    </tr>
+    <tr>
       <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">The default post display method.</font></td>
     </tr>
     <tr>
Index: admin/setup_first.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_first.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -u -r1.4 -r1.5
Index: admin/setup_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_help.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/setup_nav.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_nav.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -b -u -r1.8 -r1.9
Index: admin/setup_pass.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_pass.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -u -r1.5 -r1.6
Index: admin/setup_path.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_path.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -b -u -r1.9 -r1.10
Index: admin/setup_posts.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_posts.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -u -r1.5 -r1.6
--- admin/setup_posts.html      7 Dec 2001 23:42:27 -0000       1.5
+++ admin/setup_posts.html      4 Mar 2002 04:03:02 -0000       1.6
@@ -43,6 +43,21 @@
          <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2"><input type="text" name="hot_minutes" value="<%cfg_hot_minutes%>" size="4"></font></td>
        </tr>
        <tr>
+          <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">If enabled,
+          this will allow guest poster to enter their own username, provide no user with the
+          same username exists. Note that anonymous posting also requires that a user with status
+          'Guest' exists and is enabled.</font></td>
+       </tr>
+       <tr>
+          <td width="16%"><font face="Tahoma,Arial,Helvetica" size="2"><b>post_guest_custom_username</b></font></td>
+         <td width="84%"><font face="Tahoma,Arial,Helvetica" size="2">
+            <select name="post_guest_custom_username" size=1>
+              <option value="1"<%if cfg_post_guest_custom_username%> selected<%endif%>>Yes</option>
+              <option value="0"<%unless cfg_post_guest_custom_username%> selected<%endunless%>>No</option>
+           </select>
+         </td>
+       </tr>
+       <tr>
          <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">This option
          controls whether or not the username of the poster being replies to will be added to
          the posts. It can be added either at the beginning ('[username] Re: some subject'),
Index: admin/setup_reset.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_reset.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/setup_second.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_second.html,v
retrieving revision 1.5
retrieving revision 1.7
diff -b -u -r1.5 -r1.7
--- admin/setup_second.html     11 Oct 2001 17:33:02 -0000      1.5
+++ admin/setup_second.html     13 Mar 2002 01:12:34 -0000      1.7
@@ -86,3 +86,8 @@
 </form>^M
 </body>^M
 </html>^M
+
+<!-- 
+       For windows installer
+       GTERR: [<%error%>]
+-->
Index: admin/setup_sql.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_sql.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -b -u -r1.7 -r1.8
Index: admin/setup_third.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_third.html,v
retrieving revision 1.4
retrieving revision 1.6
diff -b -u -r1.4 -r1.6
--- admin/setup_third.html      19 Oct 2001 20:07:29 -0000      1.4
+++ admin/setup_third.html      13 Mar 2002 01:12:34 -0000      1.6
@@ -36,3 +36,8 @@
   </table>^M
 </body>^M
 </html>^M
+
+<!-- 
+  For Windows Installer
+  GTINST: done
+-->
Index: admin/setup_users.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/setup_users.html,v
retrieving revision 1.8
retrieving revision 1.12
diff -b -u -r1.8 -r1.12
--- admin/setup_users.html      10 Oct 2001 00:37:26 -0000      1.8
+++ admin/setup_users.html      13 Mar 2002 01:23:56 -0000      1.12
@@ -53,6 +53,18 @@
       </td>
     </tr>
     <tr>
+      <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">The following is used to restrict
+      e-mail addresses. You should enter one pattern per line. Users will not be able to sign up with any matching
+      e-mail addresss. Use a ? to match any single character and * to match any number of characters.</font></td>
+    </tr>
+    <tr>
+      <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">banned_email</font></b></td>
+      <td width="84%">
+       <textarea name="banned_email" cols="39" rows="8">
+<%GForum::Config::textarea(banned_email)%></textarea>
+      </td>
+    </tr>
+    <tr>
       <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">The title given to a user after making a certain number of posts.</font></td>
     </tr>
     <tr>
@@ -60,6 +72,24 @@
       <td width="84%">
        <textarea name="user_post_title" cols="39" rows="8">
 <%GForum::Config::textarea(user_post_title)%></textarea>
+      </td>
+    </tr>
+    <tr>
+      <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">The User table columns listed below cannot be changed via the profile. Note that you should not delete any value from this list unless you are absolutely sure of what doing so would allow.</font></td>
+    </tr>
+    <tr>
+      <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">user_private_fields</font></b></td>
+      <td width="84%">
+        <input type="text" size="40" value="<%cfg_user_private_fields%>">
+      </td>
+    </tr>
+    <tr>
+      <td width="100%" colspan="2"><font face="Tahoma,Arial,Helvetica" size="2">Only fields entered here may be searched on using the member directory search. If you wish to add new search options (or sort options) you should enter the column names here.</font></td>
+    </tr>
+    <tr>
+      <td width="16%"><b><font size="2" face="Tahoma,Arial,Helvetica">user_search_allowed</font></b></td>
+      <td width="84%">
+        <input type="text" size="40" value="<%cfg_user_search_allowed%>">
       </td>
     </tr>
     <tr>
Index: admin/templates.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/templates_email.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates_email.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -b -u -r1.6 -r1.7
Index: admin/templates_globals.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates_globals.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -u -r1.5 -r1.6
Index: admin/templates_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates_help.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
--- admin/templates_help.html   19 Oct 2001 20:07:29 -0000      1.2
+++ admin/templates_help.html   2 Mar 2002 02:32:13 -0000       1.3
@@ -19,6 +19,9 @@
       menu allows you to view and edit the templates from which your
       database's HTML pages will be built.</font></p>

+<p><font face="Tahoma,Arial,Helvetica" size="2">The "Email Templates" 
+      menu allows you to view and edit the templates from which emails that are automatically sent to your users will be built.</font></p>
+
       <p><font face="Tahoma,Arial,Helvetica" size="2">The "Language Variables"
       menu allows you to edit the language that Gossamer Forum will
       display in prompts, warnings and error messages.</font></p>
Index: admin/templates_language.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates_language.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -b -u -r1.6 -r1.7
Index: admin/templates_nav.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates_nav.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/templates_tpl.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/templates_tpl.html,v
retrieving revision 1.9
retrieving revision 1.11
diff -b -u -r1.9 -r1.11
--- admin/templates_tpl.html    17 Dec 2001 19:30:19 -0000      1.9
+++ admin/templates_tpl.html    4 Mar 2002 19:00:15 -0000       1.11
@@ -113,7 +113,7 @@
                   </tr>^M
                   <tr>^M
                     <td bgcolor="#AAAAAA"><%font_tag%>File&nbsp;size:</font></td>^M
-                    <td bgcolor="white" id="size"><%font_tag%><%if tpl_file%><%file_size%> bytes<%else%><%if tpl_file%><%font_tag%><%file_size%> bytes</font><%else%>&nbsp;<%endif%>&nbsp;<%endif%></font></td>^M
+                    <td bgcolor="white" id="size"><%font_tag%><%if tpl_file%><%file_size%> bytes<%else%>&nbsp;<%endif%></font></td>
                   </tr>^M
                   <tr>^M
                     <td bgcolor="#AAAAAA"><%font_tag%>Status:</font></td>^M
Index: admin/tools.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/tools.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/tools_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/tools_help.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/tools_mysqlman.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/tools_mysqlman.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -u -r1.5 -r1.6
Index: admin/tools_sql_monitor.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/tools_sql_monitor.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -u -r1.5 -r1.6
Index: admin/users.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/users.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/users_help.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/users_help.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_admin.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_admin.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_email.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_email.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -u -r1.3 -r1.4
Index: admin/help/help_guide.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_guide_enhance.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_enhance.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/help/help_guide_libs.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_libs.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_guide_libs_top.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_libs_top.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_guide_mailarc.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_mailarc.html,v
retrieving revision 1.1
retrieving revision 1.3
diff -b -u -r1.1 -r1.3
--- admin/help/help_guide_mailarc.html  4 Jan 2002 20:08:13 -0000       1.1
+++ admin/help/help_guide_mailarc.html  4 Mar 2002 19:00:15 -0000       1.3
@@ -5,7 +5,7 @@
 <title>Gossamer Forum Help: Plug Ins</title>
 </head>

-<body>
+<body bgcolor="#FFFFFF">

 <H1><font face="Verdana, Arial, Helvetica">Gossamer Forum Help</font></H1>

@@ -57,17 +57,18 @@
   </table>
   </center>
 </div>
-    </FORM>
+    
     <p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step 2: Meta Information</b><br>
-    The next step is to edit meta information about your plugin. This
-    contains information about your plugin that will be used by Gossamer Forum when
-    users install it. You must enter at a minimum a Version Number, but should
-    fill out all the fields completely.</font></p>
+        The next step is to edit meta information about your plugin. This contains 
+        information about your plugin that will be used by Gossamer Forum when 
+        users install it. You must enter at minimum a Version Number, however, you 
+        should fill out all the fields completely.</font></p>
     <p><font face="Tahoma,Arial,Helvetica" size="2">It's very important to
     update the version number when you make changes. When users download plugins,
     they are presented with the version number, and from that can decide if they
     want to upgrade an existing installation.</font></p>
-    <p><font face="Tahoma,Arial,Helvetica" size="2">To start, we'll enter:</font></p>
+      <p><font face="Tahoma,Arial,Helvetica" size="2">To start, enter the following information and  
+        hit next. This information will now be saved with your plugin.</font></p>
     <form>
       <div align="center">
         <center>
@@ -106,7 +107,9 @@
               </tr>
               <tr>
                 <td vAlign="top" width="120"><font face="Tahoma,Arial,Helvetica" size="2">Description:</font></td>
-                <td><textarea name="description" rows="5" cols="40">This plugin will allow you to use Gossamer Forum as an archive for mailing lists.</textarea></td>
+                <td>
+                        <textarea name="description" rows="5" cols="40">Plugin to give your GForum installation the ability to act as a mailing-list archiver/browser</textarea>
+                      </td>
               </tr>
             </tbody>
           </table>
@@ -116,12 +119,12 @@
         </center>
       </div>
     </form>
-<p><font face="Tahoma,Arial,Helvetica" size="2">and hit next. This information
-will now be saved with your plugin.</font></p>
+      <p>&nbsp;</p>
     <p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step3: Hooking into Gossamer Forum</b><br>
-We don't need to hook Gossamer Forum, so we just skip this step.
-<p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step 4: Admin Menu<br>
-</b>We have an admin menu for helping. We'll enter:</font></p>
+      No hooks are required for this plugin, so this step will be skipped. 
+      <p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step 4: Admin Menu<br>
+        </b>Since there will be one menu item that will call up the help screen, 
+        add a new menu item with the following values.</font></p>
 <center>
        <table cellPadding="3" width="500" border="0">
       <tr>
@@ -145,28 +148,69 @@
          </tr>
        </table>
 </center>
-<p><font face="Tahoma,Arial,Helvetica" size="2">Hit next to continue</p>
+<p><font face="Tahoma,Arial,Helvetica" size="2">Hit next to continue</font></p><font face="Tahoma,Arial,Helvetica" size="2">
 <p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step 5: User Options</b>&nbsp;<br>
-User options are variables you can have the plugin user fill out and access in
-your plugin. We won't do any for this, but maybe for the next version we will
-add a user option for how long the cache should last.</font></p>
+        User options are variables you can have the plugin user fill out and access 
+        in your plugin. In this plugin, none are required, but in a future version, 
+        you may wish to add an option that determines the number of days before 
+        a posting is removed from your archive.</font></p>
 <p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step 6: Included Files<br>
-</b>Every plugin needs at least an Install.pm and a ModuleName.pm (in our case
-MailArc.pm). The plugin wizard will automatically generate these two files
-for you. It is quite common to need to bundle other files though, from images,
-to user cgi. From here you can upload those files that you need and the plugin
-wizard will bundle it in your plugin and create the install function for you.</font></p>
-<p><font face="Tahoma,Arial,Helvetica" size="2">We don't need any extra files
-for the MailArc, so we hit next.</font></p>
+        </b>Every plugin needs at least an Install.pm and a ModuleName.pm (in 
+        this case, MailArc.pm). The plugin wizard will automatically generate 
+        these two files for you. It is quite common to need to bundle other files 
+        though, from images, to a user cgi. From here you can upload and add files 
+        required by the plugin and the wizard will bundle it into your plugin 
+        and create the necessary install functions for you.</font></p>
+      <p><font face="Tahoma,Arial,Helvetica" size="2">The MailArc plugin does 
+        not require any support files so this step is skipped.</font></p>
 <p><font face="Tahoma,Arial,Helvetica" size="2"><b>Step 7: Install Messages<br>
 </b>The last step is too add an install and uninstall message. This should
 explain to the user what the plugin will do exactly during the install and
 uninstall: i.e. what column it will add, what files it will install,
 etc.&nbsp;</font></p>
-<p><font face="Tahoma,Arial,Helvetica" size="2">We also need to add any custom
-install and uninstall code. The Wizard takes care of hooking into Gossamer Forum, but
-we need to provide code to add post_message_id to Post table. Fill in the form with the following
-information:</font></p>
+      <p>You <font face="Tahoma,Arial,Helvetica" size="2">also need to add any 
+        custom install and uninstall code. The Wizard takes care of hooking into 
+        Gossamer Forum, but the MailArc install needs to do two custom tasks. 
+        For the install to be complete, the MailArc plugin needs to add the &quot;post_message_id&quot; 
+        column to the Post table and generate the archive.pl script  that intercepts the incoming mailing-list emails. The code to do this is simple:</font></p>
+               
+               <center>
+               <table bgcolor="#dddddd" border=0 cellpadding=3 cellspacing=0>
+               <tr><td>
+               <pre>
+               
+# add new column to Post table
+    my $editor = $DB-&gt;editor ('Post');
+    $editor-&gt;add_col (&quot;post_email_id&quot;, 
+                                        { size      =&gt; 50, 
+                                          type      =&gt; 'varchar', 
+                                          form_type =&gt; 'TEXT'}
+                    ) or Plugins::GForum::MailArc-&gt;error(&quot;Warning: $GT::SQL::error&quot;, 'WARN');
+    my $content =  &lt;&lt;'END_ARCHIVE';
+#!/usr/bin/perl
+
+    use lib '..';
+    use strict;
+    
+    main();
+
+sub main {
+#----------------------------------------------------------
+#
+    require Plugins::GForum::MailArc;
+    my $mail_arc = new Plugins::GForum::MailArc;
+    $mail_arc-&gt;process();
+}  
+END_ARCHIVE
+
+    $content =~ s,\.\.,$CFG-&gt;{admin_root_path},;
+    open (FILE,&quot;&gt; $CFG-&gt;{admin_root_path}/Plugins/GForum/archive.pl&quot;) or 
+             Plugins::GForum::MailArc-&gt;error(&quot;Cannot create archive.pl: $!&quot;,&quot;FATAL&quot;);
+    print FILE $content;    
+    close FILE;
+    chmod (0755,&quot;$CFG-&gt;{admin_root_path}/Plugins/GForum/archive.pl&quot;);
+               </pre></td></tr></table></center>
+      <p><font face="Tahoma,Arial,Helvetica" size="2">To integrate this code, add the code to the Install Code field. In the form below, it has already been done for you. So you can simply cut and paste the following data into your wizard.:</font></p>
     <form method="POST" action="--WEBBOT-SELF--">
       <!--webbot bot="SaveResults" U-File="fpweb:///_private/form_results.txt"
       S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
@@ -176,37 +220,46 @@
           <tr>
             <td vAlign="top" width="120"><font face="Tahoma,Arial,Helvetica" size="2">Install
               Message</font></td>
-            <td><font face="Tahoma,Arial,Helvetica" size="2"><textarea name="install" rows="5" wrap="on" cols="40"><table border=1 cellpadding=0 cellspacing=0><tr><td>
-<table cellpadding=3 cellspacing=3 width=500><tr><td><font face="Tahoma,Arial,Helvetica" size=2>
-Welcome to the MailArc plugin installer. This will install MailArc plugin on your GForum. 
-The plugin will enhance the capability of your Gossamer Forum and will be 
-used as an mailing-list archiver. It will store each mailing-list email like a post and allows the 
-users viewing or seaching any messages through their browser. The MailArc plugin will add 
-post_email_id column in Post table where all message-ids are stored. This message-id 
-will be used to specify which post is either a new or a replied message.</td></tr></table></td></tr></table></textarea></font></td>
+                <td><font face="Tahoma,Arial,Helvetica" size="2"> 
+                  <textarea name="install" rows="5" wrap="on" cols="40">&lt;table border=1 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td&gt;
+&lt;table cellpadding=3 cellspacing=3 width=500&gt;&lt;tr&gt;&lt;td&gt;&lt;font face=&quot;Tahoma,Arial,Helvetica&quot; size=2&gt;
+
+&lt;p&gt;Welcome to the MailArc plugin install.
+
+&lt;p&gt;This will integrate the MailArc plugin with your Gossamer Forum. This plugin will enhance the capability of your GForum allowing it to be used as a mailing-list archiver. 
+
+&lt;p&gt;With this plugin, emails exchanged in your mailing-list will be treated like posts on the forum and allow you to peruse and search their history.
+
+&lt;p&gt;The install will add the &quot;post_email_id&quot; column to the Post table. This new column will be used to determine threading of a mailing-list conversation.
+
+&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</textarea>
+                  </font></td>
           </tr>
           <tr>
             <td vAlign="top" width="120"><font face="Tahoma,Arial,Helvetica" size="2">UnInstall
               Message</font></td>
-            <td><font face="Tahoma,Arial,Helvetica" size="2"><textarea name="uninstall" rows="5" wrap="on" cols="40"><table border=1 cellpadding=0 cellspacing=0><tr><td>
-<table border=0 cellpadding=3 cellspacing=3 width=500><tr><td><font face="Tahoma,Arial,Helvetica" size=2>
+                <td><font face="Tahoma,Arial,Helvetica" size="2">
+                  <textarea name="uninstall" rows="5" wrap="on" cols="40">&lt;table border=1 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td&gt;
+&lt;table border=0 cellpadding=3 cellspacing=3 width=500&gt;&lt;tr&gt;&lt;td&gt;&lt;font face=&quot;Tahoma,Arial,Helvetica&quot; size=2&gt;
 This will remove MailArc Plugin.
-</td></tr></table></td></tr></table></textarea></font></td>
+&lt;/font&gt;</textarea>
+                  </font></td>
           </tr>
           <tr>
             <td vAlign="top" width="120"><font face="Tahoma,Arial,Helvetica" size="2">Install
               Code</font></td>
-            <td><font face="Tahoma,Arial,Helvetica" size="2"><textarea name="install_code" rows="5" wrap="off" cols="40">my ($mgr, $tar) = @_;
-    $mgr->install_menu ( 'MailArc', [ ['About', 'admin.cgi?do=plugin&plugin=MailArc&func=about'] ] );
+                <td><font face="Tahoma,Arial,Helvetica" size="2">
+                  <textarea name="install_code" rows="5" wrap="off" cols="40">my ($mgr, $tar) = @_;
+    $mgr-&gt;install_menu ( 'MailArc', [ ['About', 'admin.cgi?do=plugin&plugin=MailArc&func=about'] ] );

 # add new column to Post table
-    my $editor = $DB->editor ('Post');
-    $editor->add_col ("post_email_id", 
-                                        { size      => 50, 
-                                          type      => 'varchar', 
-                                          form_type => 'TEXT'}
-                    ) or Plugins::GForum::MailArc->error("Warning: $GT::SQL::error", 'WARN');
-    my $content =  <<'END_ARCHIVE';
+    my $editor = $DB-&gt;editor ('Post');
+    $editor-&gt;add_col (&quot;post_email_id&quot;, 
+                                        { size      =&gt; 50, 
+                                          type      =&gt; 'varchar', 
+                                          form_type =&gt; 'TEXT'}
+                    ) or Plugins::GForum::MailArc-&gt;error(&quot;Warning: $GT::SQL::error&quot;, 'WARN');
+    my $content =  &lt;&lt;'END_ARCHIVE';
 #!/usr/bin/perl

     use lib '..';
@@ -219,36 +272,38 @@
 #
     require Plugins::GForum::MailArc;
     my $mail_arc = new Plugins::GForum::MailArc;
-    $mail_arc->process();
+    $mail_arc-&gt;process();
 }
 END_ARCHIVE

-    $content =~ s,\.\.,$CFG->{admin_root_path},;
-    open (FILE,"> $CFG->{admin_root_path}/Plugins/GForum/archive.pl") or Plugins::GForum::MailArc->error("Cannot create archive.pl: $!","FATAL");
+    $content =~ s,\.\.,$CFG-&gt;{admin_root_path},;
+    open (FILE,&quot;&gt; $CFG-&gt;{admin_root_path}/Plugins/GForum/archive.pl&quot;) or 
+              Plugins::GForum::MailArc-&gt;error(&quot;Cannot create archive.pl: $!&quot;,&quot;FATAL&quot;);
     print FILE $content;
     close FILE;
-    chmod (0755,"$CFG->{admin_root_path}/Plugins/GForum/archive.pl");
+    chmod (0755,&quot;$CFG-&gt;{admin_root_path}/Plugins/GForum/archive.pl&quot;);

-    return "The MailArc plugin has been successfully installed!";
-                       </textarea></font></td>
+    return &quot;The MailArc plugin has been successfully installed!&quot;;</textarea>
+                  </font></td>
           </tr>
           <tr>
             <td vAlign="top" width="120"><font face="Tahoma,Arial,Helvetica" size="2">Uninstall
-              Message</font></td>
-            <td><font face="Tahoma,Arial,Helvetica" size="2"><textarea name="uninstall_code" rows="5" wrap="off" cols="40">my $mgr = shift;
-    unlink ("$CFG->{admin_root_path}/Plugins/GForum/archive.pl");
-    $mgr->uninstall_menu ( 'MailArc', [ ['About', 'admin.cgi?do=plugin&plugin=MailArc&func=about'] ] );
+                  code</font></td>
+                <td><font face="Tahoma,Arial,Helvetica" size="2">
+                  <textarea name="uninstall_code" rows="5" wrap="off" cols="40">my $mgr = shift;
+    unlink (&quot;$CFG-&gt;{admin_root_path}/Plugins/GForum/archive.pl&quot;);
+    $mgr-&gt;uninstall_menu ( 'MailArc', [ ['About', 'admin.cgi?do=plugin&plugin=MailArc&func=about'] ] );

 # Drop post_email_id coulmn
-    my $editor = $DB->editor ('Post');                                                                   
-    $editor->drop_col ("post_email_id") or Plugins::GForum::MailArc->error("Unable to drop column post_email_id ($GT::SQL::error)", 'WARN');                                                                  
-    return "The MailArc plugin has been successfully removed!";
-                       </textarea></font></td>
+    my $editor = $DB-&gt;editor ('Post');                                                                   
+    $editor-&gt;drop_col (&quot;post_email_id&quot;) or Plugins::GForum::MailArc-&gt;error(&quot;Unable to drop column post_email_id ($GT::SQL::error)&quot;, 'WARN');                                                                  
+    return &quot;The MailArc plugin has been successfully removed!&quot;;
+                       </textarea>
+                  </font></td>
           </tr>
         </table>
-        </center>
-      </div>
-      <p><font face="Tahoma,Arial,Helvetica" size="2">You are now all done! Hit
+          </center></div></form></font></font></td></tr></table>
+<p><font face="Tahoma,Arial,Helvetica" size="2">You are now all done! Hit
       Next and the plugin wizard will create the plugin template for you. It has
       automatically generated an Install.pm file and a MailArc.pm file for
       you. The Install file should be pretty much complete, so all you have left
@@ -288,7 +343,7 @@
                     </tr>
                     <tr>
                       <td vAlign="top"><font face="Tahoma,Arial,Helvetica" size="2">Description:</font></td>
-                      <td><font face="Tahoma,Arial,Helvetica" size="2">This plugin will allow you to use Gossamer Forum as an archive for mailing lists.</font></td>
+                      <td><font face="Tahoma,Arial,Helvetica" size="2">Plugin to give your GForum installation the ability to act as a mailing-list archiver/browser</font></td>
                     </tr>
                     <tr>
                       <td>&nbsp;</td>
@@ -319,8 +374,8 @@
       </div>
       <p><font face="Tahoma,Arial,Helvetica" size="2">Now we need to add our
       code for the Mail Archive . Click on Edit for MailArc.pm and enter:</font></p>
-      <p align="center"><textarea rows="8" name="code" wrap="off" cols="50">
-# ==================================================================
+      <p align="center">
+  <textarea rows="8" name="code" wrap="off" cols="50"># ==================================================================
 # Plugins::GForum::MailArc - use GT as an archive for mailing list
 #
 #   Plugins::GForum::MailArc
@@ -347,10 +402,10 @@
     $VERSION = '1.0';
     $DEBUG   = 0;
     $ERRORS  = {
-                'BADFORUMID'   => "Please send forum id, your command shoud be: perl archive.pl --forum=xx",
-                'BADINPUT'     => "The data content is empty",
-                'BADUSERNAME'  => "Can not parse the user name.",
-                'WARNING'      => "Error: %s",
+                'BADFORUMID'   =&gt; &quot;Forum id missing. Use perl archive.pl --forum=xx&quot;,
+                'BADINPUT'     =&gt; &quot;No data to parse&quot;,
+                'BADUSERNAME'  =&gt; &quot;Could not parse the user name.&quot;,
+                'WARNING'      =&gt; &quot;Error: %s&quot;,
                 };
     @ISA = qw/GT::Base/;

@@ -358,32 +413,32 @@
 #----------------------------------------------------------
     my ($self) = @_;

-    GetOptions('forum=s' => \$self->{input}->{forum_id}); # get forum ID 
-    ($self->{input}->{forum_id}) or return $self->error("BADFORUMID","WARN");
+    GetOptions('forum=s' =&gt; \$self-&gt;{input}-&gt;{forum_id}); # get forum ID 
+    ($self-&gt;{input}-&gt;{forum_id}) or return $self-&gt;error(&quot;BADFORUMID&quot;,&quot;FATAL&quot;);
     my $mail;
     {
         local $/;
-        $mail = <STDIN>;
+        $mail = &lt;STDIN&gt;;
     }
     $mail =~ s/\r?\n/\n/g;
-    $mail or return $self->error("BADINPUT","WARN");
+    $mail or return $self-&gt;error(&quot;BADINPUT&quot;,&quot;WARN&quot;);

     my $parser = new GT::Mail::Parse (
-        debug     => $CFG->{debug_level},
-        in_string => $mail,
-        crlf      => "\n"
-    ) or return $self->error("WARNING","WARN",$GT::Mail::error);
-
-    $self->{input}->{head}     = $parser->parse or return $self->error("BADINPUT","WARN");   
-    $self->{input}->{parts}    = $parser->parts;
-    $self->{user}->{user_name} = parse_email($self->{input}->{head}->get('From'));
-    ($self->{user}->{user_name}) or return $self->error("BADUSERNAME","WARN");
+        debug     =&gt; $CFG-&gt;{debug_level},
+        in_string =&gt; $mail,
+        crlf      =&gt; &quot;\n&quot;
+    ) or return $self-&gt;error(&quot;WARNING&quot;,&quot;WARN&quot;,$GT::Mail::error);
+
+    $self-&gt;{input}-&gt;{head}     = $parser-&gt;parse or return $self-&gt;error(&quot;BADINPUT&quot;,&quot;WARN&quot;);   
+    $self-&gt;{input}-&gt;{parts}    = $parser-&gt;parts;
+    $self-&gt;{user}-&gt;{user_name} = parse_email($self-&gt;{input}-&gt;{head}-&gt;get('From'));
+    ($self-&gt;{user}-&gt;{user_name}) or return $self-&gt;error(&quot;BADUSERNAME&quot;,&quot;WARN&quot;);

 # Create new disabled user
-    $self->create_disabled_user();
+    $self-&gt;create_disabled_user();

 #add message
-    $self->insert_message();
+    $self-&gt;insert_message();
 }

 sub create_disabled_user {
@@ -391,20 +446,21 @@
 # create new disabled user
 #
     my $self = shift;
-    my $table = $DB->table('User');
-    my $rs = $table->select({user_username => $self->{user}->{user_name}})->fetchrow_hashref;
-    if ($rs->{user_username}) {
-        $self->{user}->{user_id} = $rs->{user_id};
+    my $table = $DB-&gt;table('User');
+    my $rs = $table-&gt;select({user_username =&gt; $self-&gt;{user}-&gt;{user_name}})-&gt;fetchrow_hashref;
+    if ($rs-&gt;{user_username}) {
+        $self-&gt;{user}-&gt;{user_id} = $rs-&gt;{user_id};
     }
     else {
-        my $cols = $table->{schema}->{cols};
+        my $cols = $table-&gt;{schema}-&gt;{cols};
         my $fields;
-        $fields->{user_username}    = $self->{user}->{user_name};
-        $fields->{user_email}       = $self->{user}->{user_name};
-        $fields->{user_disp_email}  = $self->{user}->{user_name};
-        $fields->{user_enabled}     = 0;
-        my $sth = $table->insert($fields) or return $self->error("WARNING","FATAL",$GT::SQL::error);
-        $self->{user}->{user_id} = $sth->insert_id;
+        $fields-&gt;{user_username}    = $self-&gt;{user}-&gt;{user_name};
+        $fields-&gt;{user_email}       = $self-&gt;{user}-&gt;{user_name};
+        $fields-&gt;{user_disp_email}  = $self-&gt;{user}-&gt;{user_name};
+        $fields-&gt;{user_enabled}     = 0;
+        local $CFG-&gt;{username_max_length} = 50;
+        my $sth = $table-&gt;insert($fields) or return $self-&gt;error(&quot;WARNING&quot;,&quot;FATAL&quot;,$GT::SQL::error);
+        $self-&gt;{user}-&gt;{user_id} = $sth-&gt;insert_id;
     }
 }

@@ -415,64 +471,74 @@
     my $self = shift;
     my $post_time;

-    my $head = $self->{input}->{head};
-    my $date = $head->get('Date');
+    my $head = $self-&gt;{input}-&gt;{head};
+    my $date = $head-&gt;get('Date');
     ($date) and $post_time = parse_date($date);

-    my $table  = $DB->table('Post');
+    my $table  = $DB-&gt;table('Post');
     my $fields;
-    my $body   = $self->get_body();
-
-    my $msgid = $head->get('message-id');
-    $msgid =~ s,[< >],,g;
+    my $body   = $self-&gt;get_body();

-    $fields->{post_username} = $self->{user}->{user_name};
-    $fields->{user_id_fk}    = $self->{user}->{user_id};
-    $fields->{forum_id_fk}   = $self->{input}->{forum_id};
-    $fields->{post_root_id}  = 0;
-    $fields->{post_father_id}= 0;
-    $fields->{post_depth}    = 0;
-    $fields->{post_time}     = $post_time || time;
-    $fields->{post_subject}  = $head->get('Subject');
-    $fields->{post_style}    = ($head->effective_type eq 'text/plain') ? 0 : 2;
-    $fields->{post_message}  = $body->{body};
-    $fields->{post_email_id} = $msgid;
-    $fields->{post_ip}       = ($head->get('received'))? $self->get_ip() : '0.0.0.0';        
-    
-    my ($refid,$msg_list);
-    $msg_list = $head->get('references') || $head->get('in-reply-to');
-    ($msg_list) and $refid = parse_ref($msg_list);
+    my $msgid = $head-&gt;get('message-id');
+    $msgid =~ s,[&lt; &gt;],,g;

+    $fields-&gt;{post_username} = $self-&gt;{user}-&gt;{user_name};
+    $fields-&gt;{user_id_fk}    = $self-&gt;{user}-&gt;{user_id};
+    $fields-&gt;{forum_id_fk}   = $self-&gt;{input}-&gt;{forum_id};
+    $fields-&gt;{post_root_id}  = 0;
+    $fields-&gt;{post_father_id}= 0;
+    $fields-&gt;{post_depth}    = 0;
+    $fields-&gt;{post_time}     = $post_time || time;
+    $fields-&gt;{post_subject}  = $head-&gt;get('Subject');
+    $fields-&gt;{post_style}    = ($head-&gt;effective_type eq 'text/plain') ? 0 : 2;
+    $fields-&gt;{post_message}  = $body-&gt;{body};
+    $fields-&gt;{post_email_id} = $msgid;
+    $fields-&gt;{post_ip}       = ($head-&gt;get('received'))? $self-&gt;get_ip() : '0.0.0.0';        
+    
+    my ($found, $refid);
+    my $table = $DB-&gt;table('Post');
+    my @reply_to = map { /&lt;([^&gt; ]+)&gt;/ ? $1 : () } split(' ' =&gt; join(' ' =&gt; $head-&gt;get('References'), $head-&gt;get('In-Reply-To') ));
+    if (@reply_to) { $refid = pop @reply_to; }
     if ($refid) { #this is a reply to an existing message
-        my $parent = $DB->table('Post')->select({ post_email_id => $refid })->fetchrow_hashref;
+        my $parent = $table-&gt;select(['post_id', 'post_root_id', 'post_depth'], { post_email_id =&gt; $refid, forum_id_fk =&gt; $self-&gt;{input}-&gt;{forum_id} })-&gt;fetchrow_hashref;
         if ($parent) {
-            $fields->{post_root_id}   = $parent->{post_root_id} || $parent->{post_id};
-            $fields->{post_father_id} = $parent->{post_id};
-            $fields->{post_depth}     = $parent->{post_depth} + 1;
+            $fields-&gt;{post_root_id}   = $parent-&gt;{post_root_id} || $parent-&gt;{post_id};
+            $fields-&gt;{post_father_id} = $parent-&gt;{post_id};
+            $fields-&gt;{post_depth}     = $parent-&gt;{post_depth} + 1;
+            $found = 1;
         }
     }
+    if (!$found and $fields-&gt;{post_subject} =~ /^(?:re\S*|aw\S*)\s(.+)/i) {
+        my $parent = $table-&gt;select (['post_id', 'post_root_id', 'post_depth', 'post_subject'], { post_subject =&gt; $1, forum_id_fk =&gt; $self-&gt;{input}-&gt;{forum_id} })-&gt;fetchrow_hashref;
+        if ($parent) {
+            $fields-&gt;{post_root_id}   = $parent-&gt;{post_root_id} || $parent-&gt;{post_id};
+            $fields-&gt;{post_father_id} = $parent-&gt;{post_id};
+            $fields-&gt;{post_depth}     = $parent-&gt;{post_depth} + 1;
+        }
+    }
+    my $sth   = $table-&gt;insert($fields) or return $self-&gt;error(&quot;WARNING&quot;,&quot;FATAL&quot;,$GT::SQL::error);    
+    my $post_id = $sth-&gt;insert_id;

-    my $table = $DB->table('Post');
-    my $sth   = $table->insert($fields) or return $self->error("WARNING","FATAL",$GT::SQL::error);    
-    my $post_id = $sth->insert_id;
+# update the user posts count
+    $DB-&gt;table('User')-&gt;update({ user_posts =&gt; \'user_posts + 1' }, { user_id =&gt; $self-&gt;{user}-&gt;{user_id} }) or return $self-&gt;error(&quot;WARNING&quot;,&quot;FATAL&quot;,$GT::SQL::error);

 # add the attachments
     require GT::TempFile;
     my $name = new GT::TempFile;
     my $path = $$name.'tmp';
-    my $attachments = $body->{attachments}; 
-    if ($#$attachments >=0) {
-        mkdir ($path,0777) or return $self->error("WARNING","FATAL",$!);
+    my $attachments = $body-&gt;{attachments}; 
+    if ($#$attachments &gt;=0) {
+        mkdir ($path,0777) or return $self-&gt;error(&quot;WARNING&quot;,&quot;FATAL&quot;,$!);
         foreach (@$attachments) {
-            if ($_->{name}) {
-                open (FILE, "> $path/$_->{name}") or return $self->error("WARNING","FATAL",$!);;
-                print FILE $_->{content};
+            if ($_-&gt;{name}) {
+                open (FILE, &quot;&gt; $path/$_-&gt;{name}&quot;) or return $self-&gt;error(&quot;WARNING&quot;,&quot;FATAL&quot;,$!);;
+                print FILE $_-&gt;{content};
                 close FILE;
-                $table->attach($post_id, "$path/$_->{name}");
-                unlink "$path/$_->{name}";
+                $table-&gt;attach($post_id, &quot;$path/$_-&gt;{name}&quot;);
+                unlink &quot;$path/$_-&gt;{name}&quot;;
             }
         }
-        rmdir ($path) or return $self->error("WARNING","FATAL",$!);;
+        rmdir ($path) or return $self-&gt;error(&quot;WARNING&quot;,&quot;FATAL&quot;,$!);;
     }
 }

@@ -480,7 +546,7 @@
 # -------------------------------------------------------------------
 # get IP address
     my $self = shift;
-    my $received = $self->{input}->{head}->{header_lines}->{received};
+    my $received = $self-&gt;{input}-&gt;{head}-&gt;{header_lines}-&gt;{received};
     if (ref $received eq 'ARRAY'){
         my $line = pop @{$received};
         $line =~ m/([^\(]*?\d)\)/;
@@ -497,102 +563,152 @@
 #
     my $self = shift;

-    my $head  = $self->{input}->{head};
-    my $parts = $self->{input}->{parts};
+    my $head  = $self-&gt;{input}-&gt;{head};
+    my $parts = $self-&gt;{input}-&gt;{parts};

-    my $type = uc($head->mime_attr('content-type'));
+    my $type = lc($head-&gt;mime_attr('content-type'));
+    $type  ||= 'text/plain';
     my ($body, @attachments);

-    if ($type eq 'TEXT/PLAIN' or $type eq 'TEXT/HTML') {
-        $body = $head->body_as_string;
+    if ($type eq 'text/plain' or $type eq 'text/html') {
+        $body = $head-&gt;body_as_string;
     }
     else {
         for (@$parts) {
-            my $attach = $_->mime_attr('content-disposition') and uc($_->mime_attr('content-disposition')) eq 'ATTACHMENT';
+            my $attach = $_-&gt;mime_attr('content-disposition') and uc($_-&gt;mime_attr('content-disposition')) eq 'ATTACHMENT';
             if ($attach) {
-                my $in = $_->body_in;
+                my $in = $_-&gt;body_in;
                 my $body;
                 if ($in eq 'MEMORY') {
-                    $body = $_->body_data;
+                    $body = $_-&gt;body_data;
                 }
                 elsif ($in eq 'HANDLE') {
-                    $body = $_->body_handle;
+                    $body = $_-&gt;body_handle;
                 }
                 elsif ($in eq 'FILE') {
-                    $body = $_->body_path;
+                    $body = $_-&gt;body_path;
                 }
-                ($body) and push @attachments, { name => $_->mime_attr('content-disposition.filename'), content => $body };
+                ($body) and push @attachments, { name =&gt; $_-&gt;mime_attr('content-disposition.filename'), content =&gt; $body };
             }
-            elsif (uc($_->mime_attr('content-type')) eq 'TEXT/PLAIN') {
-                $body = $_->body_as_string;
+            elsif (uc($_-&gt;mime_attr('content-type')) eq 'TEXT/PLAIN') {
+                $body = $_-&gt;body_as_string;
             }
-            elsif (uc($_->mime_attr('content-type')) ne 'TEXT/HTML') {
+            elsif (uc($_-&gt;mime_attr('content-type')) ne 'TEXT/HTML') {
             #    push @attachments, $_;
             }
         }
         if ( !$body ) {
             for (@$parts) {
-                next if $_->mime_attr('content-disposition') and uc($_->mime_attr('content-disposition')) eq 'ATTACHMENT';
-                if ( uc($_->mime_attr('content-type')) eq 'TEXT/HTML') {
-                    $body = $_->body_as_string;
+                next if $_-&gt;mime_attr('content-disposition') and uc($_-&gt;mime_attr('content-disposition')) eq 'ATTACHMENT';
+                if ( uc($_-&gt;mime_attr('content-type')) eq 'TEXT/HTML') {
+                    $body = $_-&gt;body_as_string;
                     last;
                 }
              }
          }
          $body ||= '';
     }
-    return { body => $body, attachments => \@attachments};
+    return { body =&gt; $body, attachments =&gt; \@attachments};
 }

 sub about {
 # -------------------------------------------------------------------
 # Called from the admin, displays a simple help screen.
 #
-    print $IN->header;
-    print qq~
-<html>
-    <head><title>MailArc Plugin</title>
-    </head>
-    <body bgcolor="#FFFFFF">    
-    <table border="1" cellpadding="0" cellspacing="0"><tr><td>
-      <table bgColor="#ffffff" border="0" cellPadding="3" cellSpacing="3" width="600" valign="top">
-        <tr>
-          <td align="left" bgColor="navy"><b><font color="#ffffff" size="2" face="Tahoma,Arial,Helvetica">MailArc Plugin</font></b></td>
-        </tr>
-        <tr>
-          <td>
-               <p align="center"><b><font color="#000000" size="2" face="Tahoma,Arial,Helvetica">MailArc Plugin</font></b></p>
-               <p><font size="2" face="Tahoma,Arial,Helvetica">
-                This plugin will allow you to use Gossamer Forum as an archive for mailing list.<BR><BR></p>             
-                <b>+ Install MailArc plugin:</b>
-                 <ul>
-                 - Goto Admin - Plugins - Plugin Manager<BR>
-                 - Hit 'Install' link of MailArc row, It will install the MailArc plugin in your forum system. <BR>
-                 If you want to know how to create MailArc plugin then take a look at <a href="admin.cgi?do=help;topic=help_guide_mailarc.html" target="plugin_guide">MailArc plugin guide</a></ul>
-                <b>+ Use MailArc plugin:</b> The command which is used to run MailArc plugin<BR><BR>
-                <b>$CFG->{admin_root_url}/Plugins/GForum/MailArc/archive.pl --forum=n</b><BR> (n - is the forum ID)                
-          </td>
-        </tr>
-      </table>
-      </td></tr>
-    </table>
-    </body>
-    ~;    
-    print qq~
-    </body>
-</html>
-    ~;
-}
+    print $IN-&gt;header;
+    print &lt;&lt;END_OF_HTML;
+&lt;html&gt;
+    &lt;head&gt;&lt;title&gt;MailArc Plugin&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body bgcolor=&quot;#FFFFFF&quot;&gt;    
+    &lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tr&gt;&lt;td&gt;
+
+
+      &lt;table bgColor=&quot;#ffffff&quot; border=&quot;0&quot; cellPadding=&quot;3&quot; cellSpacing=&quot;3&quot; width=&quot;600&quot; valign=&quot;top&quot;&gt;
+        &lt;tr&gt;
+          &lt;td align=&quot;left&quot; bgColor=&quot;navy&quot;&gt;&lt;b&gt;&lt;font color=&quot;#ffffff&quot; size=&quot;2&quot; face=&quot;Tahoma,Arial,Helvetica&quot;&gt;MailArc Plugin&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
+        &lt;/tr&gt;
+        
+  &lt;tr&gt; 
+    &lt;td&gt; 
+      &lt;p align=&quot;center&quot;&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Tahoma,Arial,Helvetica&quot;&gt;MailArc 
+        Plugin&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
+      &lt;p&gt; &lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;This plugin will allow 
+        you to use Gossamer Forum as an archive for mailing list.&lt;BR&gt;
+        &lt;/font&gt;&lt;/p&gt;
+      &lt;p&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;&lt;b&gt;+ Mail gateway configuration:&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
+      &lt;blockquote&gt;
+        &lt;p&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;The following instructions 
+          are for the configuration of a system using Unix/Linux and sendmail.&lt;/font&gt;&lt;/p&gt;
+      &lt;/blockquote&gt;
+      &lt;ul&gt;
+        &lt;li&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;We will create a new 
+          email address that will become a non-participating member of your mailing-list 
+          and will collect emails for your GForum mailing-list archiver.&lt;br&gt;
+          &lt;br&gt;
+          First, create a new forum for the mailing-list using the &lt;a href=&quot;db.cgi?db=Forum;do=add_form&quot;&gt;add 
+          forum&lt;/a&gt; command. Get the ID number from the &quot;successfully added&quot; 
+          screen. If you already have a forum, &lt;a href=&quot;admin/admin.cgi?do=page;page=forums_list.html&quot;&gt;list 
+          all&lt;/a&gt; the forums and you can get the ID number looking at the details 
+          of the forum your want to use.&lt;br&gt;
+          &lt;br&gt;
+          We must then edit the sendmail aliases file. Often, it is located at 
+          &quot;/etc/aliases&quot;. We will take advantage of the facility to 
+          associate a program with any arbitrary email address. For example. If 
+          we want to create a special listener on the &lt;a href=&quot;http://www.ucalgary.ca/%7Edkbrown/strytell.html&quot; target=&quot;_blank&quot;&gt;Storytel&lt;/a&gt; 
+          mailing list with the email address storytel_arc\@somehost.com (where 
+          somehost.com is your server's domain name) we can enter the following 
+          line into your aliases file. You will probably have to be root to make 
+          this change.&lt;br&gt;
+          &lt;br&gt;
+          &lt;font color=&quot;blue&quot;&gt;storytel_arc: &quot;|$CFG-&gt;{admin_root_path}/Plugins/GForum/archive.pl 
+          --forum=n&quot; &lt;/font&gt;&lt;br&gt;
+          &lt;i&gt;(n - is the forum ID)&lt;/i&gt;&lt;/font&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;&lt;br&gt;
+          &lt;br&gt;
+          Up to the &quot;:&quot; is the the username for the new email address. 
+          The rest of the configuration string tells sendmail to invoke the script 
+          &quot;archive.pl&quot; every time an email comes in for that user.&lt;br&gt;
+          &lt;br&gt;
+          To make sure that your mail server is able to use this change, you must 
+          convert the &quot;aliases&quot; configuration file into a format that 
+          sendmail can understand. To do so, run the command &quot;sendmail -bi&quot; 
+          as root or as the mail system administrator. &lt;br&gt;
+          &lt;br&gt;
+          &lt;font color=blue&gt;[root\@penguin GForum]# sendmail -bi&lt;br&gt;
+          /etc/aliases: 20 aliases, longest 70 bytes, 307 bytes total&lt;br&gt;
+          Jan 17 09:50:49 192 sendmail[9398]: alias database /etc/aliases rebuilt 
+          by root &lt;/font&gt;&lt;br&gt;
+          &lt;br&gt;
+          Don't forget sign up this new email address to your mailing-list.&lt;br&gt;
+          &lt;/font&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;If 
+          you do not have the level of control to make changes to the &quot;aliases&quot; 
+          file or, are under a different system, the &quot;archive.pl&quot; script 
+          runs as a mail pipe accepting emails from STDIN and places emails 
+          into the forum indicated by the --forum=id value. Contact your system administrator 
+          to find out the best option.&lt;br&gt;
+          &lt;/font&gt;&lt;br&gt;
+          &lt;/font&gt; &lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt; &lt;/font&gt;&lt;/li&gt;
+      &lt;/ul&gt;
+      &lt;p&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt;&lt;b&gt;+ MailArc Developers 
+        Guide :&lt;/b&gt; &lt;/font&gt; &lt;/p&gt;
+      &lt;ul&gt;
+          &lt;p&gt;&lt;font face=&quot;Tahoma, Arial, Helvetica&quot; size=&quot;2&quot;&gt; 
+          
+          This MailArc plugin is one of a suite of examples that come with guides 
+          describing its construction to developers. These guides are intended for 
+          developers wishing to get more detailed information on Gossamer Forum plugin 
+          construction. Go to the &lt;a href=&quot;admin.cgi?do=help;topic=help_guide_mailarc.html&quot; target=&quot;plugin_guide&quot;&gt;MailArc Plugin developers' guide&lt;/a&gt;.
+        &lt;/font&gt;&lt;/p&gt;
+      &lt;/ul&gt;
+      &lt;/td&gt;
+        &lt;/tr&gt;
+      &lt;/table&gt;
+
+    &lt;/body&gt;
+&lt;/html&gt;
+END_OF_HTML

-sub parse_ref {
-#---------------------------------------------------------------------
-# return reference message id
-#
-    my $value = shift;
-    my $ref = [split /\s/, $value];
-    my $refid = @$ref[$#$ref];
-    $refid =~ s,[< >],,g;
-    return $refid;
 }

 sub parse_email {
@@ -601,18 +717,18 @@
     my $value = shift;

     my $result;
-    if ($value =~ /"?([^<"]+)"?\s*<([^>]+)>/) {
+    if ($value =~ /&quot;?([^&lt;&quot;]+)&quot;?\s*&lt;([^&gt;]+)&gt;/) {
         $result = $2;
     }
-    elsif ($value =~ /<([^>]+)>/) {
+    elsif ($value =~ /&lt;([^&gt;]+)&gt;/) {
         $result = $1;
     }
     else {
         $result = $value || '';
         $result =~ s/\([^)]+\)//g;
     }
+    $result =~ s/\s//g;

-    chop $result;
     chomp $result;
     return $result;
 }
@@ -624,11 +740,11 @@
 # Formats expected:
 #    Sat, 28 Jul 2001 08:44:00 -0700
 #    Sat, 28 Jul 2001 08:44:00 EST
-#    Sat, 28 Jul 2001 08:44:00 "EST"
+#    Sat, 28 Jul 2001 08:44:00 &quot;EST&quot;
 #    Sat, 21 Jul 01 19:07:20
 #    28 Jul 2001 14:57:07 -0000
 #    28 Jul 2001 14:57:07 GMT
-#    28 Jul 2001 14:57:07 "GMT"
+#    28 Jul 2001 14:57:07 &quot;GMT&quot;
 #    20 May 01 6:33:30 PM
 #
 # Only the first date is an RFC date, but it appears lots of clients don't
@@ -637,28 +753,29 @@
     my $date = shift;
     $date || return;
     my $format;
-    $date =~ s/\s\s/\s/g;
+    $date =~ s/\s\s/ /g;
+
     CASE: for ($date) {
         /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d (?:[+-]\d+|\w+)/    and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss% %o%'; last CASE };
-        /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d "(?:[+-]\d+|\w+)"/  and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss% "%o%"'; last CASE };
+        /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d &quot;(?:[+-]\d+|\w+)&quot;/  and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss% &quot;%o%&quot;'; last CASE };
         /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d/                    and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss%'; last CASE };
         /\w+, \d\d? \w+ \d{2} \d?\d:\d?\d:\d\d/                    and do { $format = '%ddd%, %dd% %mmm% %yy% %HH%:%MM%:%ss%'; last CASE };

         /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d (?:[+-]\d+|\w+)/   and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss% %o%'; last CASE };
-        /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d "(?:[+-]\d+|\w+)"/ and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss% "%o%"'; last CASE };
+        /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d &quot;(?:[+-]\d+|\w+)&quot;/ and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss% &quot;%o%&quot;'; last CASE };
         /\w+, \d\d? \w+ \d{4} \d?\d:\d?\d:\d\d/                   and do { $format = '%ddd%, %dd% %mmm% %yyyy% %HH%:%MM%:%ss%'; last CASE };
         /\w+, \d\d? \w+ \d{2} \d?\d:\d?\d:\d\d/                   and do { $format = '%ddd%, %dd% %mmm% %yy% %HH%:%MM%:%ss%'; last CASE };

         /\d\d? \w+ \d{4} \d?\d:\d?\d:\d\d (?:[+-]\d+|\w+)/         and do { $format = '%dd% %mmm% %yyyy% %HH%:%MM%:%ss% %o%'; last CASE };
-        /\d\d? \w+ \d{4} \d?\d:\d?\d:\d\d "(?:[+-]\d+|\w+)"/       and do { $format = '%dd% %mmm% %yyyy% %HH%:%MM%:%ss% "%o%"'; last CASE };
+        /\d\d? \w+ \d{4} \d?\d:\d?\d:\d\d &quot;(?:[+-]\d+|\w+)&quot;/       and do { $format = '%dd% %mmm% %yyyy% %HH%:%MM%:%ss% &quot;%o%&quot;'; last CASE };
         /\d\d? \w+ \d{2} \d?\d:\d?\d:\d\d [AaPpMm]{2}/             and do { $format = '%dd% %mmm% %yy% %hh%:%MM%:%ss% %tt%'; last CASE };
     }
     $format or return;
     my $parts    = [split /\s/, $date];
     my $str_date = fill_zero($parts);
     my $time     = [split /:/, @$parts[4]];
-    my $str_time = fill_zero($time,":");
-    $str_date =~ s/@$parts[4]/$str_time/;
+    my $str_time = fill_zero($time,&quot;:&quot;);
+    $str_date =~ s/\Q@$parts[4]\E/$str_time/;
     return timelocal(parse_format($str_date, $format));
 }

@@ -669,7 +786,7 @@
     my $result;
     (ref $value eq 'ARRAY') or return $value;
     foreach (@$value) {
-        (/\d\d?/ and length($_) == 1) and $_ = "0$_";
+        (/\d\d?/ and length($_) == 1) and $_ = &quot;0$_&quot;;
         $result .= $_.$delim;
     }
     chop $result;
@@ -677,8 +794,10 @@
 }

 1;
-</textarea></p>
-    </form>
+
+</textarea>
+<p></p>
+    
     <p><font face="Tahoma,Arial,Helvetica" size="2">Simply cut and paste the
     above code into the edit box, and hit update. To make sure everything is
     correct, you can click on Perl Check to run a syntax check on it. Try it and
@@ -729,11 +848,7 @@
     </b>Now, we are all done! Click on Plugin Manager and it should be listed as
 a plugin waiting to be installed. Click on Install and you should now be able to
 try it out!</font></p>
-    </td>
-  </tr>
-</table>
-
-<TABLE width=100%>
+    <TABLE width=100%>
 <TR>
 <TD align="right" valign="top">
 <B><a href="admin.cgi?do=help&topic=help_toc.html"><font face="Verdana, Arial, Helvetica" size="2">Table
@@ -745,3 +860,5 @@

 </body>

+
+</html>
\ No newline at end of file
Index: admin/help/help_guide_modperl.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_modperl.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_guide_plugins.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_plugins.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_guide_sample.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_guide_sample.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
--- admin/help/help_guide_sample.html   28 Dec 2001 00:48:38 -0000      1.1
+++ admin/help/help_guide_sample.html   14 Jan 2002 18:34:24 -0000      1.2
@@ -203,7 +203,7 @@
     use lib '..';
     use strict;
     use GForum qw/$DB $CFG/;
-    GForum::reset_env();
+    GForum::init('..');

     main();

Index: admin/help/help_home.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_home.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_markup.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_markup.html,v
retrieving revision 1.1
retrieving revision 1.4
diff -b -u -r1.1 -r1.4
--- admin/help/help_markup.html 11 Oct 2001 22:28:01 -0000      1.1
+++ admin/help/help_markup.html 14 Mar 2002 22:20:21 -0000      1.4
@@ -36,6 +36,9 @@
       When you view your markup tags, they will be sorted by markup type,^M
       grouping all &quot;icon&quot; tags together, for example.</font></p>^M
     </blockquote>^M
+
+
+
     <ul>^M
       <li><b><u><font size="2" face="Tahoma, Arial, Helvetica">Modify</font></u></b></li>^M
     </ul>^M
@@ -63,6 +66,92 @@
       &quot;List&quot; displays a detailed list of all of your database's markup^M
       tags.</font></p>^M
     </blockquote>^M
+
+<p><u><font size="4" face="Tahoma,Arial,Helvetica">Advanced Markup Tags</font></u></p>
+    
+    <blockquote>
+      <p><font size="2" face="Tahoma, Arial, Helvetica">
+Note: creating tags using arguments can be difficult, and it is recommended that it only be tried
+by users who feel comfortable with advanced software configuration.<br><br>
+
+New markup tags that contain a pair of brackets at the end of their title, such as [test()] can be
+used to display preset text followed by text entered by users.  As an example, create a tag called
+[test()].  In the tag's HTML field, enter:<br><br>
+
+<pre>This is test number %1%</pre><br>
+
+When a user uses the [test()] tag, they designate an argument which will appear in place of %1%,
+prefaced by "This is test number".  So, if a user entered the following in the body of a post:<br><br>
+
+<pre>[test 12]</pre><br>
+
+The following would be displayed in the forum:<br><br>
+
+<pre>This is test number 12</pre><br>
+
+Multiple arguments can be implemented through the use of this tag.  If the [test()] tag contained
+the following HTML:<br><br>
+
+<pre>This is test number %1% Today is %2%</pre><br>
+
+%1% would be replaced by the first argument in the tag, while %2% would be replaced  by the second
+argument in the tag.  For example, if a user entered the following in the body of a post:<br><br>
+
+<pre>[test 17 Monday]</pre><br>
+
+The following would be displayed in the forum:<br><br>
+
+<pre>This is test number 17 Today is Monday</pre><br>
+
+Quotes can be used to separate arguments that contain spaces or carriage returns.  Using the same
+HTML for the [test()] tag above, entering the following in the body of a post:<br><br>
+
+<pre>[test 17 "February 13, 2002"]</pre><br>
+
+Would display the following in the forum:<br><br>
+
+<pre>This is test number 17 Today is February 13, 2002</pre><br>
+
+Entering:<br><br>
+
+<pre>[test 17 "<br>
+February 13, 2002"]</pre><br>
+
+Would display:<br><br>
+
+<pre>This is test number 17 Today is<br>
+February 13, 2002</pre><br>
+
+If you are including an argument which is to be used as a cgi script parameter, you will need to
+specify %c1% in order to properly CGI-escape the argument for use in a URL.  Doing this will ensure
+that<br><br>
+
+<pre>[url "http://site/cgi-bin/test.cgi?asdf=sdfg&amp;xcvb=6"]</pre><br>
+
+becomes:<br><br>
+
+<pre>http%3A%2F%2Fsite%2Fcgi-bin%2Fgforum.cgi%3Fasdf%3Dsdfg%26xcvb%3D6</pre><br>
+
+This can be used as an argument in a CGI script. For example, you could make the value of the tag:
+
+<pre>&lt;a href="/cgi-bin/somescript.cgi?url=%c1%&amp;var=1"&gt;</pre>
+
+Using <code>[tagname "http://abc/cgi-bin/asdf.cgi?1=2&amp;3=4"]</code> will result in:
+
+<pre>&lt;a href="/cgi-bin/somescript.cgi?url=http%3A%2F%2Fabc%2Fcgi-bin%2Fasdf.cgi%3F1%3D2%263%3D4&amp;var=1"&lt;</pre>
+
+This way, the URL will be properly passed as a parameter to the CGI script.<br><br>
+
+If you used %1% instead of %c1%, you would end up with:
+
+<pre>&lt;a href="/cgi-bin/somescript.cgi?url=http://abc/cgi-bin/asdf.cgi/1=2&amp;3=4&amp;var=1"&lt;</pre>
+
+Using this method, "somescript.cgi" would receive the wrong variables. %c1% is not, in most cases, required.
+
+</font></p>
+    </blockquote>
+
+
     <p><u><font size="4" face="Tahoma,Arial,Helvetica">Markup Text</font></u></p>^M
     <ul>^M
       <li><b><u><font face="Tahoma, Arial, Helvetica" size="2">Add</font></u></b></li>^M
Index: admin/help/help_plugins.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_plugins.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_posts.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_posts.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_setup.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_setup.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/help/help_support.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_support.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/help/help_templates.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_templates.html,v
retrieving revision 1.5
retrieving revision 1.7
diff -b -u -r1.5 -r1.7
--- admin/help/help_templates.html      10 Jan 2002 09:02:19 -0000      1.5
+++ admin/help/help_templates.html      14 Mar 2002 22:20:21 -0000      1.7
@@ -27,9 +27,7 @@
       Gossamer Forum's templates.</font></p>
       <p><font face="Tahoma, Arial, Helvetica" size="2">Select a template set
       from the "Currently working on template set" drop-down menu and click the
-      "Change" button. If you wish to alter the default template set that is
-      displayed when people visit your forum, you can select that from Setup
-      -&gt; Default Options.</font></p>
+      "Change" button.</font></p>
       <p><font face="Tahoma, Arial, Helvetica" size="2">Select a specific
       template from the "Available templates" drop-down
       menu. Click "Load" to see the template displayed in the main
@@ -47,7 +45,7 @@
 <p><u><font face="Tahoma, Arial, Helvetica" size="4">Email Templates</font></u></p>
     <blockquote>
       <p><font face="Tahoma, Arial, Helvetica" size="2">Clicking "Email Templates" brings up a menu allowing you to edit the templates from that will be used to build emails automatically sent to your forum's users.</font></p>
-      <p><font face="Tahoma, Arial, Helvetica" size="2">Select the template set you wish to modify from the first drop-down menu and click "Change".  Next, select the specific template you wish to modify from the drop-down menu (see below for descriptions of these templates) and click "Load".<span style="mso-spacerun: yes">&nbsp;
+      <p><font face="Tahoma, Arial, Helvetica" size="2">Select the template set you wish to modify from the first drop-down menu and click "Change".  Next, select the specific template you wish to modify from the drop-down menu and click "Load".<span style="mso-spacerun: yes">&nbsp;
       </span>The email template will be displayed in the "To", "Subject", "From" and "E-mail body" fields.  Clicking the "Show Extra Headers" button opens a field allowing extra headers to be added to the template or modified.  Make changes to the text and tags included in the desired fields.  You can save the template under a different name by entering one in the "Save template as:" field and clicking the "Save" button, or resize the template's textarea by entering values in the row and column fields and clicking the "Change" button.</font></p></blockquote>


@@ -88,14 +86,8 @@
       your databases' globals. Globals are HTML tags that can be used in
       all templates.</font></p>
       <p><font face="Tahoma, Arial, Helvetica" size="2">Select
-      a template set from the first drop-down menu. If you want changes to your
-      globals to be visible when you rebuild
-      your directory, you should modify the template set selected in the
-      "default_template_set" option in the "Default Options" section
-      of the "Setup" menu. Make changes to the global in the
-      "Description" field, and click the "Save Changes" button.</font></p>
-      <p><font size="2" face="Tahoma, Arial, Helvetica">To
-      create a new global, enter it's name in the Code field. </font><span style="mso-fareast-font-family: Times New Roman; mso-ansi-language: EN-CA; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><font face="Tahoma, Arial, Helvetica">Enter
+      a template set from the first drop-down menu. Make changes to the global in the
+      "Description" field, and click the "Save Changes" button. Enter
       the new global's content in the Description field at the bottom of the
       page (globals can be written in HTML or regular text), and click the
       "Save Changes" button.</font></p>
Index: admin/help/help_templates_guide.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_templates_guide.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_templates_syntax.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_templates_syntax.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_templates_tags.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_templates_tags.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
Index: admin/help/help_toc.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_toc.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
Index: admin/help/help_tools.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/admin/help/help_tools.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -u -r1.2 -r1.3
--- admin/help/help_tools.html  19 Oct 2001 23:31:01 -0000      1.2
+++ admin/help/help_tools.html  2 Mar 2002 02:32:13 -0000       1.3
@@ -19,6 +19,13 @@
 </table>
 <table width=100% cellpadding=20>
 <tr><td>
+
+<p><font size="4" face="Tahoma,Arial,Helvetica"><u>Forum Stats</u></font></p>
+    <blockquote>
+      <p><font face="Tahoma, Arial, Helvetica" size="2">Clicking the "Stats" link will display a detailed list of statistics relating to your forum directory: number of users, most recent posts, most popular threads, etc.</font></p>
+      <p><font face="Tahoma, Arial, Helvetica" size="2">Clicking "Source" will display the HTML used to create the Statistics page.</span></font></p>
+    </blockquote>
+
     <p><font size="4" face="Tahoma,Arial,Helvetica"><u>Table Editor</u></font></p>
     <blockquote>
       <p><font face="Tahoma, Arial, Helvetica" size="2">Selecting
Index: common/editor_editor.html
===================================================================
RCS file: /usr/local/gossamer/gforum/cgi/admin/templates/common/editor_editor.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -u -r1.1 -r1.2
--- common/editor_editor.html   11 Jan 2002 23:18:19 -0000      1.1
+++ common/editor_editor.html   14 Mar 2002 23:07:32 -0000      1.2
@@ -16,6 +16,7 @@
 body {
     background-color      : <%advanced_editor_background%>;
     font-family           : "<%advanced_editor_font%>";
+    font-size             : "x-small"; <%-- font sizes 1-7: xx-small,x-small,small,medium,large,x-large,xx-large --%>
 }
 </style>
 <%include include_css.html%>