From e06da8137d69462a96b73ed6225cd9ba12ac0208 Mon Sep 17 00:00:00 2001 From: ckubu <> Date: Wed, 5 Jan 2011 01:21:43 +0000 Subject: [PATCH] - If Environment variable EZMLM_WEB_RC ist set (e.g. at webservers vhost configuration), the applicatiom loads ezmlmwebrc from that setting. That allows multiple Webinterfaces on the same host with different settings. - Subscribition of different adresses at once via textarea input (Closes #70) TODO: change concerning labels for language other than german or english - Fix setting of chaerset variable (Close #69 ?) - Fix en-/decoding (if system charset differs from charset of list) - Handling of all text files will be done from the list directory, even if the defaults are used.That makes the list robust against changing server default settings or moving list from one to another server. - conf-lang file will always be written, even if language is the default one. So users can see their language setting from the Options screen. - Print available listdomains in alphabetical order. - trailer is no longer editable from the Overview screen. Changing trailer can be done - like other textfiles - from the text screen. - Add configuration variable DEBUG. If enabled, application prints Error/Warning messages instead of "Internal Server Error" page. --- examples/ezmlmwebrc.dist | 6 ++ ezmlm-web.cgi | 116 +++++++++++++++++++++------- intl/cs/LC_MESSAGES/ezmlm-web.po | 4 +- intl/da/LC_MESSAGES/ezmlm-web.po | 4 +- intl/de/LC_MESSAGES/ezmlm-web.po | 8 +- intl/en/LC_MESSAGES/ezmlm-web.po | 5 +- intl/es/LC_MESSAGES/ezmlm-web.po | 7 +- intl/ezmlm-web.pot | 2 +- intl/fi/LC_MESSAGES/ezmlm-web.po | 4 +- intl/fr/LC_MESSAGES/ezmlm-web.po | 9 ++- intl/hu/LC_MESSAGES/ezmlm-web.po | 4 +- intl/it/LC_MESSAGES/ezmlm-web.po | 4 +- intl/ja/LC_MESSAGES/ezmlm-web.po | 4 +- intl/nl/LC_MESSAGES/ezmlm-web.po | 16 ++-- intl/pl/LC_MESSAGES/ezmlm-web.po | 4 +- intl/pt/LC_MESSAGES/ezmlm-web.po | 4 +- intl/pt_BR/LC_MESSAGES/ezmlm-web.po | 5 +- intl/ru/LC_MESSAGES/ezmlm-web.po | 5 +- intl/sl/LC_MESSAGES/ezmlm-web.po | 7 +- intl/sv/LC_MESSAGES/ezmlm-web.po | 4 +- lang/en.hdf | 2 +- suid-wrapper/index.h | 2 +- template/config_options/trailer.cs | 4 +- template/subscribers.cs | 2 +- 24 files changed, 153 insertions(+), 79 deletions(-) diff --git a/examples/ezmlmwebrc.dist b/examples/ezmlmwebrc.dist index d4753a7..cf49fdc 100644 --- a/examples/ezmlmwebrc.dist +++ b/examples/ezmlmwebrc.dist @@ -131,4 +131,10 @@ $HTML_LANGUAGE = "en"; # (".gnupg") is usable. #$GPG_KEYRING_DEFAULT_LOCATION = ".gnupg"; +# Prints Error/Warning messages instead of "Internal Server Error" page. +# It's recommend to disable (set to 0) in production mode. +# 0 = disabled +# 1 = enabled +# defaults to 0 +#$DEBUG = 0; diff --git a/ezmlm-web.cgi b/ezmlm-web.cgi index 5d5e6bc..bedb1f4 100755 --- a/ezmlm-web.cgi +++ b/ezmlm-web.cgi @@ -101,6 +101,7 @@ use vars qw[$TEMPLATE_DIR $LANGUAGE_DIR $HTML_LANGUAGE]; use vars qw[$HTML_CSS_COMMON $HTML_CSS_COLOR]; use vars qw[$MAIL_ADDRESS_PREFIX @HTML_LINKS]; use vars qw[@INTERFACE_OPTIONS_BLACKLIST]; +use vars qw[$DEBUG]; # default interface template (basic/normal/expert) use vars qw[$DEFAULT_INTERFACE_TYPE]; # some settings for encrypted mailing lists @@ -118,6 +119,8 @@ my $config_file; if (defined($opt_C)) { $opt_C =~ /^([-\w.\/]+)$/; # security check by ooyama $config_file = $1; # Command Line +} elsif (defined($ENV{EZMLM_WEB_RC}) && $ENV{EZMLM_WEB_RC} =~ /^(\/[^\`]+)$/) { + $config_file = $1; } elsif (-e "$HOME_DIR/.ezmlmwebrc") { $config_file = "$HOME_DIR/.ezmlmwebrc"; # User } elsif (-e "/etc/ezmlm-web/ezmlmwebrc") { @@ -290,6 +293,14 @@ unless (defined($MAIL_ADDRESS_PREFIX)) { } } +# check DEBUG - enable debug messages if set > 0 +$DEBUG = 0 unless defined($DEBUG); +if ( $DEBUG > 0 ) { + eval "use warnings"; + eval "use CGI::Carp qw(fatalsToBrowser warningsToBrowser)"; + eval "use CGI qw(:standard)"; +} + # get the current login name advertised to the webserver (if it is defined) $LOGIN_NAME = lc($ENV{'REMOTE_USER'}); # Remove leading and trailing whitespace (they are ignored by http-auth). @@ -881,7 +892,7 @@ sub set_pagedata_domains { $DOMAINS{$CURRENT_DOMAIN}{name}); } - foreach $domain_name (keys %DOMAINS) { + foreach $domain_name (sort keys %DOMAINS) { if (&webauth_visible_domain($domain_name)) { $pagedata->setValue("Data.Domains.$domain_name", $DOMAINS{$domain_name}{'name'}); @@ -1163,8 +1174,25 @@ sub set_pagedata_misc_configfiles { $item = '' unless defined($item); $pagedata->setValue("Data.List.MimeReject", "$item"); $item = $list->get_text_content('trailer'); - $item = '' unless defined($item); - $pagedata->setValue("Data.List.TrailingText", "$item"); + my $content_webencoded = ''; + if ( defined($item) ) { + my( @_charset, $charset); + @_charset = split(':',$list->get_charset()); + if ( $_charset[0] eq '' ) { + $charset = 'us-ascii'; + warn "Charset not set. Using default \"us-ascii\" "; + } else { + $charset = $_charset[0]; + } + # first decode from web (usually utf8), then encode to charset of the list + eval { $content_webencoded = Encode::encode("utf8", Encode::decode($charset, $item)); }; + if ($@) { + $content_webencoded = $item; + # no warning, if the encoding support is not available + warn "Conversion failed for charset '$charset'" if ($ENCODE_SUPPORT); + } + } + $pagedata->setValue("Data.List.TrailingText", "$content_webencoded"); # read message size limits $item = $list->getpart('msgsize'); @@ -1219,14 +1247,19 @@ sub set_pagedata_textfiles { # text file specified? if (defined($q->param('file')) && ($q->param('file') ne '') && ($q->param('file') =~ m/^[\w-]*$/)) { - my ($content); + my ($content, $charset, @_charset); $content = $list->get_text_content($q->param('file')); # get character set of current list (ignore ":Q" prefix) - my ($charset) = split(':',$list->get_charset()); - # use default for ezmlm-idx<5.0 - $charset = 'us-ascii' if ($charset eq ''); + @_charset = split(':',$list->get_charset()); + if ( $_charset[0] eq '' ) { + # use default for ezmlm-idx<5.0 + $charset = 'us-ascii'; + warn "Charset not set. Using default \"us-ascii\" "; + } else { + $charset = $_charset[0]; + } my $content_utf8; - eval { $content_utf8 = Encode::decode($charset, $content); }; + eval { $content_utf8 = Encode::encode ("utf8", Encode::decode($charset, $content)); }; # use $content if conversion failed somehow if ($@) { $content_utf8 = $content; @@ -1734,20 +1767,40 @@ sub add_address { # User typed in an address if ($q->param('mailaddress_add') ne '') { - $address = $q->param('mailaddress_add'); - $address .= $MAIL_DOMAIN if ($q->param('mailaddress_add') =~ /\@$/); + my ($_address_string, @_addresses); - # untaint - if ($address =~ m/(\w[\w\.\!\#\$\%\&\'\`\*\+\-\/\=\?\^\{\|\}\~]*)@(\w[\-\w_\.]+)/) { - push @addresses, "$address"; - } else { - warn "invalid address to add: $address to $part"; - $warning = 'AddAddress'; - return (1==0); - } + $_address_string = $q->param('mailaddress_add'); + # line breaks + $_address_string =~ s/[\r]?\n/#/g; + # delimeter + $_address_string =~ s/[,;]/#/g; + # email comments at the beginning + $_address_string =~ s/^[^@]+\s+//; + # email coments + $_address_string =~ s/[#\s][^@]+[#\s]/#/g; + # " --> local@domain" + $_address_string =~ s/[\s#]+<([^\s^<^#]+@[^\s^>^#]+)>/#$1/g; + # white spaces + $_address_string =~ s/\s+/#/g; + # multiple delimeter + $_address_string =~ s/#+/#/g; + # don't start with delimeter + $_address_string =~ s/^#+//g; + + @_addresses = split(/#/ , $_address_string); + + foreach $address (@_addresses) { + $address .= $MAIL_DOMAIN if ($address =~ /\@$/); + if ($address =~ m/(\w[\w\.\!\#\$\%\&\'\`\*\+\-\/\=\?\^\{\|\}\~]*)@(\w[\-\w_\.]+)/) { + push @addresses, "$address"; + } else { + warn "invalid address to add: $address to $part"; + $warning = 'AddAddress'; + } + } } - + my %pretty; my $add; tie %pretty, "DB_File", $list->thislist() . "/webnames" if ($PRETTY_NAMES); @@ -1901,8 +1954,7 @@ sub create_list { return undef; } - if (defined($q->param('list_language')) - && ($q->param('list_language') ne 'default')) { + if (defined($q->param('list_language'))) { if (&check_list_language($list, $q->param('list_language'))) { $list->set_lang($q->param('list_language')); } else { @@ -2368,14 +2420,16 @@ sub update_config_common { } # update trailing text - if (defined($q->param('trailing_text'))) { + #if (defined($q->param('trailing_text'))) { if (defined($q->param('option_t'))) { # TODO: the trailer _must_ be followed by a newline - $list->set_text_content('trailer', $q->param('trailing_text')); + #$list->set_text_content('trailer', $q->param('trailing_text')); + $list->set_text_content('trailer', $list->get_text_default_content('trailer')) + unless (-e "$list->{'LIST_NAME'}/text/trailer"); } else { # ezmlm-make automatically removes this file } - } + #} # update prefix text if (defined($q->param('prefix'))) { @@ -2656,16 +2710,22 @@ sub save_text { # Save new text in DIR/text ... my $list = shift; - my ($content, $charset); + my ($content, $charset, @_charset); $content = $q->param('content'); - $charset = split(':',$list->get_charset()); - $charset = 'us-ascii' if ($charset eq ''); + @_charset = split(':',$list->get_charset()); + if ( $_charset[0] eq '' ) { + $charset = 'us-ascii'; + warn "Charset not set. Using default \"us-ascii\" "; + } else { + $charset = $_charset[0]; + } # untaint 'content' unconditionally (treating the whole string as a single line) $content =~ m/^(.*)$/s; $content = $1; my $content_encoded; - eval { $content_encoded = Encode::encode($charset, $content); }; + # first decode from web ( utf8), then encode to charset of the list + eval { $content_encoded = Encode::encode($charset, Encode::decode("utf8", $content)); }; if ($@) { $content_encoded = $content; # no warning, if the encoding support is not available diff --git a/intl/cs/LC_MESSAGES/ezmlm-web.po b/intl/cs/LC_MESSAGES/ezmlm-web.po index 93343ef..32ae804 100644 --- a/intl/cs/LC_MESSAGES/ezmlm-web.po +++ b/intl/cs/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:09+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -880,7 +880,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/da/LC_MESSAGES/ezmlm-web.po b/intl/da/LC_MESSAGES/ezmlm-web.po index 93343ef..32ae804 100644 --- a/intl/da/LC_MESSAGES/ezmlm-web.po +++ b/intl/da/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:09+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -880,7 +880,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/de/LC_MESSAGES/ezmlm-web.po b/intl/de/LC_MESSAGES/ezmlm-web.po index 219867d..10b4c0d 100644 --- a/intl/de/LC_MESSAGES/ezmlm-web.po +++ b/intl/de/LC_MESSAGES/ezmlm-web.po @@ -2,16 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:09+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2009-03-24 00:31+0200\n" "Last-Translator: Lars Kruse \n" "Language-Team: LANGUAGE \n" -"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Pootle 1.2.0-rc1\n" +"Language: de\n" #: Lang.Menue.ListCreate msgid "Create new list" @@ -925,8 +925,8 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "Es befinden sich keine Dateien im Text-Verzeichnis der Mailingliste." #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" -msgstr "Füge eine neue Mailadresse hinzu:" +msgid "Add new mail address(es):" +msgstr "Füge neue Mailadresse(n) hinzu:" #: Lang.Misc.AddSubscriberFile msgid "Upload a text file containing mail addresses to be added:" diff --git a/intl/en/LC_MESSAGES/ezmlm-web.po b/intl/en/LC_MESSAGES/ezmlm-web.po index bff5668..d593448 100644 --- a/intl/en/LC_MESSAGES/ezmlm-web.po +++ b/intl/en/LC_MESSAGES/ezmlm-web.po @@ -884,8 +884,9 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "There are no files in the text directory of the mailinglist." #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" -msgstr "Add a new mail address:" +#, fuzzy +msgid "Add new mail address(es):" +msgstr "Add new mail address(es):" #: Lang.Misc.AddSubscriberFile msgid "Upload a text file containing mail addresses to be added:" diff --git a/intl/es/LC_MESSAGES/ezmlm-web.po b/intl/es/LC_MESSAGES/ezmlm-web.po index 0265193..0a63160 100644 --- a/intl/es/LC_MESSAGES/ezmlm-web.po +++ b/intl/es/LC_MESSAGES/ezmlm-web.po @@ -2,16 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web 3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:09+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2009-06-26 09:07+0200\n" "Last-Translator: Normando Hall \n" "Language-Team: <>\n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Pootle 1.2.0-rc1\n" +"Language: es\n" #: Lang.Menue.ListCreate msgid "Create new list" @@ -914,7 +914,8 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "No hay ficheros en el directorio de textos de la lista de correo." #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +#, fuzzy +msgid "Add new mail address(es):" msgstr "Añadir una nueva dirección:" #: Lang.Misc.AddSubscriberFile diff --git a/intl/ezmlm-web.pot b/intl/ezmlm-web.pot index 7692cd7..f9fd136 100644 --- a/intl/ezmlm-web.pot +++ b/intl/ezmlm-web.pot @@ -865,7 +865,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/fi/LC_MESSAGES/ezmlm-web.po b/intl/fi/LC_MESSAGES/ezmlm-web.po index 0b34fef..32ae804 100644 --- a/intl/fi/LC_MESSAGES/ezmlm-web.po +++ b/intl/fi/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -880,7 +880,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/fr/LC_MESSAGES/ezmlm-web.po b/intl/fr/LC_MESSAGES/ezmlm-web.po index e58e94a..86019b2 100644 --- a/intl/fr/LC_MESSAGES/ezmlm-web.po +++ b/intl/fr/LC_MESSAGES/ezmlm-web.po @@ -2,16 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2009-01-14 13:57+0200\n" "Last-Translator: BARBIER Jean-Matthieu \n" "Language-Team: LANGUAGE \n" -"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Pootle 1.2.0-rc1\n" +"Language: fr\n" #: Lang.Menue.ListCreate msgid "Create new list" @@ -893,7 +893,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile @@ -996,8 +996,9 @@ msgid "Mail address" msgstr "" #: Lang.Misc.SubscribeAction +#, fuzzy msgid "Event" -msgstr "" +msgstr "Evènements" #: Lang.Misc.SubscribeActionDetails msgid "Details" diff --git a/intl/hu/LC_MESSAGES/ezmlm-web.po b/intl/hu/LC_MESSAGES/ezmlm-web.po index b8284e3..84e1c3a 100644 --- a/intl/hu/LC_MESSAGES/ezmlm-web.po +++ b/intl/hu/LC_MESSAGES/ezmlm-web.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2007-12-19 06:54+0000\n" "Last-Translator: kkk \n" "Language-Team: LANGUAGE \n" @@ -884,7 +884,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/it/LC_MESSAGES/ezmlm-web.po b/intl/it/LC_MESSAGES/ezmlm-web.po index 3e9b032..0426ff9 100644 --- a/intl/it/LC_MESSAGES/ezmlm-web.po +++ b/intl/it/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -885,7 +885,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/ja/LC_MESSAGES/ezmlm-web.po b/intl/ja/LC_MESSAGES/ezmlm-web.po index a2895fc..c7f000e 100644 --- a/intl/ja/LC_MESSAGES/ezmlm-web.po +++ b/intl/ja/LC_MESSAGES/ezmlm-web.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2008-08-20 09:47+0200\n" "Last-Translator: kinneko \n" "Language-Team: LANGUAGE \n" @@ -884,7 +884,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/nl/LC_MESSAGES/ezmlm-web.po b/intl/nl/LC_MESSAGES/ezmlm-web.po index 50a7d10..8ee87cc 100644 --- a/intl/nl/LC_MESSAGES/ezmlm-web.po +++ b/intl/nl/LC_MESSAGES/ezmlm-web.po @@ -2,16 +2,16 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2008-10-17 20:18+0200\n" "Last-Translator: albi nootje \n" "Language-Team: LANGUAGE \n" -"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Pootle 1.2.0-rc1\n" +"Language: nl\n" #: Lang.Menue.ListCreate msgid "Create new list" @@ -187,8 +187,9 @@ msgid "Editing file" msgstr "Bewerken bestand" #: Lang.Title.SubscribeLog +#, fuzzy msgid "Subscription events" -msgstr "" +msgstr "Lidmaatschap opties" #: Lang.Title.GnupgPublic msgid "Public keys" @@ -655,8 +656,9 @@ msgid "Access to the archive is granted for" msgstr "" #: Lang.Selections.archive.bg +#, fuzzy msgid "administrators" -msgstr "" +msgstr "beheer" #: Lang.Selections.archive.Bg msgid "subscribers and administrators" @@ -889,7 +891,8 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +#, fuzzy +msgid "Add new mail address(es):" msgstr "Voeg een nieuw mail adres toe:" #: Lang.Misc.AddSubscriberFile @@ -1178,8 +1181,9 @@ msgid "Posting rules" msgstr "" #: Lang.Legend.ConfigSub +#, fuzzy msgid "Subscription details" -msgstr "" +msgstr "Lidmaatschap opties" #: Lang.Legend.ConfigMain msgid "General list configuration" diff --git a/intl/pl/LC_MESSAGES/ezmlm-web.po b/intl/pl/LC_MESSAGES/ezmlm-web.po index 0b34fef..32ae804 100644 --- a/intl/pl/LC_MESSAGES/ezmlm-web.po +++ b/intl/pl/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -880,7 +880,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/intl/pt/LC_MESSAGES/ezmlm-web.po b/intl/pt/LC_MESSAGES/ezmlm-web.po index 711aa7f..65d3e8f 100644 --- a/intl/pt/LC_MESSAGES/ezmlm-web.po +++ b/intl/pt/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1098,7 +1098,7 @@ msgstr "Não há arquivos no diretório de texto da lista." #: Lang.Misc.AddSubscriberAddress #, fuzzy -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "Acrescentar novo endereço de e-mail" #: Lang.Misc.AddSubscriberFile diff --git a/intl/pt_BR/LC_MESSAGES/ezmlm-web.po b/intl/pt_BR/LC_MESSAGES/ezmlm-web.po index 07600bc..860520a 100644 --- a/intl/pt_BR/LC_MESSAGES/ezmlm-web.po +++ b/intl/pt_BR/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -893,7 +893,8 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "Não há arquivos no diretório de texto da lista." #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +#, fuzzy +msgid "Add new mail address(es):" msgstr "Acrescentar novo endereço de e-mail" #: Lang.Misc.AddSubscriberFile diff --git a/intl/ru/LC_MESSAGES/ezmlm-web.po b/intl/ru/LC_MESSAGES/ezmlm-web.po index 5c9448d..b16f1c9 100644 --- a/intl/ru/LC_MESSAGES/ezmlm-web.po +++ b/intl/ru/LC_MESSAGES/ezmlm-web.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2008-05-22 10:27+0200\n" "Last-Translator: azlk \n" "Language-Team: LANGUAGE \n" @@ -902,7 +902,8 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "В текстовой папке списка рассылки нет файлов" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +#, fuzzy +msgid "Add new mail address(es):" msgstr "Добавить новый адрес:" #: Lang.Misc.AddSubscriberFile diff --git a/intl/sl/LC_MESSAGES/ezmlm-web.po b/intl/sl/LC_MESSAGES/ezmlm-web.po index 442b4cb..132f48b 100644 --- a/intl/sl/LC_MESSAGES/ezmlm-web.po +++ b/intl/sl/LC_MESSAGES/ezmlm-web.po @@ -2,17 +2,17 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: 2008-10-16 00:17+0200\n" "Last-Translator: clavdia \n" "Language-Team: LANGUAGE \n" -"Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3);\n" "X-Generator: Pootle 1.2.0-rc1\n" +"Language: sl\n" #: Lang.Menue.ListCreate msgid "Create new list" @@ -897,7 +897,8 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "V tem direktoriju poštnega seznama ni datotek" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +#, fuzzy +msgid "Add new mail address(es):" msgstr "Dodaj nov poštni naslov " #: Lang.Misc.AddSubscriberFile diff --git a/intl/sv/LC_MESSAGES/ezmlm-web.po b/intl/sv/LC_MESSAGES/ezmlm-web.po index 0b34fef..32ae804 100644 --- a/intl/sv/LC_MESSAGES/ezmlm-web.po +++ b/intl/sv/LC_MESSAGES/ezmlm-web.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: ezmlm-web v3.3\n" "Report-Msgid-Bugs-To: devel@sumpfralle.de\n" -"POT-Creation-Date: 2008-10-15 23:10+0200\n" +"POT-Creation-Date: 2011-01-01 18:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -880,7 +880,7 @@ msgid "There are no files in the text directory of the mailinglist." msgstr "" #: Lang.Misc.AddSubscriberAddress -msgid "Add a new mail address:" +msgid "Add new mail address(es):" msgstr "" #: Lang.Misc.AddSubscriberFile diff --git a/lang/en.hdf b/lang/en.hdf index 5d46133..b441428 100644 --- a/lang/en.hdf +++ b/lang/en.hdf @@ -261,7 +261,7 @@ Lang { MessageSize.Min = Reject messages smaller than a specified value MessageSize.Unit = bytes NoFiles = There are no files in the text directory of the mailinglist. - AddSubscriberAddress = Add a new mail address: + AddSubscriberAddress = Add new mail address(es): AddSubscriberFile = Upload a text file containing mail addresses to be added: SuggestDefaultPath = It is recommended to use the default path for the moderation database. Otherwise you cannot manage the moderators' list with ezmlm-web. FooterText = a web interface for diff --git a/suid-wrapper/index.h b/suid-wrapper/index.h index 0cde14c..e8c2f7b 100644 --- a/suid-wrapper/index.h +++ b/suid-wrapper/index.h @@ -1 +1 @@ -#define EZMLM_WEB_CGI "/usr/bin/ezmlm-web.cgi" +#define EZMLM_WEB_CGI "/usr/local/bin/ezmlm-web.cgi" diff --git a/template/config_options/trailer.cs b/template/config_options/trailer.cs index 1bcb078..2292fde 100644 --- a/template/config_options/trailer.cs +++ b/template/config_options/trailer.cs @@ -4,6 +4,4 @@ -
  • -
+
diff --git a/template/subscribers.cs b/template/subscribers.cs index 72f6a86..e1e52d9 100644 --- a/template/subscribers.cs +++ b/template/subscribers.cs @@ -118,7 +118,7 @@
  • -
    • +