diff options
Diffstat (limited to 'www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php')
-rw-r--r-- | www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php | 38 |
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' ), + ], + ] ); + } +} |