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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
<?php
class ConfirmEditHooks {
/**
* Get the global Captcha instance
*
* @return SimpleCaptcha
*/
static function getInstance() {
global $wgCaptcha, $wgCaptchaClass;
static $done = false;
if ( !$done ) {
$done = true;
$wgCaptcha = new $wgCaptchaClass;
}
return $wgCaptcha;
}
static function confirmEditMerged( $editPage, $newtext ) {
return self::getInstance()->confirmEditMerged( $editPage, $newtext );
}
static function confirmEditAPI( $editPage, $newtext, &$resultArr ) {
return self::getInstance()->confirmEditAPI( $editPage, $newtext, $resultArr );
}
static function addNewAccountApiForm( $apiModule, $loginForm ) {
return self::getInstance()->addNewAccountApiForm( $apiModule, $loginForm );
}
static function addNewAccountApiResult( $apiModule, $loginPage, &$result ) {
return self::getInstance()->addNewAccountApiResult( $apiModule, $loginPage, $result );
}
static function injectUserCreate( &$template ) {
return self::getInstance()->injectUserCreate( $template );
}
static function confirmUserCreate( $u, &$message, &$status = null ) {
return self::getInstance()->confirmUserCreate( $u, $message, $status );
}
static function triggerUserLogin( $user, $password, $retval ) {
return self::getInstance()->triggerUserLogin( $user, $password, $retval );
}
static function injectUserLogin( &$template ) {
return self::getInstance()->injectUserLogin( $template );
}
static function confirmUserLogin( $u, $pass, &$retval ) {
return self::getInstance()->confirmUserLogin( $u, $pass, $retval );
}
static function injectEmailUser( &$form ) {
return self::getInstance()->injectEmailUser( $form );
}
static function confirmEmailUser( $from, $to, $subject, $text, &$error ) {
return self::getInstance()->confirmEmailUser( $from, $to, $subject, $text, $error );
}
// Default $flags to 1 for backwards-compatible behavior
public static function APIGetAllowedParams( &$module, &$params, $flags = 1 ) {
return self::getInstance()->APIGetAllowedParams( $module, $params, $flags );
}
public static function APIGetParamDescription( &$module, &$desc ) {
return self::getInstance()->APIGetParamDescription( $module, $desc );
}
}
class CaptchaSpecialPage extends UnlistedSpecialPage {
public function __construct() {
parent::__construct( 'Captcha' );
}
function execute( $par ) {
$this->setHeaders();
$instance = ConfirmEditHooks::getInstance();
switch( $par ) {
case "image":
if ( method_exists( $instance, 'showImage' ) ) {
return $instance->showImage();
}
case "help":
default:
return $instance->showHelp();
}
}
}
|