diff --git a/.travis.yml b/.travis.yml index 767b69afce1288cfe5ae23cdef517a5deb6980f0..455f223b53c6c6b1084b4607326214435bbe45f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,6 +32,7 @@ install: - cpanm --notest --quiet CGI::Fast FCGI - cpanm --notest --quiet Unicode::CaseFold - cpanm --notest --quiet SOAP::Lite Net::LDAP + - cpanm --installdeps . --with-develop before_script: - coverage-setup @@ -40,6 +41,7 @@ script: - 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/parse_templates.t t/pod-syntax.t' after_success: diff --git a/Makefile.am b/Makefile.am index 44b826ac20b43813e648d8c574758104fa025272..6e92032845e4308a8330d9573e6988e30afb2046 100644 --- a/Makefile.am +++ b/Makefile.am @@ -58,11 +58,13 @@ noinst_SCRIPTS = \ xt/fixme.t \ xt/fixme-todo.t \ xt/pod-coverage.t \ - xt/pod-spelling.t + xt/pod-spelling.t \ + xt/perltidy.t EXTRA_DIST = \ AUTHORS.md \ CONTRIBUTING.md \ + cpanfile \ INSTALL.md \ NEWS.md \ OChangeLog \ diff --git a/cpanfile b/cpanfile new file mode 100644 index 0000000000000000000000000000000000000000..da18050d73c3e0d3fd76cd426113e02d3de31b24 --- /dev/null +++ b/cpanfile @@ -0,0 +1,5 @@ +on 'develop' => sub { + requires 'Test::Fixme'; + requires 'Test::PerlTidy'; + requires 'Perl::Tidy', '== 20180220'; +}; diff --git a/default/Makefile.am b/default/Makefile.am index 8a9f8b6118814d18204d4109678abc8478033c82..4e85f08d64e0c00ee66dd344ed112d87fe285137 100644 --- a/default/Makefile.am +++ b/default/Makefile.am @@ -65,8 +65,17 @@ nobase_default_DATA = \ global_task_models/purge_spools.daily.task \ global_task_models/purge_tables.daily.task \ global_task_models/purge_user_table.monthly.task \ + list_task_models/expire.2month.task \ + list_task_models/expire.3month.task \ + list_task_models/expire.4month.task \ + list_task_models/expire.6month.task \ + list_task_models/expire.9month.task \ list_task_models/expire.yearly.task \ list_task_models/remind.2month.task \ + list_task_models/remind.3month.task \ + list_task_models/remind.4month.task \ + list_task_models/remind.6month.task \ + list_task_models/remind.9month.task \ list_task_models/remind.monthly.task \ list_task_models/remind.yearly.task \ list_task_models/sync_include.ttl.task \ diff --git a/default/mail_tt2/automatic_bounce_management.tt2 b/default/mail_tt2/automatic_bounce_management.tt2 index e807b32295503785b0602e4c6d60662043a090cd..6e72631f02bc0504daf18167daab4dea615b8c5c 100644 --- a/default/mail_tt2/automatic_bounce_management.tt2 +++ b/default/mail_tt2/automatic_bounce_management.tt2 @@ -13,4 +13,6 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]List %1 automatic bounce managem [% user %] [% END %] +[% IF conf.wwsympa_url -%] [%|loc%]Managing bouncing subscribers:[%END%] [% 'reviewbouncing' | url_abs([list.name]) %] +[% END -%] diff --git a/default/mail_tt2/command_report.tt2 b/default/mail_tt2/command_report.tt2 index 8fa13a338b88c03fafbc8f562525769ebdfafea8..ba854eb6249d008adaa23b3e084821ff8c285904 100644 --- a/default/mail_tt2/command_report.tt2 +++ b/default/mail_tt2/command_report.tt2 @@ -126,4 +126,6 @@ X-Loop: [% conf.email %]@[% domain %] -----------==========================================----------- +[% IF conf.wwsympa_url -%] [%|loc(conf.wwsympa_url)%]For further information, check the mailing list web site %1[%END%] +[% END -%] diff --git a/default/mail_tt2/expire_warning1.tt2 b/default/mail_tt2/expire_warning1.tt2 index 4d5a9a598c9a5fdb9342018fb20f9c16f44fb026..441fcf040ddba0ac270c67a1fce10bab621e2502 100644 --- a/default/mail_tt2/expire_warning1.tt2 +++ b/default/mail_tt2/expire_warning1.tt2 @@ -2,12 +2,16 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]resubscription to %1[%END%][%END%] [%|loc(list.name,domain,user.email)%]You have been subscriber of list %1@%2 with email %3 for 1 year or more.[%END%] -[% | mailtourl({subject => "sub ${list.name}"}) ~%] - [% conf.email %]@[% domain %] -[%~ END %] +[% "${conf.email}@${domain}" | mailtourl({subject => "sub ${list.name}"}) %] -[%|loc%]Everything about this list: [%END%][% 'info' | url_abs([list.name]) %] -[%|loc%]Unsubscription:[%END%] -[% | mailtourl({subject => "sig ${list.name} ${user.email}"}) ~%] - [% conf.email %]@[% domain %] -[%~ END %] +[% IF conf.wwsympa_url -%] +[%|loc%]Everything about this list: [%END ~%] + [% 'info' | url_abs([list.name]) %] +[%|loc%]Unsubscription:[%END%] [%""~%] + [% 'signoff' | url_abs([list.name]) %] +[% ELSE -%] +[%|loc%]Information about this list: [%END ~%] + [% "${conf.email}@${domain}" | mailtourl({subject => "info ${list.name}"}) %] +[%|loc%]Unsubscription:[%END%] [%""~%] + [% "${conf.email}@${domain}" | mailtourl({subject => "sig ${list.name} ${user.email}"}) %] +[% END -%] diff --git a/default/mail_tt2/expire_warning2.tt2 b/default/mail_tt2/expire_warning2.tt2 index f2419c666bba3e1d67a2889fffad9684ae70742f..e97d0faa981d8a8a0fe1faf7f85ed3d1958c4949 100644 --- a/default/mail_tt2/expire_warning2.tt2 +++ b/default/mail_tt2/expire_warning2.tt2 @@ -3,12 +3,16 @@ From: [% fromlist %] Subject: [% FILTER qencode %][%|loc(list.name)%]resubscription to %1[%END%][%END%] [%|loc(list.name,domain,user.email)%]You have been subscriber of list %1@%2 with email %3 for 1 year or more.[%END%] -[% | mailtourl({subject => "sub ${list.name}"}) ~%] - [% conf.email %]@[% domain %] -[%~ END %] +[% "${conf.email}@${domain}" | mailtourl({subject => "sub ${list.name}"}) %] -[%|loc%]Everything about this list: [%END%][% 'info' | url_abs([list.name]) %] -[%|loc%]Unsubscription:[%END%] -[% | mailtourl({subject => "sig ${list.name} ${user.email}"}) ~%] - [% conf.email %]@[% domain %] -[%~ END %] +[% IF conf.wwsympa_url -%] +[%|loc%]Everything about this list: [%END ~%] + [% 'info' | url_abs([list.name]) %] +[%|loc%]Unsubscription:[%END%] [%""~%] + [% 'signoff' | url_abs([list.name]) %] +[% ELSE -%] +[%|loc%]Information about this list: [%END ~%] + [% "${conf.email}@${domain}" | mailtourl({subject => "info ${list.name}"}) %] +[%|loc%]Unsubscription:[%END%] [%""~%] + [% "${conf.email}@${domain}" | mailtourl({subject => "sig ${list.name} ${user.email}"}) %] +[% END -%] diff --git a/default/mail_tt2/invite.tt2 b/default/mail_tt2/invite.tt2 index b4dfe213fdd0926cd761225779fa6fce0d1f7114..6aa2a4e5df15b0dd6b0badd2ae829d38698be62f 100644 --- a/default/mail_tt2/invite.tt2 +++ b/default/mail_tt2/invite.tt2 @@ -6,15 +6,13 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]Invitation to join list %1[%END% [%|loc(list.subject)%]This list is about %1, so you are probably concerned.[%END%] [%|loc%]To subscribe, click the following URL:[%END%] -[% IF user_interfaces.size() == 1 && user_interfaces.0 == 'mail' -%] -[% | mailtourl({subject => "AUTH ${keyauth} ${cmd}"}) ~%] - [% conf.email %]@[% domain %] -[%~ END %] +[% IF conf.wwsympa_url -%] + [% 'auth' | url_abs([keyauth,'subscribe',list.name],{email=>user.email}) %] +[%~ ELSE -%] + [% "${conf.email}@${domain}" | mailtourl({subject => "AUTH ${keyauth} ${cmd}"}) %] [%|loc(conf.email,domain)%]Or send a message to %1@%2 with the following subject:[%END%] AUTH [% keyauth %] [% cmd %] -[%- ELSE -%] - [% 'auth' | url_abs([keyauth,'subscribe'],{email=>user.email}) %] -[%- END %] +[%~ END -%] [%|loc%]If you don't want to subscribe just ignore this message.[%END%] diff --git a/default/mail_tt2/list_created.tt2 b/default/mail_tt2/list_created.tt2 index 372d4ce3842ad67fb1677a5ef3bb54baf8b76d02..9832008bc8ad67385c25cf8546f7bd851bed9445 100644 --- a/default/mail_tt2/list_created.tt2 +++ b/default/mail_tt2/list_created.tt2 @@ -3,8 +3,10 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]%1 mailing list creation[%END%][ [%|loc(list.name,domain)%]%1@%2 mailing list has been activated by listmaster.[%END%] +[% IF conf.wwsympa_url -%] [%|loc%]homepage[%END%] [% 'info' | url_abs([list.name]) %] [%|loc(list.name)%]%1 admin page[%END%] [% 'admin' | url_abs([list.name]) %] +[% END -%] diff --git a/default/mail_tt2/reject.tt2 b/default/mail_tt2/reject.tt2 index 763b962e853ed0c5bae6651fd52a179ebd5f9ad8..f47588dba0028cf450c1787653f43f1aa6e4ea1f 100644 --- a/default/mail_tt2/reject.tt2 +++ b/default/mail_tt2/reject.tt2 @@ -6,6 +6,7 @@ Subject: [% FILTER qencode %][%|loc%]Your message has been rejected[%END%][%END% [%|loc(subject)%](Subject of your mail: %1)[%END%] - +[% IF conf.wwsympa_url -%] [%|loc(list.name)%]Check %1 list usage:[%END%] [% 'info' | url_abs([list.name]) %] +[% END -%] diff --git a/default/mail_tt2/remind.tt2 b/default/mail_tt2/remind.tt2 index 038917aaf88d81e4d5a5712aadc1097bea6f7cd7..b8b7b67baaff702ddce2d05509f4b564e5f00ae4 100644 --- a/default/mail_tt2/remind.tt2 +++ b/default/mail_tt2/remind.tt2 @@ -6,10 +6,14 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]Reminder of your subscription to [%|loc%]It is important to us to not send mail to people that don't want to receive it. If you do not want to be on this mailing list, please follow the instructions below to remove yourself.[%END%] -[%|loc%]List information: [%END%][% 'info' | url_abs([list.name]) %] -[% IF subscriber.included != 1 %] -[%|loc%]To unsubscribe:[%END%] -[% | mailtourl({subject => "sig ${list.name} ${user.email}"}) ~%] - [% conf.email %]@[% domain %] -[%~ END %] -[%END%] +[% IF conf.wwsympa_url -%] +[%|loc%]List information: [%END ~%] + [% 'info' | url_abs([list.name]) %] +[%|loc%]To unsubscribe:[%END%] [%""~%] + [% 'signoff' | url_abs([list.name]) %] +[% ELSE -%] +[%|loc%]List information: [%END ~%] + [% "${conf.email}@${domain}" | mailtourl({subject => "info ${list.name}"}) %] +[%|loc%]To unsubscribe:[%END%] [%""~%] + [% "${conf.email}@${domain}" | mailtourl({subject => "sig ${list.name} ${user.email}"}) %] +[% END -%] diff --git a/default/mail_tt2/request_auth.tt2 b/default/mail_tt2/request_auth.tt2 index 44c1db98cd8865624627da83e994cf7fd2eb82f8..3c1349e466297ac254e661608c8513a9130e9f7c 100644 --- a/default/mail_tt2/request_auth.tt2 +++ b/default/mail_tt2/request_auth.tt2 @@ -33,7 +33,7 @@ Subject: [% FILTER qencode %]AUTH [%keyauth%] [%cmd%][%END%] [%- END -%] -[% IF user_interfaces.size() == 1 and user_interfaces.0 == 'mail' -%] +[% IF not conf.wwsympa_url -%] [% sympa = BLOCK %][% conf.email %]@[% domain %][%END -%] [%|loc(sympa,"AUTH ${keyauth} ${cmd}") %]If you want this action to be taken, please diff --git a/default/mail_tt2/user_notification.tt2 b/default/mail_tt2/user_notification.tt2 index b939e5470dc35801957d46062c695859909605b9..91217e97ef0f1f7f3a6afe837575bf961f557fcd 100644 --- a/default/mail_tt2/user_notification.tt2 +++ b/default/mail_tt2/user_notification.tt2 @@ -31,8 +31,10 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]Management of list %1[%END%][%EN [%|loc(delegator,list.name,domain)%]You have been delegated the responsability of list moderator by %1 for list %2@%3.[%END%] [% END %] +[% IF conf.wwsympa_url -%] [%|loc%]The list homepage:[%END%] [% 'info' | url_abs([list.name]) %] [%|loc%]Owner and moderator guide:[%END%] [% 'help/admin' | url_abs %] +[% END -%] [% ELSIF type == 'ticket_to_family_signoff' -%] Subject: [% FILTER qencode %][%|loc(family)%]Unsubscribing from family %1[%END%][%END%] diff --git a/default/mail_tt2/welcome.tt2 b/default/mail_tt2/welcome.tt2 index b1bce710000dea99ef980080107b4d4d708c9cb5..fc3698dd3e7a697e714fd69c619d2df58a228177 100644 --- a/default/mail_tt2/welcome.tt2 +++ b/default/mail_tt2/welcome.tt2 @@ -10,6 +10,7 @@ Subject: [% FILTER qencode %][%|loc(list.name)%]Welcome to list %1[%END%][%END%] [% CATCH %] [% END %] +[% IF conf.wwsympa_url -%] [%|loc%]The list homepage:[%END%] [% 'info' | url_abs([list.name]) %] [%|loc%]General informations about mailing lists:[%END%] [% 'help/introduction' | url_abs %] - +[% END -%] diff --git a/default/mail_tt2/x509-user-cert-missing.tt2 b/default/mail_tt2/x509-user-cert-missing.tt2 index 6c657ed3c0ffcbfdb53ffc1f7f6877405f88df35..e267f7e6b061d56a9639d3f0a75c1ecc013f951d 100644 --- a/default/mail_tt2/x509-user-cert-missing.tt2 +++ b/default/mail_tt2/x509-user-cert-missing.tt2 @@ -8,5 +8,7 @@ Subject: %2[%END%] [%|loc(user.email)%]It was not possible to send you the message because the mailing list manager was unable to access your personal certificate (email %1).[%END%] [%|loc(conf.email,domain)%]Please, in order to receive future encrypted messages send a signed message to %1@%2.[%END%] +[% IF conf.wwsympa_url -%] [%|loc%]Information about this list:[%END%] [% 'info' | url_abs([list.name]) %] +[% END -%] diff --git a/default/scenari/send.confidential b/default/scenari/send.confidential index 34932bd3973b3deaeaabb2ee0a513551f8a4f030..14e2b28322acf77b59310ea5f2b8ba6af2d7dbaa 100644 --- a/default/scenari/send.confidential +++ b/default/scenari/send.confidential @@ -1,4 +1,4 @@ -title.gettext restricted to subscribers +title.gettext restricted to subscribers, messages from others are discarded is_subscriber([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it diff --git a/default/web_tt2/help_sendmsg.tt2 b/default/web_tt2/help_sendmsg.tt2 index 37610bf7afcf1f395fa4a926aad1dbba48596f2b..80d454201e987d75f37dd98d0d5c246ec8073406 100644 --- a/default/web_tt2/help_sendmsg.tt2 +++ b/default/web_tt2/help_sendmsg.tt2 @@ -33,7 +33,7 @@
[%|helploc%]All messages sent to the list are kept in the list archive. Thus, the simple fact of sending a message constitutes an express authorization of distribution and reproduction in the archive. However, you can request the deletion of any message you sent, whether directly from the list archive ('Tag this mail for deletion' button) or by contacting the list owners.[%END%]
[%|helploc%]If you send a message to the list, your email address will naturally display in your message header and in the list archive. However, unless otherwise specified, your email address and the other data you provided when you subscribed will not be disclosed to any other third party without your agreement.[%END%]
-[%|helploc%]In most countries, your personal data is protected through a number of laws. For example, in the United States, the Privacy Act of 1974 applies. In the European Union, the "Directive 95/46/EC of the European Parliament and of the Council of 24 October 1995 on the protection of individuals with regard to the processing of personal data and on the free movement of such data" and national laws arising from it apply. To know more about this, please contact the list owners.[%END%]
+[%|helploc%]In most countries, your personal data is protected through a number of laws. For example, in the United States, the Privacy Act of 1974 applies. In the European Union, the "Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data" and national laws arising from it apply. To know more about this, please contact the list owners.[%END%]
[%|helploc%]As for any correspondence, you must sign your messages. On professional mailing lists, it is customary to mention the name of the organization you belong to and your job title alongside your name. However, ask yourself whether it is relevant to give your complete details (address, telephone number, etc.): they will remain available at any time in the list archive...[%END%]
[%|helploc%]Do never send information about other people without their express agreement.[%END%]
diff --git a/default/web_tt2/modindex.tt2 b/default/web_tt2/modindex.tt2 index 847e368a61738835a7342d1e0a1b177774bc316b..70938a7af8420d356ed5da8b2202c6c95fe813ee 100644 --- a/default/web_tt2/modindex.tt2 +++ b/default/web_tt2/modindex.tt2 @@ -7,29 +7,6 @@ method="POST">