]> code.citadel.org Git - citadel.git/blobdiff - webcit/listsub.c
* GET instead of POST for listsub. Also add a 'Back...' link.
[citadel.git] / webcit / listsub.c
index 3f927a5b178e11df9a64f38587c6c1b4f6ecf021..b94279530e5f568124e75decbd4f6b5282a4fbc3 100644 (file)
@@ -59,9 +59,10 @@ void do_listsub(void)
         * Subscribe command
         */
        if (!strcasecmp(cmd, "subscribe")) {
-               serv_printf("SUBS subscribe|%s|%s|digest|%s/listsub",
+               serv_printf("SUBS subscribe|%s|%s|%s|%s/listsub",
                        room,
                        email,
+                       subtype,
                        WC->http_host
                );
                serv_gets(buf);
@@ -80,7 +81,8 @@ void do_listsub(void)
                                "without your consent.<BR><BR>"
                                "Please click on the link which is being "
                                "e-mailed to you and your subscription will "
-                               "be confirmed.<BR></CENTER>\n"
+                               "be confirmed.<BR>\n"
+                               "<A HREF=\"/listsub\">Back...</A></CENTER>\n"
                        );
                }
                else {
@@ -116,7 +118,8 @@ void do_listsub(void)
                                "lists without your consent.<BR><BR>"
                                "Please click on the link which is being "
                                "e-mailed to you and your unsubscription will "
-                               "be confirmed.<BR></CENTER>\n"
+                               "be confirmed.<BR>\n"
+                               "<A HREF=\"/listsub\">Back...</A></CENTER>\n"
                        );
                }
                else {
@@ -140,7 +143,17 @@ void do_listsub(void)
                        wprintf("<CENTER><H1>Confirmation successful!</H1>");
                }
                else {
-                       wprintf("<CENTER><H1>Confirmation failed.</H1>");
+                       wprintf("<CENTER><H1>Confirmation failed.</H1>"
+                               "This could mean one of two things:<UL>\n"
+                               "<LI>You waited too long to confirm your "
+                               "subscribe/unsubscribe request (the "
+                               "confirmation link is only valid for three "
+                               "days)\n<LI>You have <i>already</i> "
+                               "successfully confirmed your "
+                               "subscribe/unsubscribe request and are "
+                               "attempting to do it again.</UL>\n"
+                               "The error returned by the server was: "
+                       );
                }
                wprintf("%s</CENTER><BR>\n", &buf[4]);
        }
@@ -149,7 +162,7 @@ void do_listsub(void)
         * Any other (invalid) command causes the form to be displayed
         */
        else {
-FORM:          wprintf("<FORM METHOD=\"POST\" ACTION=\"/listsub\">\n"
+FORM:          wprintf("<FORM METHOD=\"GET\" ACTION=\"/listsub\">\n"
                        "<TABLE BORDER=0>\n"
                );
 
@@ -182,6 +195,12 @@ FORM:              wprintf("<FORM METHOD=\"POST\" ACTION=\"/listsub\">\n"
                wprintf("\" MAXLENGTH=128></TD></TR>\n");
 
                wprintf("</TABLE>"
+                       "(If subscribing) preferred format: "
+                       "<INPUT TYPE=\"radio\" NAME=\"subtype\""
+                       "VALUE=\"list\">One message at a time&nbsp; "
+                       "<INPUT TYPE=\"radio\" NAME=\"subtype\""
+                       "VALUE=\"digest\" CHECKED>Digest format&nbsp; "
+                       "<BR>\n"
                        "<INPUT TYPE=\"submit\" NAME=\"cmd\""
                        " VALUE=\"subscribe\">\n"
                        "<INPUT TYPE=\"submit\" NAME=\"cmd\""