summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/ConfirmEdit/ReCaptcha/ReCaptchaAuthenticationRequest.php
blob: 5455ea7989715e538948586da782d28514f83598 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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' ),
			],
		] );
	}
}