Unverified Commit 6526e85d authored by IKEDA Soji's avatar IKEDA Soji Committed by GitHub
Browse files

Merge branch 'sympa-6.2' into issue-893

parents d1bfa2fe d2a043dd
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -1443,7 +1443,7 @@ msgid "" ...@@ -1443,7 +1443,7 @@ msgid ""
msgstr "" msgstr ""
"En aquesta pàgina, també podeu veure <strong>informació sobre l'última " "En aquesta pàgina, també podeu veure <strong>informació sobre l'última "
"actualització de la llista</strong> (qui la va fer i quan), així com el " "actualització de la llista</strong> (qui la va fer i quan), així com el "
"<strong>nombre de canvis de configuració</strong> des què es va crea la " "<strong>nombre de canvis de configuració</strong> des que es va crear la "
"llista." "llista."
#: default/web_tt2/help_admin-editlist-sending.tt2:2 #: default/web_tt2/help_admin-editlist-sending.tt2:2
...@@ -2010,7 +2010,7 @@ msgid "" ...@@ -2010,7 +2010,7 @@ msgid ""
msgstr "" msgstr ""
"<strong>Sense importar la data i el moment de la revisió, la data i el " "<strong>Sense importar la data i el moment de la revisió, la data i el "
"moment d'enviament del missatge no canvia</strong>. De manera que si la " "moment d'enviament del missatge no canvia</strong>. De manera que si la "
"distribució del missatge s'aprova amb molt d'endarreriment, és pot rebre un " "distribució del missatge s'aprova amb molt d'endarreriment, es pot rebre un "
"missatge del dia 1 de gener el dia 31 de desembre!" "missatge del dia 1 de gener el dia 31 de desembre!"
#: default/web_tt2/help_admin-moderate.tt2:29 #: default/web_tt2/help_admin-moderate.tt2:29
...@@ -2243,7 +2243,7 @@ msgstr "informació legal i polítiques de privacitat;" ...@@ -2243,7 +2243,7 @@ msgstr "informació legal i polítiques de privacitat;"
#: default/web_tt2/help_admin-rules.tt2:35 #: default/web_tt2/help_admin-rules.tt2:35
msgid "sanctions applying to those who would not respect the list charter;" msgid "sanctions applying to those who would not respect the list charter;"
msgstr "" msgstr ""
"les sancions per qui no respecte les normes de funcionament de la llista;" "les sancions per qui no respecta les normes de funcionament de la llista;"
#: default/web_tt2/help_admin-rules.tt2:38 #: default/web_tt2/help_admin-rules.tt2:38
#: default/web_tt2/help_introduction-roles.tt2:88 #: default/web_tt2/help_introduction-roles.tt2:88
...@@ -2417,8 +2417,8 @@ msgid "" ...@@ -2417,8 +2417,8 @@ msgid ""
"subscribe themselves to the list." "subscribe themselves to the list."
msgstr "" msgstr ""
"Atenció: ser propietari o moderador de la llista no significa que esteu " "Atenció: ser propietari o moderador de la llista no significa que esteu "
"automàticament subscrits a la llista. De maner que els propietaris i " "automàticament subscrits a la llista. De manera que els propietaris i "
"moderadors es tenen que subscriure a la llista." "moderadors s'han de subscriure a la llista."
#: default/web_tt2/help_admin-users.tt2:25 #: default/web_tt2/help_admin-users.tt2:25
msgid "" msgid ""
...@@ -4085,8 +4085,8 @@ msgid "" ...@@ -4085,8 +4085,8 @@ msgid ""
"A list can have <strong>one or several moderators</strong>; generally, the " "A list can have <strong>one or several moderators</strong>; generally, the "
"list owner is also a moderator." "list owner is also a moderator."
msgstr "" msgstr ""
"Una llista por tenir <strong>un o diversos moderadors</strong>; en general, " "Una llista pot tenir <strong>un o diversos moderadors</strong>; en general, "
"el propietari de la llista també és un moderador." "el propietari de la llista també n'és un moderador."
#: default/web_tt2/help_introduction-roles.tt2:104 #: default/web_tt2/help_introduction-roles.tt2:104
msgid "This concerns only moderated lists." msgid "This concerns only moderated lists."
...@@ -4209,7 +4209,7 @@ msgid "" ...@@ -4209,7 +4209,7 @@ msgid ""
"According to the way they work, we can distinguish between <strong>two types " "According to the way they work, we can distinguish between <strong>two types "
"of lists</strong>:" "of lists</strong>:"
msgstr "" msgstr ""
"Segons la manera en què funcionen, es pode distingir <strong>dos tipus de " "Segons la manera en què funcionen, es poden distingir <strong>dos tipus de "
"llistes</strong>:" "llistes</strong>:"
#: default/web_tt2/help_introduction.tt2:58 #: default/web_tt2/help_introduction.tt2:58
...@@ -4399,8 +4399,8 @@ msgid "" ...@@ -4399,8 +4399,8 @@ msgid ""
"a document if it has been published by someone else." "a document if it has been published by someone else."
msgstr "" msgstr ""
"<strong>També podeu canviar el propietari del document</strong>, per exemple " "<strong>També podeu canviar el propietari del document</strong>, per exemple "
"per a permetre que una altra persona l'edite en línia o per a indicar " "per a permetre que una altra persona l'editi en línia o per a indicar "
"l'autor real del document si la publicat una altra persona." "l'autor real del document si l'ha publicat una altra persona."
#: default/web_tt2/help_shared-edit.tt2:53 #: default/web_tt2/help_shared-edit.tt2:53
msgid "Editing folders, files or bookmarks" msgid "Editing folders, files or bookmarks"
...@@ -4557,7 +4557,7 @@ msgid "" ...@@ -4557,7 +4557,7 @@ msgid ""
msgstr "" msgstr ""
"Si sou una de les persones que pot organitzar la llista i crear fitxers i " "Si sou una de les persones que pot organitzar la llista i crear fitxers i "
"carpetes, <strong>tingueu visió de futur: penseu que la llista es pot " "carpetes, <strong>tingueu visió de futur: penseu que la llista es pot "
"desenvolupar de manera considerable i que potser es mantingui activa durant " "desenvolupar de manera considerable i que potser es manté activa durant "
"molts anys</strong>." "molts anys</strong>."
#: default/web_tt2/help_shared-hint.tt2:7 #: default/web_tt2/help_shared-hint.tt2:7
......
...@@ -1227,17 +1227,16 @@ msgstr "" ...@@ -1227,17 +1227,16 @@ msgstr ""
"entre ellos." "entre ellos."
#: default/web_tt2/help_admin-editlist-command.tt2:123 #: default/web_tt2/help_admin-editlist-command.tt2:123
#, fuzzy
msgid "" msgid ""
"If you want to limit access to these functions according to other criteria, " "If you want to limit access to these functions according to other criteria, "
"you should ask the listmasters: they may be able to create a new option " "you should ask the listmasters: they may be able to create a new option "
"matching your needs (example: Allow subscription only by members of a user " "matching your needs (example: Allow subscription only by members of a user "
"group, of an Internet domain, etc.)." "group, of an Internet domain, etc.)."
msgstr "" msgstr ""
"Si quieres limitar la visibilidad de la lista según algún criterio deberías " "Si quieres limitar el acceso a estas funciones según otro criterio deberías "
"preguntar al listmaster: él puede crear nuevas opciones que se ajusten a tus " "preguntar al listmaster: él puede crear nuevas opciones que se ajusten a tss "
"necesidades (por ejemplo: lista visible sólo para miembros de un grupo de " "necesidades (por ejemplo: Permitir la suscripción solo a miembros de un "
"usuarios, de un dominio de internet, etc.)." "grupo de usuarios, de un dominio de Internet, etc.)"
#: default/web_tt2/help_admin-editlist-command.tt2:128 #: default/web_tt2/help_admin-editlist-command.tt2:128
msgid "" msgid ""
......
...@@ -792,7 +792,7 @@ msgstr "les abonnés seulement (private);" ...@@ -792,7 +792,7 @@ msgstr "les abonnés seulement (private);"
#: default/web_tt2/help_admin-editlist-archives.tt2:12 #: default/web_tt2/help_admin-editlist-archives.tt2:12
#: default/web_tt2/help_admin-editlist-command.tt2:95 #: default/web_tt2/help_admin-editlist-command.tt2:95
msgid "public (public)." msgid "public (public)."
msgstr "public (public)." msgstr "publique (public)."
#: default/web_tt2/help_admin-editlist-archives.tt2:15 #: default/web_tt2/help_admin-editlist-archives.tt2:15
msgid "" msgid ""
...@@ -943,11 +943,11 @@ msgid "" ...@@ -943,11 +943,11 @@ msgid ""
"addresses temporarily unavailable when messages were sent, inbox quota " "addresses temporarily unavailable when messages were sent, inbox quota "
"exceeded, etc." "exceeded, etc."
msgstr "" msgstr ""
"Les <strong>rejets (bounces)</strong> représentent les <strong>abonnés en " "\"<strong>Les rejets</strong>\" représentent les <strong>abonnés dont "
"erreur</strong>, c'est-à-dire les abonnés qui ne reçoivent pas les messages " "l'adresse est erronnée</strong>, c'est-à-dire les abonnés qui ne reçoivent "
"envoyés sur la liste. Les raisons peuvent être variées : adresses qui " "pas les messages envoyés sur la liste. Les raisons peuvent être variées : "
"n'existent plus, adresses momentanément indisponibles au moment de l'envoi " "adresses qui n'existent plus, adresses momentanément indisponibles au moment "
"de messages, capacité de la boîte de réception atteinte, etc." "de l'envoi de messages, capacité de la boîte de réception atteinte, etc."
#: default/web_tt2/help_admin-editlist-bounces.tt2:7 #: default/web_tt2/help_admin-editlist-bounces.tt2:7
msgid "The '<strong>Bounce management</strong>' section defines two rates:" msgid "The '<strong>Bounce management</strong>' section defines two rates:"
...@@ -1115,8 +1115,8 @@ msgstr "demande d'abonnement avec signature par certificat (smime);" ...@@ -1115,8 +1115,8 @@ msgstr "demande d'abonnement avec signature par certificat (smime);"
#: default/web_tt2/help_admin-editlist-command.tt2:49 #: default/web_tt2/help_admin-editlist-command.tt2:49
msgid "requires S/MIME signed or owner approval (smimeorowner)." msgid "requires S/MIME signed or owner approval (smimeorowner)."
msgstr "" msgstr ""
"ouvert à tous après autorisation du proprio ou avec signature par certificat " "ouvert à tous après autorisation du propriétaire ou avec signature par "
"(smimeorowner)." "certificat S/MIME (smimeorowner)."
#: default/web_tt2/help_admin-editlist-command.tt2:53 #: default/web_tt2/help_admin-editlist-command.tt2:53
msgid "" msgid ""
...@@ -1150,7 +1150,7 @@ msgstr "authentification demandée, notification du propriétaire (auth_notify); ...@@ -1150,7 +1150,7 @@ msgstr "authentification demandée, notification du propriétaire (auth_notify);
#: default/web_tt2/help_admin-editlist-command.tt2:66 #: default/web_tt2/help_admin-editlist-command.tt2:66
msgid "impossible (closed);" msgid "impossible (closed);"
msgstr "impossible (closed);" msgstr "impossible (fermé);"
#: default/web_tt2/help_admin-editlist-command.tt2:69 #: default/web_tt2/help_admin-editlist-command.tt2:69
msgid "open (open) - <em>default option</em>;" msgid "open (open) - <em>default option</em>;"
...@@ -1338,7 +1338,7 @@ msgid "" ...@@ -1338,7 +1338,7 @@ msgid ""
"<strong>BE CAREFUL: do not forget to click on the 'Apply modifications' " "<strong>BE CAREFUL: do not forget to click on the 'Apply modifications' "
"button</strong> on bottom of page to save all your changes." "button</strong> on bottom of page to save all your changes."
msgstr "" msgstr ""
"<strong>ATTENTION : n'oubliez pas de cliquer sur 'Mise à jour'</strong> au " "<strong>ATTENTION: n'oubliez pas de cliquer sur \"Mise à jour\"</strong> au "
"bas de la page pour enregistrer tous vos changements." "bas de la page pour enregistrer tous vos changements."
#: default/web_tt2/help_admin-editlist-description.tt2:2 #: default/web_tt2/help_admin-editlist-description.tt2:2
...@@ -1520,8 +1520,9 @@ msgid "" ...@@ -1520,8 +1520,9 @@ msgid ""
"With the '<strong>All</strong>' value, the reply is sent to both the " "With the '<strong>All</strong>' value, the reply is sent to both the "
"<strong>message sender</strong> AND the <strong>list</strong>." "<strong>message sender</strong> AND the <strong>list</strong>."
msgstr "" msgstr ""
"Lorsque la valeur choisie est '<strong>All</strong>', la réponse est envoyée " "Lorsque la valeur choisie est \"<strong>Répondre à tous</strong>\", la "
"à l'<strong>expéditeur du message</strong> ET à la <strong>liste</strong>." "réponse est envoyée à l'<strong>expéditeur du message</strong> ET à la "
"<strong>liste</strong>."
#: default/web_tt2/help_admin-editlist-sending.tt2:20 #: default/web_tt2/help_admin-editlist-sending.tt2:20
msgid "" msgid ""
...@@ -4971,8 +4972,8 @@ msgid "" ...@@ -4971,8 +4972,8 @@ msgid ""
msgstr "" msgstr ""
"<strong>Important : les seuls fichiers qui peuvent être créés en ligne sur " "<strong>Important : les seuls fichiers qui peuvent être créés en ligne sur "
"les listes sont des fichiers en texte brut. Vous ne pourrez en aucun cas " "les listes sont des fichiers en texte brut. Vous ne pourrez en aucun cas "
"créer de document bureautique (.DOC, .XLS, .PPT, .RTF, .SXW, etc.), .PDF, " "créer de document bureautique (.DOC, .XLS, .PPT, .RTF, .ODT, etc.), .PDF, "
"image, etc</strong>" "des image, etc</strong>"
#: default/web_tt2/help_shared-upload.tt2:114 #: default/web_tt2/help_shared-upload.tt2:114
msgid "" msgid ""
...@@ -5636,8 +5637,8 @@ msgstr "" ...@@ -5636,8 +5637,8 @@ msgstr ""
"En France, conformément à la loi relative à l'informatique, aux fichiers et " "En France, conformément à la loi relative à l'informatique, aux fichiers et "
"aux libertés du 6 janvier 1978, vous disposez d'un droit d'accès, de " "aux libertés du 6 janvier 1978, vous disposez d'un droit d'accès, de "
"modification, de rectification et de suppression des données vous " "modification, de rectification et de suppression des données vous "
"concernant. Pour l'exercer, <a href=\"faq-user-contact.html\">contactez les " "concernant. Pour en savoir plus, <a href=\"faq-user-contact.html\">contactez "
"propriétaires de la liste</a>." "les propriétaires de la liste</a>."
#: default/web_tt2/help_user-rules.tt2:48 #: default/web_tt2/help_user-rules.tt2:48
msgid "" msgid ""
...@@ -6181,11 +6182,10 @@ msgid "" ...@@ -6181,11 +6182,10 @@ msgid ""
"reactivate it at any time by visiting the \"Manage your subscription\" " "reactivate it at any time by visiting the \"Manage your subscription\" "
"section." "section."
msgstr "" msgstr ""
"<strong> Suspension</strong>: ce mode vous permet de suspendre votre " "<strong>En pause</strong>: ce mode vous permet de suspendre votre abonnement "
"abonnement à une ou plusieurs listes pour une période déterminée ou non. " "à une ou plusieurs listes pour une période déterminée ou non. Contrairement "
"Contrairement au désabonnement, vous pouvez garder une trace de votre " "au désabonnement, vous pouvez garder une trace de votre abonnement et de le "
"abonnement et de le réactiver à tout moment en visitant la page \"Gérer " "réactiver à tout moment en visitant la page \"Gérer votre abonnement\"."
"votre abonnement\"."
#: default/web_tt2/help_user-suboptions.tt2:57 #: default/web_tt2/help_user-suboptions.tt2:57
msgid "<strong>Choose a visibility option</strong>:" msgid "<strong>Choose a visibility option</strong>:"
......
This diff is collapsed.
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, # Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites # 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER # Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018, 2019 The Sympa Community. See the AUTHORS.md file at # Copyright 2017, 2018, 2019, 2020 The Sympa Community. See the AUTHORS.md
# the top-level directory of this distribution and at # file at the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>. # <https://github.com/sympa-community/sympa.git>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
...@@ -112,11 +112,6 @@ my %old_params = ( ...@@ -112,11 +112,6 @@ my %old_params = (
'dkim_header_list' => '', 'dkim_header_list' => '',
); );
## These parameters now have a hard-coded value
## Customized value can be accessed though as %Ignored_Conf
my %Ignored_Conf;
my %hardcoded_params = (filesystem_encoding => 'utf8');
my %trusted_applications = ( my %trusted_applications = (
'trusted_application' => { 'trusted_application' => {
'occurrence' => '0-n', 'occurrence' => '0-n',
...@@ -211,11 +206,6 @@ sub load { ...@@ -211,11 +206,6 @@ sub load {
} }
); );
# Some parameter values are hardcoded. In that case, ignore what was
# set in the config file and simply use the hardcoded value.
%Ignored_Conf =
%{_set_hardcoded_parameter_values({'config_hash' => \%Conf,})};
_set_listmasters_entry({'config_hash' => \%Conf, 'main_config' => 1}); _set_listmasters_entry({'config_hash' => \%Conf, 'main_config' => 1});
## Some parameters must have a value specifically defined in the ## Some parameters must have a value specifically defined in the
...@@ -2057,18 +2047,8 @@ sub _load_robot_secondary_config_files { ...@@ -2057,18 +2047,8 @@ sub _load_robot_secondary_config_files {
## For parameters whose value is hard_coded, as per %hardcoded_params, set the ## For parameters whose value is hard_coded, as per %hardcoded_params, set the
## parameter value to the hardcoded value, whatever is defined in the config. ## parameter value to the hardcoded value, whatever is defined in the config.
## Returns a ref to a hash containing the ignored values. ## Returns a ref to a hash containing the ignored values.
sub _set_hardcoded_parameter_values { # Deprecated.
my $param = shift; #sub _set_hardcoded_parameter_values;
my %ignored_values;
## Some parameter values are hardcoded. In that case, ignore what was set
## in the config file and simply use the hardcoded value.
foreach my $p (keys %hardcoded_params) {
$ignored_values{$p} = $param->{'config_hash'}{$p}
if (defined $param->{'config_hash'}{$p});
$param->{'config_hash'}{$p} = $hardcoded_params{$p};
}
return \%ignored_values;
}
sub _detect_missing_mandatory_parameters { sub _detect_missing_mandatory_parameters {
my $param = shift; my $param = shift;
......
...@@ -92,6 +92,7 @@ nobase_modules_DATA = \ ...@@ -92,6 +92,7 @@ nobase_modules_DATA = \
Sympa/Request/Handler/decl.pm \ Sympa/Request/Handler/decl.pm \
Sympa/Request/Handler/del.pm \ Sympa/Request/Handler/del.pm \
Sympa/Request/Handler/distribute.pm \ Sympa/Request/Handler/distribute.pm \
Sympa/Request/Handler/family_signoff.pm \
Sympa/Request/Handler/finished.pm \ Sympa/Request/Handler/finished.pm \
Sympa/Request/Handler/get.pm \ Sympa/Request/Handler/get.pm \
Sympa/Request/Handler/global_remind.pm \ Sympa/Request/Handler/global_remind.pm \
...@@ -188,6 +189,7 @@ nobase_modules_DATA = \ ...@@ -188,6 +189,7 @@ nobase_modules_DATA = \
Sympa/Upgrade.pm \ Sympa/Upgrade.pm \
Sympa/User.pm \ Sympa/User.pm \
Sympa/WWW/Auth.pm \ Sympa/WWW/Auth.pm \
Sympa/WWW/FastCGI.pm \
Sympa/WWW/Marc.pm \ Sympa/WWW/Marc.pm \
Sympa/WWW/Marc/Search.pm \ Sympa/WWW/Marc/Search.pm \
Sympa/WWW/Report.pm \ Sympa/WWW/Report.pm \
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, # Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites # 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER # Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018, 2019 The Sympa Community. See the AUTHORS.md file at # Copyright 2017, 2018, 2019, 2020 The Sympa Community. See the AUTHORS.md
# the top-level directory of this distribution and at # file at the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>. # <https://github.com/sympa-community/sympa.git>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
...@@ -45,8 +45,6 @@ use Sympa::Language; ...@@ -45,8 +45,6 @@ use Sympa::Language;
use Sympa::Log; use Sympa::Log;
use Sympa::Regexps; use Sympa::Regexps;
use Sympa::Spindle::ProcessTemplate; use Sympa::Spindle::ProcessTemplate;
use Sympa::Ticket;
use Sympa::Tools::Data;
use Sympa::Tools::Text; use Sympa::Tools::Text;
my $log = Sympa::Log->instance; my $log = Sympa::Log->instance;
...@@ -176,7 +174,7 @@ sub _get_search_path { ...@@ -176,7 +174,7 @@ sub _get_search_path {
} }
} elsif (ref $that and ref $that eq 'Sympa::Family') { } elsif (ref $that and ref $that eq 'Sympa::Family') {
my $path_family; my $path_family;
@search_path = _get_search_path($that->{'robot'}, @_); @search_path = _get_search_path($that->{'domain'}, @_);
if ($subdir) { if ($subdir) {
$path_family = $that->{'dir'} . '/' . $subdir; $path_family = $that->{'dir'} . '/' . $subdir;
...@@ -436,47 +434,17 @@ sub send_notify_to_listmaster { ...@@ -436,47 +434,17 @@ sub send_notify_to_listmaster {
$data->{'type'} = $operation; $data->{'type'} = $operation;
$data->{'auto_submitted'} = 'auto-generated'; $data->{'auto_submitted'} = 'auto-generated';
my @tosend;
if ($operation eq 'no_db' or $operation eq 'db_restored') { if ($operation eq 'no_db' or $operation eq 'db_restored') {
$data->{'db_name'} = Conf::get_robot_conf($robot_id, 'db_name'); $data->{'db_name'} = Conf::get_robot_conf($robot_id, 'db_name');
} }
if ( $operation eq 'request_list_creation' # When operation is either missing_dbd, no_db or db_restored,
or $operation eq 'request_list_renaming') { # skip DB access because DB is not accessible.
foreach my $email (@listmasters) {
my $cdata = Sympa::Tools::Data::dup_var($data);
$cdata->{'one_time_ticket'} =
Sympa::Ticket::create($email, $robot_id, 'get_pending_lists',
$cdata->{'ip'});
push @tosend,
{
email => $email,
data => $cdata
};
}
} else {
push @tosend,
{
email => [@listmasters],
data => $data
};
}
foreach my $ts (@tosend) {
my $email = $ts->{'email'};
# Skip DB access because DB is not accessible
$email = [$email]
if not ref $email
and ($operation eq 'missing_dbd'
or $operation eq 'no_db'
or $operation eq 'db_restored');
my $spindle = Sympa::Spindle::ProcessTemplate->new( my $spindle = Sympa::Spindle::ProcessTemplate->new(
context => $that, context => $that,
template => 'listmaster_notification', template => 'listmaster_notification',
rcpt => $email, rcpt => [@listmasters],
data => $ts->{'data'}, data => $data,
splicing_to => ['Sympa::Spindle::ToListmaster'], splicing_to => ['Sympa::Spindle::ToListmaster'],
); );
...@@ -487,11 +455,10 @@ sub send_notify_to_listmaster { ...@@ -487,11 +455,10 @@ sub send_notify_to_listmaster {
'notice', 'notice',
'Unable to send template "listmaster_notification" to %s listmaster %s', 'Unable to send template "listmaster_notification" to %s listmaster %s',
$robot_id, $robot_id,
$ts->{'email'} join(', ', @listmasters),
) unless $operation eq 'logs_failed'; ) unless $operation eq 'logs_failed';
return undef; return undef;
} }
}
return 1; return 1;
} }
...@@ -522,14 +489,6 @@ sub send_notify_to_user { ...@@ -522,14 +489,6 @@ sub send_notify_to_user {
$param->{'to'} = $user; $param->{'to'} = $user;
$param->{'type'} = $operation; $param->{'type'} = $operation;
if ($operation eq 'ticket_to_family_signoff') {
$param->{one_time_ticket} =
Sympa::Ticket::create($user, $robot_id,
'family_signoff/' . $param->{family} . '/' . $user,
$param->{ip})
or return undef;
}
unless (Sympa::send_file($that, 'user_notification', $user, $param)) { unless (Sympa::send_file($that, 'user_notification', $user, $param)) {
$log->syslog('notice', $log->syslog('notice',
'Unable to send template "user_notification" to %s', $user); 'Unable to send template "user_notification" to %s', $user);
...@@ -657,7 +616,7 @@ sub get_address { ...@@ -657,7 +616,7 @@ sub get_address {
} }
} elsif (ref $that eq 'Sympa::Family') { } elsif (ref $that eq 'Sympa::Family') {
# robot address, for convenience. # robot address, for convenience.
return Sympa::get_address($that->{'robot'}, $type); return Sympa::get_address($that->{'domain'}, $type);
} else { } else {
unless ($type) { unless ($type) {
return Conf::get_robot_conf($that, 'email') . '@' return Conf::get_robot_conf($that, 'email') . '@'
...@@ -695,7 +654,7 @@ sub get_listmasters_email { ...@@ -695,7 +654,7 @@ sub get_listmasters_email {
if (ref $that eq 'Sympa::List') { if (ref $that eq 'Sympa::List') {
$listmaster = Conf::get_robot_conf($that->{'domain'}, 'listmaster'); $listmaster = Conf::get_robot_conf($that->{'domain'}, 'listmaster');
} elsif (ref $that eq 'Sympa::Family') { } elsif (ref $that eq 'Sympa::Family') {
$listmaster = Conf::get_robot_conf($that->{'robot'}, 'listmaster'); $listmaster = Conf::get_robot_conf($that->{'domain'}, 'listmaster');
} elsif (not ref($that) and $that and $that ne '*') { } elsif (not ref($that) and $that and $that ne '*') {
$listmaster = Conf::get_robot_conf($that, 'listmaster'); $listmaster = Conf::get_robot_conf($that, 'listmaster');
} else { } else {
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, # Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites # 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER # Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018, 2019 The Sympa Community. See the AUTHORS.md file at # Copyright 2017, 2018, 2019, 2020 The Sympa Community. See the AUTHORS.md
# the top-level directory of this distribution and at # file at the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>. # <https://github.com/sympa-community/sympa.git>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
...@@ -969,6 +969,12 @@ our @params = ( ...@@ -969,6 +969,12 @@ our @params = (
'message_header,message_header.mime,message_footer,message_footer.mime,info', 'message_header,message_header.mime,message_footer,message_footer.mime,info',
'vhost' => '1', 'vhost' => '1',
}, },
{ 'name' => 'family_signoff',
'gettext_id' => 'Global unsubscription',
'default' => 'auth', # Compat. to <=6.2.52
'scenario' => 1,
'vhost' => '1',
},
{'gettext_id' => 'Tag based spam filtering'}, {'gettext_id' => 'Tag based spam filtering'},
......
...@@ -52,7 +52,7 @@ sub new { ...@@ -52,7 +52,7 @@ sub new {
$fh = $file; $fh = $file;
} else { } else {
unless (open $fh, '<', $file) { unless (open $fh, '<', $file) {
$log->syslog('err', 'Can\'t open %s: $m', $file); $log->syslog('err', 'Can\'t open %s: %s', $file, $ERRNO);
return bless {} => $class; return bless {} => $class;
} }
} }
......
...@@ -48,7 +48,7 @@ sub _open { ...@@ -48,7 +48,7 @@ sub _open {
sub _next { sub _next {
my $self = shift; my $self = shift;
my $email_re = Sympa::Regexps::email(); my $email_re = Sympa::Regexps::addrspec();
my $lines = 0; my $lines = 0;
my $found = 0; my $found = 0;
......
...@@ -52,7 +52,6 @@ sub _open { ...@@ -52,7 +52,6 @@ sub _open {
} }