changeset 610:af32f7ed5d3d

Added list FAQ feature (Henne Vogelsang)
author mortenp
date Thu, 07 Dec 2006 08:53:30 +1100
parents 56785a0b38b6
children fec8a327ead7
files ChangeLog listtexts/Makefile.am listtexts/cz/listfaq listtexts/da/listfaq listtexts/de/listfaq listtexts/es/listfaq listtexts/fr/listfaq listtexts/it/listfaq listtexts/listfaq src/listcontrol.c src/prepstdreply.c
diffstat 11 files changed, 50 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Dec 07 08:29:27 2006 +1100
+++ b/ChangeLog	Thu Dec 07 08:53:30 2006 +1100
@@ -1,3 +1,4 @@
+ o Added list FAQ feature (Henne Vogelsang)
  o Added support for default list text directory (Henne Vogelsang)
  o Fixed a Bourne Shell issue in mlmmj-make-ml.sh (Magnus Naeslund)
  o Fixed hostnamestr() for hosts that can't find themselves using
--- a/listtexts/Makefile.am	Thu Dec 07 08:29:27 2006 +1100
+++ b/listtexts/Makefile.am	Thu Dec 07 08:53:30 2006 +1100
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-dist_textlib_DATA = access bounce-probe listhelp moderation notifysub \
+dist_textlib_DATA = access bounce-probe listhelp listfaq moderation notifysub \
 	notifysub-digest notifysub-nomail notifyunsub notifyunsub-digest \
 	notifyunsub-nomail notintocc sub-confirm sub-confirm-digest \
 	sub-confirm-nomail sub-ok sub-ok-digest sub-ok-nomail subonlypost \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/cz/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/da/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/de/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/es/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/fr/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/it/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/listtexts/listfaq	Thu Dec 07 08:53:30 2006 +1100
@@ -0,0 +1,4 @@
+Subject: FAQ - Frequently asked questions of the $listaddr$ list.
+
+Sorry no FAQ available yet.
+
--- a/src/listcontrol.c	Thu Dec 07 08:29:27 2006 +1100
+++ b/src/listcontrol.c	Thu Dec 07 08:53:30 2006 +1100
@@ -63,6 +63,7 @@
 	CTRL_BOUNCES,
 	CTRL_MODERATE,
 	CTRL_HELP,
+	CTRL_FAQ,
 	CTRL_GET,
 	CTRL_LIST,
 	CTRL_END  /* end marker, must be last */
@@ -92,6 +93,7 @@
 	{ "bounces",            1 },
 	{ "moderate",           1 },
 	{ "help",               0 },
+	{ "faq",                0 },
 	{ "get",                1 },
 	{ "list",               0 }
 };
@@ -628,6 +630,21 @@
 		send_help(listdir, fromemails->emaillist[0], mlmmjsend, "help", "listhelp");
 		break;
 
+       /* listname+faq@domain.tld */
+        case CTRL_FAQ:
+               if(!strchr(fromemails->emaillist[0], '@')) {
+                       /* Not a valid From: address */
+                       errno = 0;
+                       log_error(LOG_ARGS, "A faq request was"
+                               " sent with an invalid From: header."
+                               " Ignoring mail");
+                       return -1;
+               }
+               log_oper(listdir, OPLOGFNAME, "%s requested faq",
+                               fromemails->emaillist[0]);
+               send_help(listdir, fromemails->emaillist[0], mlmmjsend, "faq", "listfaq");
+               break;
+
 	/* listname+get-INDEX@domain.tld */
 	case CTRL_GET:
 		noget = statctrl(listdir, "noget");
--- a/src/prepstdreply.c	Thu Dec 07 08:29:27 2006 +1100
+++ b/src/prepstdreply.c	Thu Dec 07 08:53:30 2006 +1100
@@ -102,6 +102,9 @@
 	} else if(strcmp(token, "helpaddr") == 0) {
 		value = concatstr(4, listname, listdelim, "help@", fqdn);
 		goto concatandreturn;
+	} else if(strcmp(token, "faqaddr") == 0) {
+		value = concatstr(4, listname, listdelim, "faq@", fqdn);
+		goto concatandreturn;
 	} else if(strcmp(token, "listgetN") == 0) {
 		value = concatstr(4, listname, listdelim, "get-N@", fqdn);
 		goto concatandreturn;