Commit ef6ffefe authored by IKEDA Soji's avatar IKEDA Soji Committed by GitHub

Merge branch 'sympa-6.2' into issue-867

parents 60206097 dced686e
......@@ -7,12 +7,13 @@
- . ~/bashrc
- coverage-install
- coverage-setup
- cpanm --quiet --notest --installdeps . --with-develop
- cpanm --quiet --notest --installdeps --with-develop --with-feature=ldap --with-feature=safe-unicode --with-feature=soap --with-feature=sqlite .
- cpanm --notest --quiet Unicode::CaseFold
- autoreconf -i
- ./configure
- cd src; make; cd ..
- make check-local TEST_FILES='xt/perltidy.t' || true
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/Message_smime.t t/compile_scenarios.t t/parse_templates.t t/pod-syntax.t'
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/Message.t t/Message_smime.t t/compile_scenarios.t t/parse_templates.t t/pod-syntax.t'
- coverage-report
- make clean
......@@ -38,3 +39,5 @@
<<: *job
"5.28":
<<: *job
"5.30":
<<: *job
......@@ -28,7 +28,7 @@ before_install:
install:
- cpan-install --coverage
- cpanm --installdeps --notest --with-develop --with-feature=soap --with-feature=ldap .
- cpanm --installdeps --notest --with-develop --with-feature=ldap --with-feature=safe-unicode --with-feature=soap --with-feature=sqlite .
- cpanm --notest --quiet Unicode::CaseFold
before_script:
......@@ -39,7 +39,7 @@ script:
- ./configure
- cd src; make; cd ..
- make check-local TEST_FILES='xt/perltidy.t' || true
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/Message_smime.t t/compile_scenarios.t t/parse_templates.t t/pod-syntax.t'
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/Message.t t/Message_smime.t t/compile_scenarios.t t/parse_templates.t t/pod-syntax.t'
after_success:
- coverage-report
......
......@@ -30,6 +30,7 @@ check_SCRIPTS = \
t/02_Sympa_DatabaseManager.t \
t/Language.t \
t/LockedFile.t \
t/Message.t \
t/Message_smime.t \
t/Regexps.t \
t/compile_modules.t \
......@@ -56,7 +57,16 @@ check_DATA = \
t/pki/key/ca.pem \
t/pki/key/rousse_nopassword.pem \
t/pki/key/rousse_password.pem \
t/samples/urlize-deep-nested-mixed.eml \
t/samples/urlize-encoding.eml \
t/samples/urlize-nested-alternative-and-related.eml \
t/samples/urlize-nested-alternative.eml \
t/samples/urlize-nested-mixed.eml \
t/samples/urlize-nested-mutiple-attachments.eml \
t/samples/urlize-simple-mutiple-attachments.eml \
t/samples/urlize-simple.eml \
t/stub/Sympa/Constants.pm \
t/data/list_data/test/config \
t/data/sympa.conf \
t/data/sympa.sqlite \
t/data/etc/auth.conf \
......
......@@ -179,9 +179,11 @@ recommends 'Net::SMTP';
# Normalizes file names represented by Unicode
# Note: Perl 5.8.1 bundles version 0.23.
# Note: Perl 5.10.1 bundles this version (per Unicode 5.1.0).
# Note: Perl 5.10.1 bundles 1.03 (per Unicode 5.1.0).
recommends 'Unicode::Normalize', '>= 1.03';
recommends 'Unicode::UTF8', '>= 0.58';
### Features
##
......@@ -296,10 +298,11 @@ feature 'soap', 'Required if you want to run the Sympa SOAP server that provides
requires 'SOAP::Lite', '>= 0.712';
};
feature 'Unicode::Normalize', 'Normalizes file names represented by Unicode.' => sub {
feature 'safe-unicode', 'Sanitises inputs with Unicode text.' => sub {
# Note: Perl 5.8.1 bundles version 0.23.
# Note: Perl 5.10.1 bundles this version (per Unicode 5.1.0).
# Note: Perl 5.10.1 bundles 1.03 (per Unicode 5.1.0).
requires 'Unicode::Normalize', '>= 1.03';
requires 'Unicode::UTF8', '>= 0.58';
};
on 'test' => sub {
......
......@@ -86,6 +86,8 @@ nobase_default_DATA = \
scenari/d_read.private \
scenari/d_read.private-https \
scenari/d_read.public \
scenari/family_signoff.auth \
scenari/family_signoff.closed \
scenari/global_remind.listmaster \
scenari/info.open \
scenari/info.private \
......@@ -216,8 +218,6 @@ nobase_default_DATA = \
web_tt2/editsubscriber.tt2 \
web_tt2/edit_template.tt2 \
web_tt2/error.tt2 \
web_tt2/family_signoff.tt2 \
web_tt2/family_signoff_request.tt2 \
web_tt2/footer.tt2 \
web_tt2/get_closed_lists.tt2 \
web_tt2/get_inactive_lists.tt2 \
......
......@@ -10,7 +10,7 @@ Subject: [%"List \"%1@%2\" creation request from %3"|loc(list.name,domain,email)
[% 'info' | url_abs([list.name]) %]
[%|loc%]To activate/delete this mailing list:[%END%]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% 'get_pending_lists' | url_abs %]
[%- ELSIF type == 'list_created' -%]
[% PROCESS 'list_created.tt2' -%]
......@@ -30,7 +30,7 @@ Subject: [%"List \"%1\" renaming"|loc(list.name)|qencode%]
[% END %]
[%|loc%]To activate/delete this mailing list:[%END%]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% 'get_pending_lists' | url_abs %]
[% ELSIF type == 'no_db' -%]
Subject: [%"No database"|loc|qencode%]
......
......@@ -32,7 +32,7 @@ Subject: [%"FYI: %1 List \"%2\" from %3 %4"|loc(type,list.name,who,gecos)|qencod
[%|loc(who,gecos,list.name)%]WARNING: %1 %2 failed to unsubscribe from %3 because their address was not found in the list.
You may help this person looking for similar email in subscriber list using the following link :[%END%]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% 'search' | url_abs([list.name,who]) %]
[% ELSIF type == 'erase_customizing' -%]
Subject: [%"List \"%1\" customizations have been removed"|loc(list.name)|qencode%]
......
......@@ -15,7 +15,7 @@ Content-Disposition: inline
[% IF method == 'md5' -%]
[%|loc(mod_spool_size)%]%1 messages are awaiting moderation.[%END%]
[%|loc%]To view the messages, please click on the following URL:[%END%] <[% 'ticket' | url_abs([one_time_ticket]) %]>
[%|loc%]To view the messages, please click on the following URL:[%END%] <[% 'modindex' | url_abs([list.name]) %]>
[% IF request_topic -%][%|loc()%]This mailing list is configured to require topics; that's probably why this message went through the moderation process.[%END%]
......
[%# request_auth.tt2 ~%]
To: [% to %]
[% IF conf.wwsympa_url && type == 'signoff' -%]
[% IF conf.wwsympa_url && type == 'family_signoff' -%]
Subject: [%"%1 / unsubscribing from family %2"|loc(conf.title,family.name)|qencode%]
[%- ELSIF conf.wwsympa_url && type == 'signoff' -%]
Subject: [%"%1 / unsubscribing from %2"|loc(conf.title,list.name)|qencode%]
[%- ELSIF conf.wwsympa_url && type == 'subscribe' -%]
Subject: [%"%1 / subscribing to %2"|loc(conf.title,list.name)|qencode%]
......@@ -8,7 +10,10 @@ Subject: [%"%1 / subscribing to %2"|loc(conf.title,list.name)|qencode%]
Subject: [%"AUTH ${keyauth} ${cmd}"|qencode%]
[%- END %]
[% IF type == 'signoff' -%]
[% IF type == 'family_signoff' -%]
[%|loc(family.name)-%]You requested that your e-mail address be removed from family '%1'.[%- END -%]
[%- ELSIF type == 'signoff' -%]
[%|loc(list.name)-%]You requested that your e-mail address be removed from list '%1'.[%- END -%]
[%- ELSIF type == 'subscribe' -%]
......
......@@ -36,17 +36,6 @@ Subject: [%"Management of list %1"|loc(list.name)|qencode%]
[%|loc%]Owner and moderator guide:[%END%] [% 'help' | url_abs(['admin.html']) %]
[% END -%]
[% ELSIF type == 'ticket_to_family_signoff' -%]
Subject: [%"Unsubscribing from family %1"|loc(family)|qencode%]
[% IF context == 'family_signoff'%]
[%|loc(family,ip)%]Somebody (probably you) requested to unsubscribe you from family %1. This query was issued from the IP address %2.
To confirm and be removed from all the lists of this family, please click the link below: [%END%]
[% ELSE %]
[%|loc(family)%]You have requested to be removed from family %1. To confirm and be removed from all the lists of this family, please click the link below: [%END%]
[% END %]
[% 'ticket' | url_abs([one_time_ticket]) %]
[% ELSIF type == 'hundred_percent_error' -%]
Subject: [%"No valid recipient in list %1"|loc(list.name)|qencode%]
......
# family_signoff.auth
title.gettext need authentication
!equal([sender],[email]) smtp,dkim,md5,smime -> request_auth([email])
true() smtp,dkim -> request_auth([email])
true() md5,smime -> do_it
# family_signoff.closed
title.gettext impossible
true() smtp,dkim,md5,smime -> reject(reason='unsub_closed')
......@@ -56,6 +56,8 @@
[%|loc%]Add subscribers[%END%]
[%~ ELSIF heldaction == 'del' ~%]
[%|loc%]Delete selected email addresses[%END%]
[%~ ELSIF heldaction == 'family_signoff' ~%]
[%|loc%]Global unsubscription[%END%]
[%~ ELSIF heldaction == 'move_user' ~%]
[%|loc%]Changing user's email[%END%]
[%~ ELSIF heldaction == 'remind' || heldaction == 'global_remind' ~%]
......@@ -217,6 +219,16 @@
[%|loc(shared_doc.name)%]Do you really want to delete %1?[%END%]
</strong>
</p>
[%~ ELSIF confirm_action == 'family_signoff' ~%]
<h2>
<i class="fa fa-check-circle"></i>
[%|loc%]Global unsubscription[%END%]
</h2>
<p>
<strong>
[%|loc(family)%]Do you really want to unsubscribe from the lists in family %1?[%END%]
</strong>
</p>
[%~ ELSIF confirm_action == 'move_list' ~%]
<h2>
<i class="fa fa-check-circle"></i>
......@@ -387,6 +399,9 @@
<input type="hidden" name="heldaction" value="[% heldaction %]" />
<input type="hidden" name="listname" value="[% listname %]" />
<input type="hidden" name="email" value="[% email %]" />
[% IF heldaction == 'family_signoff' ~%]
<input type="hidden" name="family" value="[% family %]" />
[%~ END %]
[%~ ELSIF confirm_action == 'auth_add' ~%]
[% FOREACH i = id ~%]
<input type="hidden" name="id" value="[% i %]" />
......@@ -453,6 +468,8 @@
<input type="hidden" name="d_admin" value="[% d_admin %]" />
[%~ ELSIF confirm_action == 'd_delete' ~%]
<input type="hidden" name="path" value="[% shared_doc.paths.join("/") %]" />
[%~ ELSIF confirm_action == 'family_signoff' ~%]
<input type="hidden" name="email" value="[% email %]" />
[%~ ELSIF confirm_action == 'move_user' ~%]
<input type="hidden" name="current_email" value="[% current_email %]" />
<input type="hidden" name="email" value="[% email %]" />
......@@ -507,6 +524,7 @@
# Confirmation common hidden fields
#%]
<input type="hidden" name="action" value="[% confirm_action %]" />
<input type="hidden" name="family" value="[% family %]" />
<input type="hidden" name="list" value="[% list %]" />
<input type="hidden" name="previous_action" value="[% previous_action %]" />
......
<!-- family_signoff.tt2 -->
<h3>[%|loc%]Global unsubscription[% END %]</h3>
<p>
[%|loc(signing_off_email,family)%]You successfully unsubscribed the address %1 from family %2.[% END %]
</p>
<!-- end family_signoff.tt2 -->
<!-- family_signoff_request.tt2 -->
<h3>[%|loc%]Global unsubscription request[% END %]</h3>
<p>
[%|loc(signing_off_email,family)%]You clicked a link to unsubscribe the address %1 from family %2.[% END %]
</p>
<p>
[%|loc(family)%]A confirmation request was just sent to this address. By clicking the link it contains, you will be completely unsubscribed from all the lists from family %1[% END %]
</p>
<!-- end family_signoff_request.tt2 -->
<!-- family_signoff_request2.tt2 -->
<h3>[%|loc%]Global unsubscription[% END %]</h3>
<p>
[%|loc(signing_off_email,family)%]You successfully unsubscribed the address %1 from family %2.[% END %]
</p>
<!-- end family_signoff_request2.tt2 -->
......@@ -180,22 +180,22 @@ Default value is "nobody".
=item C<[topic]>
Topic of the message.
This variable has a value if any of the previous
C<[topic-*]> variable has a value.
This variable has a value if any of the following
C<[topic_*]> variables has a value.
=item C<[topic-auto]>
=item C<[topic_auto]>
Topic of the message if it has been automatically tagged.
=item C<[topic-editor]>
=item C<[topic_editor]>
Topic of the message if it has been tagged by editor.
=item C<[topic-needed]>
=item C<[topic_needed]>
The message has not got any topic and message topic are required for the list.
=item C<[topic-sender]>
=item C<[topic_sender]>
Topic of the message if it has been tagged by sender.
......@@ -349,10 +349,10 @@ var : "[email]"
| "[sender]"
| "[subscriber->" subscriber_key_word "]"
| "[topic]"
| "[topic-auto]"
| "[topic-editor]"
| "[topic-needed]"
| "[topic-sender]"
| "[topic_auto]"
| "[topic_editor]"
| "[topic_needed]"
| "[topic_sender]"
| "[user->" user_key_word "]"
| "[user_attributes->" user_attributes_keyword "]"
| string
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -1443,7 +1443,7 @@ msgid ""
msgstr ""
"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 "
"<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."
#: default/web_tt2/help_admin-editlist-sending.tt2:2
......@@ -2010,7 +2010,7 @@ msgid ""
msgstr ""
"<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 "
"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!"
#: default/web_tt2/help_admin-moderate.tt2:29
......@@ -2243,7 +2243,7 @@ msgstr "informació legal i polítiques de privacitat;"
#: default/web_tt2/help_admin-rules.tt2:35
msgid "sanctions applying to those who would not respect the list charter;"
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_introduction-roles.tt2:88
......@@ -2417,8 +2417,8 @@ msgid ""
"subscribe themselves to the list."
msgstr ""
"Atenció: ser propietari o moderador de la llista no significa que esteu "
"automàticament subscrits a la llista. De maner que els propietaris i "
"moderadors es tenen que subscriure a la llista."
"automàticament subscrits a la llista. De manera que els propietaris i "
"moderadors s'han de subscriure a la llista."
#: default/web_tt2/help_admin-users.tt2:25
msgid ""
......@@ -4085,8 +4085,8 @@ msgid ""
"A list can have <strong>one or several moderators</strong>; generally, the "
"list owner is also a moderator."
msgstr ""
"Una llista por tenir <strong>un o diversos moderadors</strong>; en general, "
"el propietari de la llista també és un moderador."
"Una llista pot tenir <strong>un o diversos moderadors</strong>; en general, "
"el propietari de la llista també n'és un moderador."
#: default/web_tt2/help_introduction-roles.tt2:104
msgid "This concerns only moderated lists."
......@@ -4209,7 +4209,7 @@ msgid ""
"According to the way they work, we can distinguish between <strong>two types "
"of lists</strong>:"
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>:"
#: default/web_tt2/help_introduction.tt2:58
......@@ -4399,8 +4399,8 @@ msgid ""
"a document if it has been published by someone else."
msgstr ""
"<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 "
"l'autor real del document si la publicat una altra persona."
"per a permetre que una altra persona l'editi en línia o per a indicar "
"l'autor real del document si l'ha publicat una altra persona."
#: default/web_tt2/help_shared-edit.tt2:53
msgid "Editing folders, files or bookmarks"
......@@ -4557,7 +4557,7 @@ msgid ""
msgstr ""
"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 "
"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>."
#: default/web_tt2/help_shared-hint.tt2:7
......
......@@ -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-command.tt2:95
msgid "public (public)."
msgstr "public (public)."
msgstr "publique (public)."
#: default/web_tt2/help_admin-editlist-archives.tt2:15
msgid ""
......@@ -943,11 +943,11 @@ msgid ""
"addresses temporarily unavailable when messages were sent, inbox quota "
"exceeded, etc."
msgstr ""
"Les <strong>rejets (bounces)</strong> représentent les <strong>abonnés en "
"erreur</strong>, c'est-à-dire les abonnés qui ne reçoivent pas les messages "
"envoyés sur la liste. Les raisons peuvent être variées : adresses qui "
"n'existent plus, adresses momentanément indisponibles au moment de l'envoi "
"de messages, capacité de la boîte de réception atteinte, etc."
"\"<strong>Les rejets</strong>\" représentent les <strong>abonnés dont "
"l'adresse est erronnée</strong>, c'est-à-dire les abonnés qui ne reçoivent "
"pas les messages envoyés sur la liste. Les raisons peuvent être variées : "
"adresses qui n'existent plus, adresses momentanément indisponibles au moment "
"de l'envoi de messages, capacité de la boîte de réception atteinte, etc."
#: default/web_tt2/help_admin-editlist-bounces.tt2:7
msgid "The '<strong>Bounce management</strong>' section defines two rates:"
......@@ -1115,8 +1115,8 @@ msgstr "demande d'abonnement avec signature par certificat (smime);"
#: default/web_tt2/help_admin-editlist-command.tt2:49
msgid "requires S/MIME signed or owner approval (smimeorowner)."
msgstr ""
"ouvert à tous après autorisation du proprio ou avec signature par certificat "
"(smimeorowner)."
"ouvert à tous après autorisation du propriétaire ou avec signature par "
"certificat S/MIME (smimeorowner)."
#: default/web_tt2/help_admin-editlist-command.tt2:53
msgid ""
......@@ -1150,7 +1150,7 @@ msgstr "authentification demandée, notification du propriétaire (auth_notify);
#: default/web_tt2/help_admin-editlist-command.tt2:66
msgid "impossible (closed);"
msgstr "impossible (closed);"
msgstr "impossible (fermé);"
#: default/web_tt2/help_admin-editlist-command.tt2:69
msgid "open (open) - <em>default option</em>;"
......@@ -1338,7 +1338,7 @@ msgid ""
"<strong>BE CAREFUL: do not forget to click on the 'Apply modifications' "
"button</strong> on bottom of page to save all your changes."
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."
#: default/web_tt2/help_admin-editlist-description.tt2:2
......@@ -1520,8 +1520,9 @@ msgid ""
"With the '<strong>All</strong>' value, the reply is sent to both the "
"<strong>message sender</strong> AND the <strong>list</strong>."
msgstr ""
"Lorsque la valeur choisie est '<strong>All</strong>', la réponse est envoyée "
"à l'<strong>expéditeur du message</strong> ET à la <strong>liste</strong>."
"Lorsque la valeur choisie est \"<strong>Répondre à tous</strong>\", la "
"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
msgid ""
......@@ -4971,8 +4972,8 @@ msgid ""
msgstr ""
"<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 "
"créer de document bureautique (.DOC, .XLS, .PPT, .RTF, .SXW, etc.), .PDF, "
"image, etc</strong>"
"créer de document bureautique (.DOC, .XLS, .PPT, .RTF, .ODT, etc.), .PDF, "
"des image, etc</strong>"
#: default/web_tt2/help_shared-upload.tt2:114
msgid ""
......@@ -5636,8 +5637,8 @@ msgstr ""
"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 "
"modification, de rectification et de suppression des données vous "
"concernant. Pour l'exercer, <a href=\"faq-user-contact.html\">contactez les "
"propriétaires de la liste</a>."
"concernant. Pour en savoir plus, <a href=\"faq-user-contact.html\">contactez "
"les propriétaires de la liste</a>."
#: default/web_tt2/help_user-rules.tt2:48
msgid ""
......@@ -6181,11 +6182,10 @@ msgid ""
"reactivate it at any time by visiting the \"Manage your subscription\" "
"section."
msgstr ""
"<strong> Suspension</strong>: ce mode vous permet de suspendre votre "
"abonnement à une ou plusieurs listes pour une période déterminée ou non. "
"Contrairement au désabonnement, vous pouvez garder une trace de votre "
"abonnement et de le réactiver à tout moment en visitant la page \"Gérer "
"votre abonnement\"."
"<strong>En pause</strong>: ce mode vous permet de suspendre votre abonnement "
"à une ou plusieurs listes pour une période déterminée ou non. Contrairement "
"au désabonnement, vous pouvez garder une trace de votre abonnement et de le "
"réactiver à tout moment en visitant la page \"Gérer votre abonnement\"."
#: default/web_tt2/help_user-suboptions.tt2:57
msgid "<strong>Choose a visibility option</strong>:"
......
This diff is collapsed.
......@@ -8,8 +8,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018, 2019 The Sympa Community. See the AUTHORS.md file at
# the top-level directory of this distribution and at
# Copyright 2017, 2018, 2019, 2020 The Sympa Community. See the AUTHORS.md
# file at the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -112,11 +112,6 @@ my %old_params = (
'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 = (
'trusted_application' => {
'occurrence' => '0-n',
......@@ -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});
## Some parameters must have a value specifically defined in the
......@@ -2057,18 +2047,8 @@ sub _load_robot_secondary_config_files {
## 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.
## Returns a ref to a hash containing the ignored values.
sub _set_hardcoded_parameter_values {
my $param = shift;
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;
}
# Deprecated.
#sub _set_hardcoded_parameter_values;
sub _detect_missing_mandatory_parameters {
my $param = shift;
......
......@@ -92,6 +92,7 @@ nobase_modules_DATA = \
Sympa/Request/Handler/decl.pm \
Sympa/Request/Handler/del.pm \
Sympa/Request/Handler/distribute.pm \
Sympa/Request/Handler/family_signoff.pm \
Sympa/Request/Handler/finished.pm \
Sympa/Request/Handler/get.pm \
Sympa/Request/Handler/global_remind.pm \
......
......@@ -8,8 +8,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018, 2019 The Sympa Community. See the AUTHORS.md file at
# the top-level directory of this distribution and at
# Copyright 2017, 2018, 2019, 2020 The Sympa Community. See the AUTHORS.md
# file at the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -45,8 +45,6 @@ use Sympa::Language;
use Sympa::Log;
use Sympa::Regexps;
use Sympa::Spindle::ProcessTemplate;
use Sympa::Ticket;
use Sympa::Tools::Data;
use Sympa::Tools::Text;
my $log = Sympa::Log->instance;
......@@ -176,7 +174,7 @@ sub _get_search_path {
}
} elsif (ref $that and ref $that eq 'Sympa::Family') {
my $path_family;
@search_path = _get_search_path($that->{'robot'}, @_);
@search_path = _get_search_path($that->{'domain'}, @_);
if ($subdir) {
$path_family = $that->{'dir'} . '/' . $subdir;
......@@ -436,61 +434,30 @@ sub send_notify_to_listmaster {
$data->{'type'} = $operation;
$data->{'auto_submitted'} = 'auto-generated';
my @tosend;
if ($operation eq 'no_db' or $operation eq 'db_restored') {
$data->{'db_name'} = Conf::get_robot_conf($robot_id, 'db_name');
}
if ( $operation eq 'request_list_creation'
or $operation eq 'request_list_renaming') {
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
};
}
# When operation is either missing_dbd, no_db or db_restored,
# skip DB access because DB is not accessible.
my $spindle = Sympa::Spindle::ProcessTemplate->new(
context => $that,
template => 'listmaster_notification',
rcpt => [@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(
context => $that,
template => 'listmaster_notification',
rcpt => $email,
data => $ts->{'data'},
splicing_to => ['Sympa::Spindle::ToListmaster'],
);
unless ($spindle
and $spindle->spin
and $spindle->{finish} eq 'success') {
$log->syslog(
'notice',
'Unable to send template "listmaster_notification" to %s listmaster %s',
$robot_id,
$ts->{'email'}
) unless $operation eq 'logs_failed';
return undef;
}
splicing_to => ['Sympa::Spindle::ToListmaster'],
);
unless ($spindle
and $spindle->spin
and $spindle->{finish} eq 'success') {
$log->syslog(
'notice',
'Unable to send template "listmaster_notification" to %s listmaster %s',
$robot_id,
join(', ', @listmasters),
) unless $operation eq 'logs_failed';
return undef;
}
return 1;
......@@ -522,14 +489,6 @@ sub send_notify_to_user {
$param->{'to'} = $user;
$param->{'type'} = $operation;