X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserv_listsub.c;h=179014548c9388d26a0a2ac4dd3852505192965c;hb=007bbcbb07600e1d40cc90df3ddf788f8312b7d9;hp=4ee52e886afe3d390f32faa8c1c8dde58ffe9b05;hpb=179eb2be9a0322403c50f4a66ed73e5d317ca189;p=citadel.git diff --git a/citadel/serv_listsub.c b/citadel/serv_listsub.c index 4ee52e886..179014548 100644 --- a/citadel/serv_listsub.c +++ b/citadel/serv_listsub.c @@ -162,14 +162,18 @@ void do_subscribe(char *room, char *email, char *subtype, char *webpage) { "" "Someone (probably you) has submitted a request to subscribe\n" "<%s> to the %s mailing list.

\n" + "Please click here to confirm this request:
\n" "" - "Please click here to confirm this request.

\n" + "http://%s?room=%s&token=%s&cmd=confirm

\n" "If this request has been submitted in error and you do not\n" "wish to receive the '%s' mailing list, simply do nothing,\n" "and you will not receive any further mailings.\n" "\n", - email, qrbuf.QRname, webpage, urlroom, token, qrbuf.QRname + email, qrbuf.QRname, + webpage, urlroom, token, + webpage, urlroom, token, + qrbuf.QRname ); quickie_message( /* This delivers the message */ @@ -177,7 +181,8 @@ void do_subscribe(char *room, char *email, char *subtype, char *webpage) { email, NULL, confirmation_request, - FMT_RFC822 + FMT_RFC822, + "Please confirm your list subscription" ); cprintf("%d Subscription entered; confirmation request sent\n", CIT_OK); @@ -270,15 +275,19 @@ void do_unsubscribe(char *room, char *email, char *webpage) { "Someone (probably you) has submitted a request " "to unsubscribe\n" "<%s> from the %s mailing list.

\n" + "Please click here to confirm this request:
\n" "" - "Please click here to confirm this request.

\n" + "http://%s?room=%s&token=%s&cmd=confirm

\n" "If this request has been submitted in error and you do\n" "not wish to unsubscribe from the " "'%s' mailing list, simply do nothing,\n" "and you will remain subscribed to the list.\n" "\n", - email, qrbuf.QRname, webpage, urlroom, token, qrbuf.QRname + email, qrbuf.QRname, + webpage, urlroom, token, + webpage, urlroom, token, + qrbuf.QRname ); quickie_message( /* This delivers the message */ @@ -286,7 +295,8 @@ void do_unsubscribe(char *room, char *email, char *webpage) { email, NULL, confirmation_request, - FMT_RFC822 + FMT_RFC822, + "Please confirm your unsubscribe request" ); cprintf("%d Unubscription noted; confirmation request sent\n", CIT_OK); @@ -314,8 +324,13 @@ void do_confirm(char *room, char *token) { char *holdbuf = NULL; int linelen = 0; int buflen = 0; + char success_message[SIZ]; + char success_message_to[SIZ]; + char address_of_list[SIZ]; + int i; strcpy(address_to_unsubscribe, ""); + strcpy(success_message_to, ""); if (getroom(&qrbuf, room) != 0) { cprintf("%d There is no list called '%s'\n", @@ -330,6 +345,30 @@ void do_confirm(char *room, char *token) { return; } + /* + * We'll just have this success message ready if we need it + */ + sprintf(address_of_list, "room_%s@%s", qrbuf.QRname, config.c_fqdn); + for (i=0; i" + "You have successfully subscribed to the %s\n" + "mailing list.

To post to the list, simply send " + "an e-mail to %s" + "\n", + qrbuf.QRname, + address_of_list + ); + + /* + * Now start scanning this room's netconfig file for the + * specified token. + */ assoc_file_name(filename, sizeof filename, &qrbuf, "netconfigs"); begin_critical_section(S_NETCONFIGS); ncfp = fopen(filename, "r+"); @@ -362,6 +401,7 @@ void do_confirm(char *room, char *token) { fseek(ncfp, line_offset, SEEK_SET); fprintf(ncfp, "%s\n", buf); ++success; + strcpy(success_message_to, email); } } if (!strcasecmp(cmd, "unsubpending")) { @@ -431,6 +471,18 @@ void do_confirm(char *room, char *token) { phree(holdbuf); } + /* Let 'em know it succeeded, and how to post to the list. */ + if (strlen(success_message_to) > 0) { + quickie_message( + "Citadel", + success_message_to, + NULL, + success_message, + FMT_RFC822, + "Your subscription is complete" + ); + } + /* * Did we do anything useful today? */