Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 19
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
WikimediaIncubatorAuthenticationRequest
0.00% covered (danger)
0.00%
0 / 19
0.00% covered (danger)
0.00%
0 / 2
20
0.00% covered (danger)
0.00%
0 / 1
 getFieldInfo
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 1
2
 loadFromSubmission
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace MediaWiki\Extension\WikimediaIncubator;
4
5use MediaWiki\Auth\AuthenticationRequest;
6use RequestContext;
7
8/**
9 * An authentication request to grab the custom fields passed to the creation form.
10 */
11class WikimediaIncubatorAuthenticationRequest extends AuthenticationRequest {
12    public $required = self::OPTIONAL;
13
14    public $testwikiproject;
15    public $testwikicode;
16
17    /**
18     * @inheritDoc
19     */
20    public function getFieldInfo() {
21        $request = RequestContext::getMain()->getRequest();
22
23        // Accessing $request for the defaults is a bit ugly, but it's what's
24        // needed here.
25        return [
26            'testwikiproject' => [
27                'type' => 'hidden',
28                'value' => strtolower( $request->getVal( 'testwikiproject', '' ) ),
29                'label' => wfMessage( 'wminc-testwiki' ),
30                'help' => wfMessage( 'wminc-prefinfo-project' ),
31            ],
32            'testwikicode' => [
33                'type' => 'hidden',
34                'value' => strtolower( $request->getVal( 'testwikicode', '' ) ),
35                'label' => wfMessage( 'wminc-testwiki-code' ),
36                'help' => wfMessage( 'wminc-prefinfo-code' ),
37            ],
38        ];
39    }
40
41    public function loadFromSubmission( array $data ) {
42        global $wmincProjects;
43
44        return parent::loadFromSubmission( $data ) &&
45            WikimediaIncubator::validateLanguageCode( $this->testwikicode ) &&
46            isset( $wmincProjects[$this->testwikiproject] );
47    }
48}