Passed
Push — default-sorting ( 379e4b )
by Simon
04:23
created

SiteConfiguration::getBaseUrl()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
/******************************************************************************
3
 * Wikipedia Account Creation Assistance tool                                 *
4
 *                                                                            *
5
 * All code in this file is released into the public domain by the ACC        *
6
 * Development Team. Please see team.json for a list of contributors.         *
7
 ******************************************************************************/
8
9
namespace Waca;
10
11
/**
12
 * Class SiteConfiguration
13
 *
14
 * IMPORTANT: This class must never throw an exception or trigger an error. It's used in the error handler.
15
 *
16
 * @package Waca
17
 */
18
class SiteConfiguration
19
{
20
    private $baseUrl;
21
    private $filePath;
22
    private $schemaVersion = 35;
23
    private $debuggingTraceEnabled;
24
    private $debuggingCssBreakpointsEnabled;
25
    private $dataClearIp = '127.0.0.1';
26
    private $dataClearEmail = '[email protected]';
27
    private $dataClearInterval = '15 DAY';
28
    private $forceIdentification = true;
29
    private $identificationCacheExpiry = '1 DAY';
30
    private $mediawikiScriptPath = 'https://en.wikipedia.org/w/index.php';
31
    private $mediawikiWebServiceEndpoint = 'https://en.wikipedia.org/w/api.php';
32
    private $metaWikimediaWebServiceEndpoint = 'https://meta.wikimedia.org/w/api.php';
33
    private $enforceOAuth = true;
34
    private $emailConfirmationEnabled = true;
35
    private $emailConfirmationExpiryDays = 7;
36
    private $miserModeLimit = 25;
37
    private $requestStates = array(
38
        'Open'          => array(
39
            'defertolog' => 'users', // don't change or you'll break old logs
40
            'deferto'    => 'users',
41
            'header'     => 'Open requests',
42
            'api'        => "open",
43
        ),
44
        'Flagged users' => array(
45
            'defertolog' => 'flagged users', // don't change or you'll break old logs
46
            'deferto'    => 'flagged users',
47
            'header'     => 'Flagged user needed',
48
            'api'        => "admin",
49
        ),
50
        'Checkuser'     => array(
51
            'defertolog' => 'checkusers', // don't change or you'll break old logs
52
            'deferto'    => 'checkusers',
53
            'header'     => 'Checkuser needed',
54
            'api'        => "checkuser",
55
        ),
56
    );
57
    private $squidList = array();
58
    private $defaultCreatedTemplateId = 1;
59
    private $defaultRequestStateKey = 'Open';
60
    private $defaultRequestDeferredStateKey = 'Flagged users';
61
    private $useStrictTransportSecurity = false;
62
    private $userAgent = 'Wikipedia-ACC Tool/0.1 (+https://accounts.wmflabs.org/internal.php/team)';
63
    private $curlDisableVerifyPeer = false;
64
    private $useOAuthSignup = true;
65
    private $oauthBaseUrl;
66
    private $oauthConsumerToken;
67
    /** @var array */
68
    private $oauthLegacyConsumerTokens;
69
    private $oauthConsumerSecret;
70
    private $oauthIdentityGraceTime = '24 hours';
71
    private $oauthMediaWikiCanonicalServer = 'http://en.wikipedia.org';
72
    private $xffTrustedHostsFile = '../TrustedXFF/trusted-hosts.txt';
73
    private $crossOriginResourceSharingHosts = array(
74
        "http://en.wikipedia.org",
75
        "https://en.wikipedia.org",
76
        "http://meta.wikimedia.org",
77
        "https://meta.wikimedia.org",
78
    );
79
    private $ircNotificationType = 1;
80
    private $ircNotificationsEnabled = true;
81
    private $ircNotificationsInstance = 'Development';
82
    private $errorLog = 'errorlog';
83
    private $titleBlacklistEnabled = false;
84
    /** @var null|string $locationProviderApiKey */
85
    private $locationProviderApiKey = null;
86
    private $torExitPaths = array();
87
    private $creationBotUsername = '';
88
    private $creationBotPassword = '';
89
    private $curlCookieJar = null;
90
    private $yubicoApiId = 0;
91
    private $yubicoApiKey = "";
92
    private $totpEncryptionKey = "1234";
93
    private $identificationNoticeboardPage = 'Access to nonpublic personal data policy/Noticeboard';
94
    private $registrationAllowed = true;
95
    private $cspReportUri = null;
96
    private $resourceCacheEpoch = 1;
97
    private $commonEmailDomains = [];
98
    private $banMaxIpBlockRange = [4 => 20, 6 => 48];
99
    private $banMaxIpRange = [4 => 16, 6 => 32];
100
    private $jobQueueBatchSize = 10;
101
102
    /**
103
     * Gets the base URL of the tool
104
     *
105
     * If the internal page of the tool is at http://localhost/path/internal.php, this would be set to
106
     * http://localhost/path
107
     * @return string
108
     */
109 1
    public function getBaseUrl()
110
    {
111 1
        return $this->baseUrl;
112
    }
113
114
    /**
115
     * @param string $baseUrl
116
     *
117
     * @return SiteConfiguration
118
     */
119 1
    public function setBaseUrl($baseUrl)
120
    {
121 1
        $this->baseUrl = $baseUrl;
122
123 1
        return $this;
124
    }
125
126
    /**
127
     * Path on disk to the directory containing the tool's code
128
     * @return string
129
     */
130 1
    public function getFilePath()
131
    {
132 1
        return $this->filePath;
133
    }
134
135
    /**
136
     * @param string $filePath
137
     *
138
     * @return SiteConfiguration
139
     */
140 1
    public function setFilePath($filePath)
141
    {
142 1
        $this->filePath = $filePath;
143
144 1
        return $this;
145
    }
146
147
    /**
148
     * @return int
149
     */
150 1
    public function getSchemaVersion()
151
    {
152 1
        return $this->schemaVersion;
153
    }
154
155
    /**
156
     * @param int $schemaVersion
157
     *
158
     * @return SiteConfiguration
159
     */
160
    public function setSchemaVersion($schemaVersion)
161
    {
162
        $this->schemaVersion = $schemaVersion;
163
164
        return $this;
165
    }
166
167
    /**
168
     * @return mixed
169
     */
170 1
    public function getDebuggingTraceEnabled()
171
    {
172 1
        return $this->debuggingTraceEnabled;
173
    }
174
175
    /**
176
     * @param mixed $debuggingTraceEnabled
177
     *
178
     * @return SiteConfiguration
179
     */
180 1
    public function setDebuggingTraceEnabled($debuggingTraceEnabled)
181
    {
182 1
        $this->debuggingTraceEnabled = $debuggingTraceEnabled;
183
184 1
        return $this;
185
    }
186
187
    public function getDebuggingCssBreakpointsEnabled() : bool
188
    {
189
        return $this->debuggingCssBreakpointsEnabled;
190
    }
191
192
    public function setDebuggingCssBreakpointsEnabled(bool $debuggingCssBreakpointsEnabled) : SiteConfiguration
193
    {
194
        $this->debuggingCssBreakpointsEnabled = $debuggingCssBreakpointsEnabled;
195
196
        return $this;
197
    }
198
199
    /**
200
     * @return string
201
     */
202 1
    public function getDataClearIp()
203
    {
204 1
        return $this->dataClearIp;
205
    }
206
207
    /**
208
     * @param string $dataClearIp
209
     *
210
     * @return SiteConfiguration
211
     */
212 1
    public function setDataClearIp($dataClearIp)
213
    {
214 1
        $this->dataClearIp = $dataClearIp;
215
216 1
        return $this;
217
    }
218
219
    /**
220
     * @return string
221
     */
222 1
    public function getDataClearEmail()
223
    {
224 1
        return $this->dataClearEmail;
225
    }
226
227
    /**
228
     * @param string $dataClearEmail
229
     *
230
     * @return SiteConfiguration
231
     */
232 1
    public function setDataClearEmail($dataClearEmail)
233
    {
234 1
        $this->dataClearEmail = $dataClearEmail;
235
236 1
        return $this;
237
    }
238
239
    /**
240
     * @return boolean
241
     */
242 1
    public function getForceIdentification()
243
    {
244 1
        return $this->forceIdentification;
245
    }
246
247
    /**
248
     * @param boolean $forceIdentification
249
     *
250
     * @return SiteConfiguration
251
     */
252 1
    public function setForceIdentification($forceIdentification)
253
    {
254 1
        $this->forceIdentification = $forceIdentification;
255
256 1
        return $this;
257
    }
258
259
    /**
260
     * @return string
261
     */
262 1
    public function getIdentificationCacheExpiry()
263
    {
264 1
        return $this->identificationCacheExpiry;
265
    }
266
267
    /**
268
     * @param string $identificationCacheExpiry
269
     *
270
     * @return SiteConfiguration
271
     */
272 1
    public function setIdentificationCacheExpiry($identificationCacheExpiry)
273
    {
274 1
        $this->identificationCacheExpiry = $identificationCacheExpiry;
275
276 1
        return $this;
277
    }
278
279
    /**
280
     * @return string
281
     */
282 1
    public function getMediawikiScriptPath()
283
    {
284 1
        return $this->mediawikiScriptPath;
285
    }
286
287
    /**
288
     * @param string $mediawikiScriptPath
289
     *
290
     * @return SiteConfiguration
291
     */
292 1
    public function setMediawikiScriptPath($mediawikiScriptPath)
293
    {
294 1
        $this->mediawikiScriptPath = $mediawikiScriptPath;
295
296 1
        return $this;
297
    }
298
299
    /**
300
     * @return string
301
     */
302 1
    public function getMediawikiWebServiceEndpoint()
303
    {
304 1
        return $this->mediawikiWebServiceEndpoint;
305
    }
306
307
    /**
308
     * @param string $mediawikiWebServiceEndpoint
309
     *
310
     * @return SiteConfiguration
311
     */
312 1
    public function setMediawikiWebServiceEndpoint($mediawikiWebServiceEndpoint)
313
    {
314 1
        $this->mediawikiWebServiceEndpoint = $mediawikiWebServiceEndpoint;
315
316 1
        return $this;
317
    }
318
319
    /**
320
     * @return string
321
     */
322 2
    public function getMetaWikimediaWebServiceEndpoint()
323
    {
324 2
        return $this->metaWikimediaWebServiceEndpoint;
325
    }
326
327
    /**
328
     * @param string $metaWikimediaWebServiceEndpoint
329
     *
330
     * @return SiteConfiguration
331
     */
332 1
    public function setMetaWikimediaWebServiceEndpoint($metaWikimediaWebServiceEndpoint)
333
    {
334 1
        $this->metaWikimediaWebServiceEndpoint = $metaWikimediaWebServiceEndpoint;
335
336 1
        return $this;
337
    }
338
339
    /**
340
     * @return boolean
341
     */
342 1
    public function getEnforceOAuth()
343
    {
344 1
        return $this->enforceOAuth;
345
    }
346
347
    /**
348
     * @param boolean $enforceOAuth
349
     *
350
     * @return SiteConfiguration
351
     */
352 1
    public function setEnforceOAuth($enforceOAuth)
353
    {
354 1
        $this->enforceOAuth = $enforceOAuth;
355
356 1
        return $this;
357
    }
358
359
    /**
360
     * @return boolean
361
     */
362 1
    public function getEmailConfirmationEnabled()
363
    {
364 1
        return $this->emailConfirmationEnabled;
365
    }
366
367
    /**
368
     * @param boolean $emailConfirmationEnabled
369
     *
370
     * @return $this
371
     */
372 1
    public function setEmailConfirmationEnabled($emailConfirmationEnabled)
373
    {
374 1
        $this->emailConfirmationEnabled = $emailConfirmationEnabled;
375
376 1
        return $this;
377
    }
378
379
    /**
380
     * @return int
381
     */
382 1
    public function getMiserModeLimit()
383
    {
384 1
        return $this->miserModeLimit;
385
    }
386
387
    /**
388
     * @param int $miserModeLimit
389
     *
390
     * @return SiteConfiguration
391
     */
392 1
    public function setMiserModeLimit($miserModeLimit)
393
    {
394 1
        $this->miserModeLimit = $miserModeLimit;
395
396 1
        return $this;
397
    }
398
399
    /**
400
     * @return array
401
     */
402 1
    public function getRequestStates()
403
    {
404 1
        return $this->requestStates;
405
    }
406
407
    /**
408
     * @param array $requestStates
409
     *
410
     * @return SiteConfiguration
411
     */
412 1
    public function setRequestStates($requestStates)
413
    {
414 1
        $this->requestStates = $requestStates;
415
416 1
        return $this;
417
    }
418
419
    /**
420
     * @return array
421
     */
422 1
    public function getSquidList()
423
    {
424 1
        return $this->squidList;
425
    }
426
427
    /**
428
     * @param array $squidList
429
     *
430
     * @return SiteConfiguration
431
     */
432 1
    public function setSquidList($squidList)
433
    {
434 1
        $this->squidList = $squidList;
435
436 1
        return $this;
437
    }
438
439
    /**
440
     * @return int
441
     */
442 1
    public function getDefaultCreatedTemplateId()
443
    {
444 1
        return $this->defaultCreatedTemplateId;
445
    }
446
447
    /**
448
     * @param int $defaultCreatedTemplateId
449
     *
450
     * @return SiteConfiguration
451
     */
452 1
    public function setDefaultCreatedTemplateId($defaultCreatedTemplateId)
453
    {
454 1
        $this->defaultCreatedTemplateId = $defaultCreatedTemplateId;
455
456 1
        return $this;
457
    }
458
459
    /**
460
     * @return string
461
     */
462 1
    public function getDefaultRequestStateKey()
463
    {
464 1
        return $this->defaultRequestStateKey;
465
    }
466
467
    /**
468
     * @param string $defaultRequestStateKey
469
     *
470
     * @return SiteConfiguration
471
     */
472 1
    public function setDefaultRequestStateKey($defaultRequestStateKey)
473
    {
474 1
        $this->defaultRequestStateKey = $defaultRequestStateKey;
475
476 1
        return $this;
477
    }
478
479
    /**
480
     * @return string
481
     */
482 1
    public function getDefaultRequestDeferredStateKey()
483
    {
484 1
        return $this->defaultRequestDeferredStateKey;
485
    }
486
487
    /**
488
     * @param string $defaultRequestDeferredStateKey
489
     *
490
     * @return SiteConfiguration
491
     */
492 1
    public function setDefaultRequestDeferredStateKey($defaultRequestDeferredStateKey)
493
    {
494 1
        $this->defaultRequestDeferredStateKey = $defaultRequestDeferredStateKey;
495
496 1
        return $this;
497
    }
498
499
    /**
500
     * @return boolean
501
     */
502 1
    public function getUseStrictTransportSecurity()
503
    {
504 1
        return $this->useStrictTransportSecurity;
505
    }
506
507
    /**
508
     * @param boolean $useStrictTransportSecurity
509
     *
510
     * @return SiteConfiguration
511
     */
512 1
    public function setUseStrictTransportSecurity($useStrictTransportSecurity)
513
    {
514 1
        $this->useStrictTransportSecurity = $useStrictTransportSecurity;
515
516 1
        return $this;
517
    }
518
519
    /**
520
     * @return string
521
     */
522 2
    public function getUserAgent()
523
    {
524 2
        return $this->userAgent;
525
    }
526
527
    /**
528
     * @param string $userAgent
529
     *
530
     * @return SiteConfiguration
531
     */
532 1
    public function setUserAgent($userAgent)
533
    {
534 1
        $this->userAgent = $userAgent;
535
536 1
        return $this;
537
    }
538
539
    /**
540
     * @return boolean
541
     */
542 2
    public function getCurlDisableVerifyPeer()
543
    {
544 2
        return $this->curlDisableVerifyPeer;
545
    }
546
547
    /**
548
     * @param boolean $curlDisableVerifyPeer
549
     *
550
     * @return SiteConfiguration
551
     */
552 2
    public function setCurlDisableVerifyPeer($curlDisableVerifyPeer)
553
    {
554 2
        $this->curlDisableVerifyPeer = $curlDisableVerifyPeer;
555
556 2
        return $this;
557
    }
558
559
    /**
560
     * @return boolean
561
     */
562 1
    public function getUseOAuthSignup()
563
    {
564 1
        return $this->useOAuthSignup;
565
    }
566
567
    /**
568
     * @param boolean $useOAuthSignup
569
     *
570
     * @return SiteConfiguration
571
     */
572 1
    public function setUseOAuthSignup($useOAuthSignup)
573
    {
574 1
        $this->useOAuthSignup = $useOAuthSignup;
575
576 1
        return $this;
577
    }
578
579
    /**
580
     * @return string
581
     */
582 1
    public function getOAuthBaseUrl()
583
    {
584 1
        return $this->oauthBaseUrl;
585
    }
586
587
    /**
588
     * @param string $oauthBaseUrl
589
     *
590
     * @return SiteConfiguration
591
     */
592 1
    public function setOAuthBaseUrl($oauthBaseUrl)
593
    {
594 1
        $this->oauthBaseUrl = $oauthBaseUrl;
595
596 1
        return $this;
597
    }
598
599
    /**
600
     * @return mixed
601
     */
602 1
    public function getOAuthConsumerToken()
603
    {
604 1
        return $this->oauthConsumerToken;
605
    }
606
607
    /**
608
     * @param mixed $oauthConsumerToken
609
     *
610
     * @return SiteConfiguration
611
     */
612 1
    public function setOAuthConsumerToken($oauthConsumerToken)
613
    {
614 1
        $this->oauthConsumerToken = $oauthConsumerToken;
615
616 1
        return $this;
617
    }
618
619
    /**
620
     * @return mixed
621
     */
622 1
    public function getOAuthConsumerSecret()
623
    {
624 1
        return $this->oauthConsumerSecret;
625
    }
626
627
    /**
628
     * @param mixed $oauthConsumerSecret
629
     *
630
     * @return SiteConfiguration
631
     */
632 1
    public function setOAuthConsumerSecret($oauthConsumerSecret)
633
    {
634 1
        $this->oauthConsumerSecret = $oauthConsumerSecret;
635
636 1
        return $this;
637
    }
638
639
    /**
640
     * @return string
641
     */
642 1
    public function getDataClearInterval()
643
    {
644 1
        return $this->dataClearInterval;
645
    }
646
647
    /**
648
     * @param string $dataClearInterval
649
     *
650
     * @return SiteConfiguration
651
     */
652 1
    public function setDataClearInterval($dataClearInterval)
653
    {
654 1
        $this->dataClearInterval = $dataClearInterval;
655
656 1
        return $this;
657
    }
658
659
    /**
660
     * @return string
661
     */
662 1
    public function getXffTrustedHostsFile()
663
    {
664 1
        return $this->xffTrustedHostsFile;
665
    }
666
667
    /**
668
     * @param string $xffTrustedHostsFile
669
     *
670
     * @return SiteConfiguration
671
     */
672 1
    public function setXffTrustedHostsFile($xffTrustedHostsFile)
673
    {
674 1
        $this->xffTrustedHostsFile = $xffTrustedHostsFile;
675
676 1
        return $this;
677
    }
678
679
    /**
680
     * @return array
681
     */
682 1
    public function getCrossOriginResourceSharingHosts()
683
    {
684 1
        return $this->crossOriginResourceSharingHosts;
685
    }
686
687
    /**
688
     * @param array $crossOriginResourceSharingHosts
689
     *
690
     * @return SiteConfiguration
691
     */
692 1
    public function setCrossOriginResourceSharingHosts($crossOriginResourceSharingHosts)
693
    {
694 1
        $this->crossOriginResourceSharingHosts = $crossOriginResourceSharingHosts;
695
696 1
        return $this;
697
    }
698
699
    /**
700
     * @return boolean
701
     */
702 1
    public function getIrcNotificationsEnabled()
703
    {
704 1
        return $this->ircNotificationsEnabled;
705
    }
706
707
    /**
708
     * @param boolean $ircNotificationsEnabled
709
     *
710
     * @return SiteConfiguration
711
     */
712 1
    public function setIrcNotificationsEnabled($ircNotificationsEnabled)
713
    {
714 1
        $this->ircNotificationsEnabled = $ircNotificationsEnabled;
715
716 1
        return $this;
717
    }
718
719
    /**
720
     * @return int
721
     */
722 1
    public function getIrcNotificationType()
723
    {
724 1
        return $this->ircNotificationType;
725
    }
726
727
    /**
728
     * @param int $ircNotificationType
729
     *
730
     * @return SiteConfiguration
731
     */
732 1
    public function setIrcNotificationType($ircNotificationType)
733
    {
734 1
        $this->ircNotificationType = $ircNotificationType;
735
736 1
        return $this;
737
    }
738
739
    /**
740
     * @param string $errorLog
741
     *
742
     * @return SiteConfiguration
743
     */
744 1
    public function setErrorLog($errorLog)
745
    {
746 1
        $this->errorLog = $errorLog;
747
748 1
        return $this;
749
    }
750
751
    /**
752
     * @return string
753
     */
754 1
    public function getErrorLog()
755
    {
756 1
        return $this->errorLog;
757
    }
758
759
    /**
760
     * @param int $emailConfirmationExpiryDays
761
     *
762
     * @return SiteConfiguration
763
     */
764 1
    public function setEmailConfirmationExpiryDays($emailConfirmationExpiryDays)
765
    {
766 1
        $this->emailConfirmationExpiryDays = $emailConfirmationExpiryDays;
767
768 1
        return $this;
769
    }
770
771
    /**
772
     * @return int
773
     */
774 1
    public function getEmailConfirmationExpiryDays()
775
    {
776 1
        return $this->emailConfirmationExpiryDays;
777
    }
778
779
    /**
780
     * @param string $ircNotificationsInstance
781
     *
782
     * @return SiteConfiguration
783
     */
784 1
    public function setIrcNotificationsInstance($ircNotificationsInstance)
785
    {
786 1
        $this->ircNotificationsInstance = $ircNotificationsInstance;
787
788 1
        return $this;
789
    }
790
791
    /**
792
     * @return string
793
     */
794 1
    public function getIrcNotificationsInstance()
795
    {
796 1
        return $this->ircNotificationsInstance;
797
    }
798
799
    /**
800
     * @param boolean $titleBlacklistEnabled
801
     *
802
     * @return SiteConfiguration
803
     */
804 1
    public function setTitleBlacklistEnabled($titleBlacklistEnabled)
805
    {
806 1
        $this->titleBlacklistEnabled = $titleBlacklistEnabled;
807
808 1
        return $this;
809
    }
810
811
    /**
812
     * @return boolean
813
     */
814 1
    public function getTitleBlacklistEnabled()
815
    {
816 1
        return $this->titleBlacklistEnabled;
817
    }
818
819
    /**
820
     * @param string|null $locationProviderApiKey
821
     *
822
     * @return SiteConfiguration
823
     */
824 1
    public function setLocationProviderApiKey($locationProviderApiKey)
825
    {
826 1
        $this->locationProviderApiKey = $locationProviderApiKey;
827
828 1
        return $this;
829
    }
830
831
    /**
832
     * @return null|string
833
     */
834 1
    public function getLocationProviderApiKey()
835
    {
836 1
        return $this->locationProviderApiKey;
837
    }
838
839
    /**
840
     * @param array $torExitPaths
841
     *
842
     * @return SiteConfiguration
843
     */
844 1
    public function setTorExitPaths($torExitPaths)
845
    {
846 1
        $this->torExitPaths = $torExitPaths;
847
848 1
        return $this;
849
    }
850
851
    /**
852
     * @return array
853
     */
854 1
    public function getTorExitPaths()
855
    {
856 1
        return $this->torExitPaths;
857
    }
858
859
    /**
860
     * @param string $oauthIdentityGraceTime
861
     *
862
     * @return SiteConfiguration
863
     */
864
    public function setOauthIdentityGraceTime($oauthIdentityGraceTime)
865
    {
866
        $this->oauthIdentityGraceTime = $oauthIdentityGraceTime;
867
868
        return $this;
869
    }
870
871
    /**
872
     * @return string
873
     */
874
    public function getOauthIdentityGraceTime()
875
    {
876
        return $this->oauthIdentityGraceTime;
877
    }
878
879
    /**
880
     * @param string $oauthMediaWikiCanonicalServer
881
     *
882
     * @return SiteConfiguration
883
     */
884
    public function setOauthMediaWikiCanonicalServer($oauthMediaWikiCanonicalServer)
885
    {
886
        $this->oauthMediaWikiCanonicalServer = $oauthMediaWikiCanonicalServer;
887
888
        return $this;
889
    }
890
891
    /**
892
     * @return string
893
     */
894
    public function getOauthMediaWikiCanonicalServer()
895
    {
896
        return $this->oauthMediaWikiCanonicalServer;
897
    }
898
899
    /**
900
     * @param string $creationBotUsername
901
     *
902
     * @return SiteConfiguration
903
     */
904
    public function setCreationBotUsername($creationBotUsername)
905
    {
906
        $this->creationBotUsername = $creationBotUsername;
907
908
        return $this;
909
    }
910
911
    /**
912
     * @return string
913
     */
914
    public function getCreationBotUsername()
915
    {
916
        return $this->creationBotUsername;
917
    }
918
919
    /**
920
     * @param string $creationBotPassword
921
     *
922
     * @return SiteConfiguration
923
     */
924
    public function setCreationBotPassword($creationBotPassword)
925
    {
926
        $this->creationBotPassword = $creationBotPassword;
927
928
        return $this;
929
    }
930
931
    /**
932
     * @return string
933
     */
934
    public function getCreationBotPassword()
935
    {
936
        return $this->creationBotPassword;
937
    }
938
939
    /**
940
     * @param string|null $curlCookieJar
941
     *
942
     * @return SiteConfiguration
943
     */
944
    public function setCurlCookieJar($curlCookieJar)
945
    {
946
        $this->curlCookieJar = $curlCookieJar;
947
948
        return $this;
949
    }
950
951
    /**
952
     * @return string|null
953
     */
954
    public function getCurlCookieJar()
955
    {
956
        return $this->curlCookieJar;
957
    }
958
959
    public function getYubicoApiId()
960
    {
961
        return $this->yubicoApiId;
962
    }
963
964
    public function setYubicoApiId($id)
965
    {
966
        $this->yubicoApiId = $id;
967
968
        return $this;
969
    }
970
971
    public function getYubicoApiKey()
972
    {
973
        return $this->yubicoApiKey;
974
    }
975
976
    public function setYubicoApiKey($key)
977
    {
978
        $this->yubicoApiKey = $key;
979
980
        return $this;
981
    }
982
983
    /**
984
     * @return string
985
     */
986
    public function getTotpEncryptionKey()
987
    {
988
        return $this->totpEncryptionKey;
989
    }
990
991
    /**
992
     * @param string $totpEncryptionKey
993
     *
994
     * @return SiteConfiguration
995
     */
996
    public function setTotpEncryptionKey($totpEncryptionKey)
997
    {
998
        $this->totpEncryptionKey = $totpEncryptionKey;
999
1000
        return $this;
1001
    }
1002
1003
    /**
1004
     * @return string
1005
     */
1006 1
    public function getIdentificationNoticeboardPage()
1007
    {
1008 1
        return $this->identificationNoticeboardPage;
1009
    }
1010
1011
    /**
1012
     * @param string $identificationNoticeboardPage
1013
     *
1014
     * @return SiteConfiguration
1015
     */
1016
    public function setIdentificationNoticeboardPage($identificationNoticeboardPage)
1017
    {
1018
        $this->identificationNoticeboardPage = $identificationNoticeboardPage;
1019
1020
        return $this;
1021
    }
1022
1023
    public function isRegistrationAllowed(): bool
1024
    {
1025
        return $this->registrationAllowed;
1026
    }
1027
1028
    public function setRegistrationAllowed(bool $registrationAllowed): SiteConfiguration
1029
    {
1030
        $this->registrationAllowed = $registrationAllowed;
1031
1032
        return $this;
1033
    }
1034
1035
    /**
1036
     * @return string|null
1037
     */
1038
    public function getCspReportUri()
1039
    {
1040
        return $this->cspReportUri;
1041
    }
1042
1043
    /**
1044
     * @param string|null $cspReportUri
1045
     *
1046
     * @return SiteConfiguration
1047
     */
1048
    public function setCspReportUri($cspReportUri)
1049
    {
1050
        $this->cspReportUri = $cspReportUri;
1051
1052
        return $this;
1053
    }
1054
1055
    /**
1056
     * @return int
1057
     */
1058
    public function getResourceCacheEpoch(): int
1059
    {
1060
        return $this->resourceCacheEpoch;
1061
    }
1062
1063
    /**
1064
     * @param int $resourceCacheEpoch
1065
     *
1066
     * @return SiteConfiguration
1067
     */
1068
    public function setResourceCacheEpoch(int $resourceCacheEpoch): SiteConfiguration
1069
    {
1070
        $this->resourceCacheEpoch = $resourceCacheEpoch;
1071
1072
        return $this;
1073
    }
1074
1075
    /**
1076
     * @return array
1077
     */
1078
    public function getCommonEmailDomains(): array
1079
    {
1080
        return $this->commonEmailDomains;
1081
    }
1082
1083
    /**
1084
     * @param array $commonEmailDomains
1085
     *
1086
     * @return SiteConfiguration
1087
     */
1088
    public function setCommonEmailDomains(array $commonEmailDomains): SiteConfiguration
1089
    {
1090
        $this->commonEmailDomains = $commonEmailDomains;
1091
1092
        return $this;
1093
    }
1094
1095
    /**
1096
     * @param int[] $banMaxIpBlockRange
1097
     *
1098
     * @return SiteConfiguration
1099
     */
1100
    public function setBanMaxIpBlockRange(array $banMaxIpBlockRange): SiteConfiguration
1101
    {
1102
        $this->banMaxIpBlockRange = $banMaxIpBlockRange;
1103
1104
        return $this;
1105
    }
1106
1107
    /**
1108
     * @return int[]
1109
     */
1110
    public function getBanMaxIpBlockRange(): array
1111
    {
1112
        return $this->banMaxIpBlockRange;
1113
    }
1114
1115
    /**
1116
     * @param int[] $banMaxIpRange
1117
     *
1118
     * @return SiteConfiguration
1119
     */
1120
    public function setBanMaxIpRange(array $banMaxIpRange): SiteConfiguration
1121
    {
1122
        $this->banMaxIpRange = $banMaxIpRange;
1123
1124
        return $this;
1125
    }
1126
1127
    /**
1128
     * @return int[]
1129
     */
1130
    public function getBanMaxIpRange(): array
1131
    {
1132
        return $this->banMaxIpRange;
1133
    }
1134
1135
    /**
1136
     * @param array $oauthLegacyConsumerTokens
1137
     *
1138
     * @return SiteConfiguration
1139
     */
1140
    public function setOauthLegacyConsumerTokens(array $oauthLegacyConsumerTokens): SiteConfiguration
1141
    {
1142
        $this->oauthLegacyConsumerTokens = $oauthLegacyConsumerTokens;
1143
1144
        return $this;
1145
    }
1146
1147
    /**
1148
     * @return array
1149
     */
1150
    public function getOauthLegacyConsumerTokens(): array
1151
    {
1152
        return $this->oauthLegacyConsumerTokens;
1153
    }
1154
1155
    /**
1156
     * @return int
1157
     */
1158
    public function getJobQueueBatchSize(): int
1159
    {
1160
        return $this->jobQueueBatchSize;
1161
    }
1162
1163
    /**
1164
     * @param int $jobQueueBatchSize
1165
     *
1166
     * @return SiteConfiguration
1167
     */
1168
    public function setJobQueueBatchSize(int $jobQueueBatchSize): SiteConfiguration
1169
    {
1170
        $this->jobQueueBatchSize = $jobQueueBatchSize;
1171
1172
        return $this;
1173
}
1174
}
1175