Merge authors:
David Siebörger (dsieborger)
Related merge proposals:
https://code.launchpad.net/~dsieborger/mailman/recaptcha/+merge/336782
proposed by: David Siebörger (dsieborger)
review: Approve - Mark Sapiro (msapiro)
------------------------------------------------------------
revno: 1738 [merge]
committer: Mark Sapiro <[email protected]>
branch nick: 2.1
timestamp: Mon 2018-01-29 20:06:24 -0800
message:
Added the ability to add reCAPTCHA to the listinfo subscribe form.
modified:
Mailman/Cgi/listinfo.py
Mailman/Cgi/subscribe.py
Mailman/Defaults.py.in
NEWS
templates/ar/listinfo.html
templates/ast/listinfo.html
templates/ca/listinfo.html
templates/cs/listinfo.html
templates/da/listinfo.html
templates/de/listinfo.html
templates/el/listinfo.html
templates/en/listinfo.html
templates/es/listinfo.html
templates/et/listinfo.html
templates/eu/listinfo.html
templates/fa/listinfo.html
templates/fi/listinfo.html
templates/fr/listinfo.html
templates/gl/listinfo.html
templates/he/listinfo.html
templates/hr/listinfo.html
templates/hu/listinfo.html
templates/ia/listinfo.html
templates/it/listinfo.html
templates/ja/listinfo.html
templates/ko/listinfo.html
templates/lt/listinfo.html
templates/nl/listinfo.html
templates/no/listinfo.html
templates/pl/listinfo.html
templates/pt/listinfo.html
templates/pt_BR/listinfo.html
templates/ro/listinfo.html
templates/ru/listinfo.html
templates/sk/listinfo.html
templates/sl/listinfo.html
templates/sr/listinfo.html
templates/sv/listinfo.html
templates/tr/listinfo.html
templates/uk/listinfo.html
templates/vi/listinfo.html
templates/zh_CN/listinfo.html
templates/zh_TW/listinfo.html
--
lp:mailman/2.1
https://code.launchpad.net/~mailman-coders/mailman/2.1
Your team Mailman Checkins is subscribed to branch lp:mailman/2.1.
To unsubscribe from this branch go to
https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Cgi/listinfo.py'
--- Mailman/Cgi/listinfo.py 2017-06-06 05:47:05 +0000
+++ Mailman/Cgi/listinfo.py 2018-01-30 04:06:24 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2017 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2018 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -21,6 +21,7 @@
# No lock needed in this script, because we don't change data.
import os
+import re
import cgi
import time
@@ -243,6 +244,18 @@
replacements['<mm-displang-box>'] = displang
replacements['<mm-lang-form-start>'] = mlist.FormatFormStart('listinfo')
replacements['<mm-fullname-box>'] = mlist.FormatBox('fullname', size=30)
+ # If reCAPTCHA is enabled, display its user interface
+ if mm_cfg.RECAPTCHA_SITE_KEY:
+ rlang = re.sub('_', '-', lang)
+ replacements['<mm-recaptcha-ui>'] = (
+ """<tr><td> </td><td>
+ <script src="https://www.google.com/recaptcha/api.js?hl=%s">
+ </script>
+ <div class="g-recaptcha" data-sitekey="%s"></div>
+ </td></tr>"""
+ % (rlang, mm_cfg.RECAPTCHA_SITE_KEY))
+ else:
+ replacements['<mm-recaptcha-ui>'] = ''
# Do the expansion.
doc.AddItem(mlist.ParseTags('listinfo.html', replacements, lang))
=== modified file 'Mailman/Cgi/subscribe.py'
--- Mailman/Cgi/subscribe.py 2017-06-06 05:47:05 +0000
+++ Mailman/Cgi/subscribe.py 2018-01-30 04:06:24 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2017 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2018 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -22,6 +22,9 @@
import cgi
import time
import signal
+import urllib
+import urllib2
+import json
from Mailman import mm_cfg
from Mailman import Utils
@@ -131,6 +134,25 @@
os.environ.get('HTTP_X_FORWARDED_FOR',
os.environ.get('REMOTE_ADDR',
'unidentified origin')))
+
+ # Check reCAPTCHA submission, if enabled
+ if mm_cfg.RECAPTCHA_SECRET_KEY:
+ request = urllib2.Request(
+ url = 'https://www.google.com/recaptcha/api/siteverify',
+ data = urllib.urlencode({
+ 'secret': mm_cfg.RECAPTCHA_SECRET_KEY,
+ 'response': cgidata.getvalue('g-recaptcha-response', ''),
+ 'remoteip': remote}))
+ try:
+ httpresp = urllib2.urlopen(request)
+ captcha_response = json.load(httpresp)
+ httpresp.close()
+ if not captcha_response['success']:
+ results.append(_('reCAPTCHA validation failed: %s' %
+ ', '.join(captcha_response['error-codes'])))
+ except urllib2.URLError as e:
+ results.append(_('reCAPTCHA could not be validated: %s' % e.reason))
+
# Are we checking the hidden data?
if mm_cfg.SUBSCRIBE_FORM_SECRET:
now = int(time.time())
=== modified file 'Mailman/Defaults.py.in'
--- Mailman/Defaults.py.in 2017-11-06 11:23:01 +0000
+++ Mailman/Defaults.py.in 2018-01-30 04:06:24 +0000
@@ -1,6 +1,6 @@
# -*- python -*-
-# Copyright (C) 1998-2017 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2018 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -131,6 +131,12 @@
# test.
SUBSCRIBE_FORM_MIN_TIME = seconds(5)
+# Use Google reCAPTCHA to protect the subscription form from spam bots. The
+# following must be set to a pair of keys issued by the reCAPTCHA service at
+# https://www.google.com/recaptcha/admin
+RECAPTCHA_SITE_KEY = None
+RECAPTCHA_SECRET_KEY = None
+
# Installation wide ban list. This is a list of email addresses and regexp
# patterns (beginning with ^) which are not allowed to subscribe to any lists
# in the installation. This supplements the individual list's ban_list.
=== modified file 'NEWS'
--- NEWS 2018-01-28 01:45:22 +0000
+++ NEWS 2018-01-30 04:06:24 +0000
@@ -1,6 +1,6 @@
-*- coding: iso-8859-1 -*-
Mailman - The GNU Mailing List Management System
-Copyright (C) 1998-2017 by the Free Software Foundation, Inc.
+Copyright (C) 1998-2018 by the Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Here is a history of user visible changes to Mailman.
@@ -9,6 +9,13 @@
New Features
+ - Thanks to David Sieb�rger who adapted an existing patch by Andrea
+ Veri to use Google reCAPTCHA v2 there is now the ability to add
+ reCAPTCHA to the listinfo subscribe form. There are two new mm_cfg.py
+ settings for RECAPTCHA_SITE_KEY and RECAPTCHA_SECRET_KEY, the values
+ for which you obtain for your domain(s) from Google at
+ <https://www.google.com/recaptcha/admin>.
+
- Thanks to Lindsay Haisley, there is a new bin/mailman-config command
to display various information about this Mailman version and how it
was configured.
=== modified file 'templates/ar/listinfo.html'
--- templates/ar/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/ar/listinfo.html 2018-01-29 12:58:42 +0000
@@ -111,6 +111,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/ast/listinfo.html'
--- templates/ast/listinfo.html 2009-12-08 23:25:52 +0000
+++ templates/ast/listinfo.html 2018-01-29 12:58:42 +0000
@@ -103,6 +103,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></P></center>
=== modified file 'templates/ca/listinfo.html'
--- templates/ca/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/ca/listinfo.html 2018-01-29 12:58:42 +0000
@@ -114,6 +114,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/cs/listinfo.html'
--- templates/cs/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/cs/listinfo.html 2018-01-29 12:58:42 +0000
@@ -112,6 +112,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/da/listinfo.html'
--- templates/da/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/da/listinfo.html 2018-01-29 12:58:42 +0000
@@ -108,6 +108,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/de/listinfo.html'
--- templates/de/listinfo.html 2018-01-12 12:44:15 +0000
+++ templates/de/listinfo.html 2018-01-29 12:58:42 +0000
@@ -114,6 +114,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/el/listinfo.html'
--- templates/el/listinfo.html 2012-06-20 23:32:30 +0000
+++ templates/el/listinfo.html 2018-01-29 12:58:42 +0000
@@ -116,6 +116,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></P></center>
=== modified file 'templates/en/listinfo.html'
--- templates/en/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/en/listinfo.html 2018-01-29 12:58:42 +0000
@@ -115,6 +115,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/es/listinfo.html'
--- templates/es/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/es/listinfo.html 2018-01-30 04:06:24 +0000
@@ -107,6 +107,7 @@
<TD BGCOLOR="#dddddd">¿En qué idioma desea visualizar sus mensajes?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>¿Desea recibir los mensaje de cada día reunidos
en un único mensaje (digest)?
@@ -115,6 +116,8 @@
<MM-Digest-Radio-Button> Sí
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/et/listinfo.html'
--- templates/et/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/et/listinfo.html 2018-01-30 04:06:24 +0000
@@ -98,6 +98,7 @@
<TD BGCOLOR="#dddddd">Kasutajaliidese keel?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>Kirju saadetakse kokkuvõtetena
</td>
@@ -105,6 +106,8 @@
<MM-Digest-Radio-Button> Jah
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/eu/listinfo.html'
--- templates/eu/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/eu/listinfo.html 2018-01-29 12:58:42 +0000
@@ -113,6 +113,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/fa/listinfo.html'
--- templates/fa/listinfo.html 2013-07-18 22:14:15 +0000
+++ templates/fa/listinfo.html 2018-01-29 12:58:42 +0000
@@ -105,6 +105,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/fi/listinfo.html'
--- templates/fi/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/fi/listinfo.html 2018-01-30 04:06:24 +0000
@@ -110,6 +110,7 @@
<TD BGCOLOR="#dddddd">Millä kielellä haluat ohjeet ja lomakkeet?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>Haluatko vastaanottaa listan viestit päivittäisenä kokoelmana yksittäisten
viestien sijaan?
@@ -118,6 +119,8 @@
<MM-Digest-Radio-Button> Kyllä
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/fr/listinfo.html'
--- templates/fr/listinfo.html 2014-02-04 01:01:49 +0000
+++ templates/fr/listinfo.html 2018-01-29 12:58:42 +0000
@@ -118,6 +118,7 @@
</td>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/gl/listinfo.html'
--- templates/gl/listinfo.html 2016-01-10 03:33:25 +0000
+++ templates/gl/listinfo.html 2018-01-30 04:06:24 +0000
@@ -106,6 +106,7 @@
<TD BGCOLOR="#dddddd">En que idioma desexa ver as mensaxes?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>Desexa recibir as mensaxes diarias compiladas
nunha única mensaxe?
@@ -114,6 +115,8 @@
<MM-Digest-Radio-Button> Si
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/he/listinfo.html'
--- templates/he/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/he/listinfo.html 2018-01-29 12:58:42 +0000
@@ -110,6 +110,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/hr/listinfo.html'
--- templates/hr/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/hr/listinfo.html 2018-01-29 12:58:42 +0000
@@ -112,6 +112,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/hu/listinfo.html'
--- templates/hu/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/hu/listinfo.html 2018-01-29 12:58:42 +0000
@@ -111,6 +111,7 @@
</tr>
<tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<td colspan="3">
<center><MM-Subscribe-Button></center>
</td>
=== modified file 'templates/ia/listinfo.html'
--- templates/ia/listinfo.html 2015-02-18 21:30:11 +0000
+++ templates/ia/listinfo.html 2018-01-29 12:58:42 +0000
@@ -103,6 +103,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/it/listinfo.html'
--- templates/it/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/it/listinfo.html 2018-01-29 12:58:42 +0000
@@ -123,6 +123,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/ja/listinfo.html'
--- templates/ja/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/ja/listinfo.html 2018-01-29 12:58:42 +0000
@@ -115,6 +115,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/ko/listinfo.html'
--- templates/ko/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/ko/listinfo.html 2018-01-30 04:06:24 +0000
@@ -103,6 +103,7 @@
<TD BGCOLOR="#dddddd">����� �� �����ϼ���?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>������ �Ϸ翡 �� ���� ���� �������� �ƺ����� �����Ͻðڽ��ϱ�?
</td>
@@ -110,6 +111,8 @@
<MM-Digest-Radio-Button> ��
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/lt/listinfo.html'
--- templates/lt/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/lt/listinfo.html 2018-01-30 04:06:24 +0000
@@ -104,6 +104,7 @@
<TD BGCOLOR="#dddddd">Pasirinkite kalb�?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>Ar norite gauti dienos laišk� rinkinius?
</td>
@@ -111,6 +112,8 @@
<MM-Digest-Radio-Button> Taip
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/nl/listinfo.html'
--- templates/nl/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/nl/listinfo.html 2018-01-30 04:06:24 +0000
@@ -99,6 +99,7 @@
<TD BGCOLOR="#dddddd">Wat is uw voorkeurstaal voor de berichten?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>Wilt u de berichten gebundeld ontvangen in een dagelijkse verzamelmail?
</td>
@@ -106,6 +107,8 @@
<MM-Digest-Radio-Button> Ja
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/no/listinfo.html'
--- templates/no/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/no/listinfo.html 2018-01-29 12:58:42 +0000
@@ -108,6 +108,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/pl/listinfo.html'
--- templates/pl/listinfo.html 2017-01-18 06:49:29 +0000
+++ templates/pl/listinfo.html 2018-01-29 12:58:42 +0000
@@ -113,6 +113,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/pt/listinfo.html'
--- templates/pt/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/pt/listinfo.html 2018-01-29 12:58:42 +0000
@@ -114,6 +114,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/pt_BR/listinfo.html'
--- templates/pt_BR/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/pt_BR/listinfo.html 2018-01-30 04:06:24 +0000
@@ -105,6 +105,7 @@
<TD BGCOLOR="#dddddd">Em que idioma prefere exibir suas mensagens?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>Deseja receber e-mails da lista enviados uma vez por dia em um único
email (digest)?
@@ -113,6 +114,8 @@
<MM-Digest-Radio-Button> Sim
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/ro/listinfo.html'
--- templates/ro/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/ro/listinfo.html 2018-01-29 12:58:42 +0000
@@ -109,6 +109,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/ru/listinfo.html'
--- templates/ru/listinfo.html 2015-02-05 21:15:37 +0000
+++ templates/ru/listinfo.html 2018-01-29 12:58:42 +0000
@@ -100,6 +100,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/sk/listinfo.html'
--- templates/sk/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/sk/listinfo.html 2018-01-29 12:58:42 +0000
@@ -117,6 +117,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/sl/listinfo.html'
--- templates/sl/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/sl/listinfo.html 2018-01-29 12:58:42 +0000
@@ -112,6 +112,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/sr/listinfo.html'
--- templates/sr/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/sr/listinfo.html 2018-01-29 12:58:42 +0000
@@ -97,6 +97,7 @@
<td><MM-Undigest-Radio-Button> Не<MM-Digest-Radio-Button> Да</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3"> <center>
<MM-Subscribe-Button></center>
=== modified file 'templates/sv/listinfo.html'
--- templates/sv/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/sv/listinfo.html 2018-01-29 12:58:42 +0000
@@ -94,6 +94,7 @@
<td><MM-Undigest-Radio-Button> Nej <MM-Digest-Radio-Button> Ja </TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/tr/listinfo.html'
--- templates/tr/listinfo.html 2016-11-14 07:13:01 +0000
+++ templates/tr/listinfo.html 2018-01-29 12:58:42 +0000
@@ -115,6 +115,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/uk/listinfo.html'
--- templates/uk/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/uk/listinfo.html 2018-01-29 12:58:42 +0000
@@ -111,6 +111,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/vi/listinfo.html'
--- templates/vi/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/vi/listinfo.html 2018-01-29 12:58:42 +0000
@@ -102,6 +102,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/zh_CN/listinfo.html'
--- templates/zh_CN/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/zh_CN/listinfo.html 2018-01-29 12:58:42 +0000
@@ -107,6 +107,7 @@
</TD>
</tr>
<mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
=== modified file 'templates/zh_TW/listinfo.html'
--- templates/zh_TW/listinfo.html 2010-01-28 23:06:44 +0000
+++ templates/zh_TW/listinfo.html 2018-01-30 04:06:24 +0000
@@ -91,6 +91,7 @@
<TD BGCOLOR="#dddddd"> 您適用的語言?</TD>
<TD> <MM-list-langs></TD>
<TD> </TD></TR>
+ <mm-digest-question-start>
<tr>
<td>你 想 以 每 日 摘 要 的 形 式 收 信 嗎 ?
</td>
@@ -98,6 +99,8 @@
<MM-Digest-Radio-Button> Yes
</TD>
</tr>
+ <mm-digest-question-end>
+ <mm-recaptcha-ui>
<tr>
<td colspan="3">
<center><MM-Subscribe-Button></center>
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org