jenkins-bot has submitted this change and it was merged.
Change subject: Add role for QuestyCaptcha
......................................................................
Add role for QuestyCaptcha
Add a role::questycaptcha that configures ConfirmEdit to use
QuestyCaptcha instead of FancyCaptcha.
Bug: T131459
Change-Id: Ia5e4708fa7702bcde12c2e51b1bf5b32d0d9029c
---
M puppet/modules/role/manifests/confirmedit.pp
A puppet/modules/role/manifests/questycaptcha.pp
A puppet/modules/role/templates/questycaptcha/VagrantRoleQuestyCaptcha.wiki.erb
A puppet/modules/role/templates/questycaptcha/settings.php.erb
4 files changed, 75 insertions(+), 2 deletions(-)
Approvals:
BryanDavis: Looks good to me, approved
Gergő Tisza: Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/puppet/modules/role/manifests/confirmedit.pp
b/puppet/modules/role/manifests/confirmedit.pp
index 97339da..714bb1d 100644
--- a/puppet/modules/role/manifests/confirmedit.pp
+++ b/puppet/modules/role/manifests/confirmedit.pp
@@ -16,11 +16,15 @@
$key = 'FOO'
mediawiki::extension { 'ConfirmEdit':
- notify => Exec['generate_captchas'],
+ settings => [
+ # Skip captcha for users with confirmed emails
+ '$wgGroupPermissions["emailconfirmed"]["skipcaptcha"] = true;',
+ '$ceAllowConfirmedEmail = true;',
+ ],
}
mediawiki::settings { 'ConfirmEdit FancyCaptcha':
- header => 'require_once
"$IP/extensions/ConfirmEdit/FancyCaptcha.php";',
+ header => 'wfLoadExtension( "ConfirmEdit/FancyCaptcha" );
$wmvActiveExtensions[] = "FancyCaptcha";',
values => {
wgCaptchaClass => 'FancyCaptcha',
wgCaptchaDirectory => '$IP/images/temp/captcha',
@@ -29,6 +33,7 @@
},
priority => 11,
require => MediaWiki::Extension['ConfirmEdit'],
+ notify => Exec['generate_captchas'],
}
file { [ "${::mediawiki::dir}/images/temp", $output ]:
diff --git a/puppet/modules/role/manifests/questycaptcha.pp
b/puppet/modules/role/manifests/questycaptcha.pp
new file mode 100644
index 0000000..50831a1
--- /dev/null
+++ b/puppet/modules/role/manifests/questycaptcha.pp
@@ -0,0 +1,17 @@
+# == Class: role::questycaptcha
+#
+# Provision ConfirmEdit and enable the QuestyCaptcha plugin.
+#
+class role::questycaptcha {
+ require ::role::confirmedit
+ include ::role::mediawiki
+
+ mediawiki::settings { 'QuestyCaptcha':
+ values => template('role/questycaptcha/settings.php.erb'),
+ priority => $::LOAD_LATER,
+ }
+
+ mediawiki::import::text { 'VagrantRoleQuestyCaptcha':
+ content =>
template('role/questycaptcha/VagrantRoleQuestyCaptcha.wiki.erb'),
+ }
+}
diff --git
a/puppet/modules/role/templates/questycaptcha/VagrantRoleQuestyCaptcha.wiki.erb
b/puppet/modules/role/templates/questycaptcha/VagrantRoleQuestyCaptcha.wiki.erb
new file mode 100644
index 0000000..ace4996
--- /dev/null
+++
b/puppet/modules/role/templates/questycaptcha/VagrantRoleQuestyCaptcha.wiki.erb
@@ -0,0 +1,3 @@
+'''QuestyCaptcha''' is a plugin for ConfirmEdit that presents questions from
the LocalSettings configuration to protect certain actions on-wiki.
+
+See [https://www.mediawiki.org/wiki/Extension:QuestyCaptcha
Extension:QuestyCaptcha] for more information.
diff --git a/puppet/modules/role/templates/questycaptcha/settings.php.erb
b/puppet/modules/role/templates/questycaptcha/settings.php.erb
new file mode 100644
index 0000000..f080ba6
--- /dev/null
+++ b/puppet/modules/role/templates/questycaptcha/settings.php.erb
@@ -0,0 +1,48 @@
+// Load QuestyCaptcha plugin
+wfLoadExtension( 'ConfirmEdit/QuestyCaptcha' );
+$wmvActiveExtensions[] = 'QuestyCaptcha';
+
+// Set QuestyCaptcha as the active captcha
+$wgCaptchaClass = 'QuestyCaptcha';
+
+$wgCaptchaQuestions = array();
+$wgCaptchaQuestions[] = array(
+ 'question' => 'What month is it at Greenwich Mean Time (GMT) right now?
(https://tools.wmflabs.org/gmt/)',
+ 'answer' => gmdate( 'F' ),
+);
+$wgCaptchaQuestions[] = array(
+ 'question' => 'What day of the week is it at Greenwich Mean Time (GMT)
right now? (https://tools.wmflabs.org/gmt/)',
+ 'answer' => gmdate( 'l' ),
+);
+$wgCaptchaQuestions[] = array(
+ 'question' => 'What week of the year is it at Greenwich Mean Time (GMT)
right now? (https://tools.wmflabs.org/gmt/)',
+ 'answer' => gmdate( 'W' ),
+);
+$wgCaptchaQuestions[] = array(
+ 'question' => 'What day of the year is it at Greenwich Mean Time (GMT)
right now? (https://tools.wmflabs.org/gmt/)',
+ 'answer' => gmdate( 'z' ),
+);
+$wgCaptchaQuestions[] = array(
+ 'question' => 'What hour in 24-hour format is it at Greenwich Mean Time
(GMT) right now? (https://tools.wmflabs.org/gmt/)',
+ 'answer' => gmdate( 'G' ),
+);
+
+$qcg = array(
+ 'n' => array(
+ 'zero', 'one', 'two', 'three', 'four',
+ 'five', 'six', 'seven', 'eight', 'nine',
+ ),
+ 'min' => array( mt_rand( 0, 9 ), mt_rand( 0, 9 ) ),
+ 'max' => array( mt_rand( 0, 9 ), mt_rand( 0, 9 ) ),
+);
+$qcg['min'][] = min( $qcg['min'][0], $qcg['min'][1] );
+$qcg['max'][] = max( $qcg['max'][0], $qcg['max'][1] );
+
+$wgCaptchaQuestions[] = array(
+ 'question' => "Which is smaller, {$qcg['n'][$qcg['min'][0]]} or
{$qcg['n'][$qcg['min'][1]]}?",
+ 'answer' => $qcg['n'][$qcg['min'][2]],
+);
+$wgCaptchaQuestions[] = array(
+ 'question' => "Which is larger, {$qcg['n'][$qcg['max'][0]]} or
{$qcg['n'][$qcg['max'][1]]}?",
+ 'answer' => $qcg['n'][$qcg['max'][2]],
+);
--
To view, visit https://gerrit.wikimedia.org/r/293662
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia5e4708fa7702bcde12c2e51b1bf5b32d0d9029c
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: BryanDavis <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Dduvall <[email protected]>
Gerrit-Reviewer: Gergő Tisza <[email protected]>
Gerrit-Reviewer: Kaldari <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Niharika29 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits