diff options
Diffstat (limited to 'extensions/ConfirmEdit')
-rw-r--r-- | extensions/ConfirmEdit/FancyCaptcha/ApiFancyCaptchaReload.php (renamed from extensions/ConfirmEdit/ApiFancyCaptchaReload.php) | 0 | ||||
-rw-r--r-- | extensions/ConfirmEdit/FancyCaptcha/extension.json | 4 | ||||
-rw-r--r-- | extensions/ConfirmEdit/ReCaptcha/extension.json | 2 | ||||
-rw-r--r-- | extensions/ConfirmEdit/includes/ConfirmEditHooks.php | 27 |
4 files changed, 28 insertions, 5 deletions
diff --git a/extensions/ConfirmEdit/ApiFancyCaptchaReload.php b/extensions/ConfirmEdit/FancyCaptcha/ApiFancyCaptchaReload.php index 8cd28631..8cd28631 100644 --- a/extensions/ConfirmEdit/ApiFancyCaptchaReload.php +++ b/extensions/ConfirmEdit/FancyCaptcha/ApiFancyCaptchaReload.php diff --git a/extensions/ConfirmEdit/FancyCaptcha/extension.json b/extensions/ConfirmEdit/FancyCaptcha/extension.json index 11b877be..dba07d9b 100644 --- a/extensions/ConfirmEdit/FancyCaptcha/extension.json +++ b/extensions/ConfirmEdit/FancyCaptcha/extension.json @@ -38,9 +38,7 @@ "localBasePath": "resources", "remoteExtPath": "ConfirmEdit/FancyCaptcha/resources" }, - "callback": [ - "ConfirmEditHooks::onFancyCaptchaSetup" - ], + "callback": "ConfirmEditHooks::onFancyCaptchaSetup", "config": { "CaptchaClass": "FancyCaptcha", "CaptchaFileBackend": "", diff --git a/extensions/ConfirmEdit/ReCaptcha/extension.json b/extensions/ConfirmEdit/ReCaptcha/extension.json index 5f97810a..79c90491 100644 --- a/extensions/ConfirmEdit/ReCaptcha/extension.json +++ b/extensions/ConfirmEdit/ReCaptcha/extension.json @@ -1,7 +1,7 @@ { "name": "ReCaptcha", "ExtensionFunctions": [ - "efReCaptcha" + "ConfirmEditHooks::efReCaptcha" ], "MessagesDirs": { "ReCaptcha": [ diff --git a/extensions/ConfirmEdit/includes/ConfirmEditHooks.php b/extensions/ConfirmEdit/includes/ConfirmEditHooks.php index 5f9c3384..41c990f1 100644 --- a/extensions/ConfirmEdit/includes/ConfirmEditHooks.php +++ b/extensions/ConfirmEdit/includes/ConfirmEditHooks.php @@ -139,11 +139,36 @@ class ConfirmEditHooks { $wgCaptchaDirectory = "$wgUploadDirectory/captcha"; } } + /** * Callback for extension.json of ReCaptcha to require the recaptcha library php file. * FIXME: This should be done in a better way, e.g. only load the libraray, if really needed. */ public static function onReCaptchaSetup() { - require_once( "ReCaptcha/recaptchalib.php" ); + require_once( __DIR__ . '/../ReCaptcha/recaptchalib.php' ); + } + + /** + * Extension function, moved from ReCaptcha.php when that was decimated. + * Make sure the keys are defined. + */ + public static function efReCaptcha() { + global $wgReCaptchaPublicKey, $wgReCaptchaPrivateKey; + global $recaptcha_public_key, $recaptcha_private_key; + global $wgServerName; + + // Backwards compatibility + if ( $wgReCaptchaPublicKey == '' ) { + $wgReCaptchaPublicKey = $recaptcha_public_key; + } + if ( $wgReCaptchaPrivateKey == '' ) { + $wgReCaptchaPrivateKey = $recaptcha_private_key; + } + + if ( $wgReCaptchaPublicKey == '' || $wgReCaptchaPrivateKey == '' ) { + die ( 'You need to set $wgReCaptchaPrivateKey and $wgReCaptchaPublicKey in LocalSettings.php to ' . + "use the reCAPTCHA plugin. You can sign up for a key <a href='" . + htmlentities( recaptcha_get_signup_url ( $wgServerName, "mediawiki" ) ) . "'>here</a>." ); + } } } |