* Fleshed out the list subscription page a bit
authorArt Cancro <ajc@citadel.org>
Thu, 15 Aug 2002 03:49:47 +0000 (03:49 +0000)
committerArt Cancro <ajc@citadel.org>
Thu, 15 Aug 2002 03:49:47 +0000 (03:49 +0000)
webcit/ChangeLog
webcit/listsub.c

index bca847901649b006f062ae85cf2ff5cac2561bcf..b779ed599714cb82d2ae49937cd3acfec2e8bf6a 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 323.57  2002/08/15 03:49:47  ajc
+* Fleshed out the list subscription page a bit
+
 Revision 323.56  2002/08/13 19:55:12  ajc
 * Keep track of the HTTP "Host:" header being sent by the browser.
   (We're going to need this in the near future)
@@ -894,3 +897,4 @@ Sun Dec  6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
+
index 2ff32b762024827ea3b50a753c4dd661d65ba072..f26625ddbfaaf3c382478e7dc5c898f776a0522b 100644 (file)
@@ -32,6 +32,8 @@ void do_listsub(void)
        char email[SIZ];
        char subtype[SIZ];
 
+       char buf[SIZ];
+
        strcpy(WC->wc_username, "");
        strcpy(WC->wc_password, "");
        strcpy(WC->wc_roomname, "");
@@ -44,36 +46,85 @@ void do_listsub(void)
        strcpy(email, bstr("email"));
        strcpy(subtype, bstr("subtype"));
 
+       wprintf("<CENTER>"
+               "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=000077><TR><TD>"
+               "<FONT SIZE=+1 COLOR=\"FFFFFF\""
+               "<B>List subscribe/unsubscribe</B>\n"
+               "</TD></TR></TABLE><BR>\n"
+       );
+
        /*
         * Subscribe command
         */
-       if (!strcasecmp(cmd, "xx")) {
+       if (!strcasecmp(cmd, "subscribe")) {
+               serv_printf("SUBS subscribe|%s|%s|digest|%s/listsub",
+                       room,
+                       email,
+                       WC->http_host
+               );
+               serv_gets(buf);
+               if (buf[0] == '2') {
+                       wprintf("<CENTER><H1>Confirmation request sent</H1>"
+                               "You are subscribing <TT>");
+                       escputs(email);
+                       wprintf("</TT> to the &quot;");
+                       escputs(room);
+                       wprintf("&quot; mailing list.  The listserver has "
+                               "sent you an e-mail with one additional "
+                               "Web link for you to click on to confirm "
+                               "your subscription.  This extra step is for "
+                               "your protection, as it prevents others from "
+                               "being able to subscribe you to lists.<BR><BR>"
+                               "Please click on the link which is being "
+                               "e-mailed to you and your subscription will "
+                               "be confirmed.<BR></CENTER>\n"
+                       );
+               }
+               else {
+                       wprintf("<FONT SIZE=+1>ERROR: </FONT>%s<BR><BR>\n",
+                               &buf[4]);
+                       goto FORM;
+               }
        }
        
        /*
         * Any other (invalid) command causes the form to be displayed
         */
        else {
-               wprintf("<CENTER>"
-                       "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=770000><TR><TD>"
-                       "<FONT SIZE=+1 COLOR=\"FFFFFF\""
-                       "<B>List subscribe/unsubscribe</B>\n"
-                       "</TD></TR></TABLE><BR>\n"
+FORM:          wprintf("<FORM METHOD=\"POST\" ACTION=\"/listsub\">\n"
+                       "<TABLE BORDER=0>\n"
                );
 
-               wprintf("<TABLE BORDER=0>\n"
-                       "<FORM METHOD=\"POST\" ACTION=\"/listsub\">\n"
+               wprintf("<TR><TD>Name of list</TD><TD>"
+                       "<INPUT TYPE=\"text\" NAME=\"room\" "
+                       "VALUE=\""
                );
+               escputs(room);
+               wprintf("\" MAXLENGTH=128></TD></TR>\n");
 
-               wprintf("<TR><TD>Name of list</TD>"
-                       "<TD>xx</TD></TR>\n"
+               wprintf("<TR><TD>Your e-mail address</TD><TD>"
+                       "<INPUT TYPE=\"text\" NAME=\"email\" "
+                       "VALUE=\""
                );
+               escputs(email);
+               wprintf("\" MAXLENGTH=128></TD></TR>\n");
 
                wprintf("</TABLE>"
-                       "<INPUT TYPE=\"submit\" NAME=\"sc\""
-                       " VALUE=\"Submit\">\n"
-                       "</CENTER></FORM>\n"
+                       "<INPUT TYPE=\"submit\" NAME=\"cmd\""
+                       " VALUE=\"subscribe\">\n"
+                       "<INPUT TYPE=\"submit\" NAME=\"cmd\""
+                       " VALUE=\"unsubscribe\">\n"
+                       "</FORM>\n"
                );
+
+               wprintf("<BR>When you attempt to subscribe or unsubscribe to "
+                       "a mailing list, you will receive an e-mail containing"
+                       " one additional web link to click on for final "
+                       "confirmation.  This extra step is for your "
+                       "protection, as it prevents others from being able to "
+                       "subscribe or unsubscribe you to lists.<BR>\n"
+               );
+
        }
 
        /*