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

Reply via email to