summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php')
-rw-r--r--www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php b/www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php
new file mode 100644
index 00000000..5455ea79
--- /dev/null
+++ b/www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php
@@ -0,0 +1,38 @@
+<?php
+
+use MediaWiki\Auth\AuthenticationRequest;
+
+/**
+ * Authentication request for ReCaptcha v1. Unlike the parent class, no session storage is used;
+ * that's handled by Google.
+ */
+class ReCaptchaAuthenticationRequest extends CaptchaAuthenticationRequest {
+ public function __construct() {
+ parent::__construct( null, null );
+ }
+
+ public function loadFromSubmission( array $data ) {
+ // unhack the hack in parent
+ return AuthenticationRequest::loadFromSubmission( $data );
+ }
+
+ public function getFieldInfo() {
+ $fieldInfo = parent::getFieldInfo();
+ if ( !$fieldInfo ) {
+ return false;
+ }
+
+ return array_merge( $fieldInfo, [
+ 'captchaId' => [
+ 'type' => 'string',
+ 'label' => wfMessage( 'recaptcha-id-label' ),
+ 'help' => wfMessage( 'recaptcha-id-help' ),
+ ],
+ 'captchaWord' => [
+ 'type' => 'string',
+ 'label' => wfMessage( 'recaptcha-label' ),
+ 'help' => wfMessage( 'recaptcha-help' ),
+ ],
+ ] );
+ }
+}