More maintenance for ConfirmEdit extension.
[toast/cookiecaptcha.git] / ReCaptcha.php
1 <?php
2
3 /**
4  * Captcha class using the reCAPTCHA widget.
5  * Stop Spam. Read Books.
6  *
7  * @addtogroup Extensions
8  * @author Mike Crawford <mike.crawford@gmail.com>
9  * @copyright Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net
10  * @licence MIT/X11
11  */
12
13 if ( !defined( 'MEDIAWIKI' ) ) {
14         exit;
15 }
16
17 $dir = __DIR__;
18 require_once $dir . '/ConfirmEdit.php';
19 $wgCaptchaClass = 'ReCaptcha';
20
21 $wgExtensionMessagesFiles['ReCaptcha'] = $dir . '/ReCaptcha.i18n.php';
22
23 $wgAutoloadClasses['ReCaptcha'] = $dir . '/ReCaptcha.class.php';
24
25 require_once( 'recaptchalib.php' );
26
27 // Set these in LocalSettings.php
28 $wgReCaptchaPublicKey = '';
29 $wgReCaptchaPrivateKey = '';
30 // For backwards compatibility
31 $recaptcha_public_key = '';
32 $recaptcha_private_key = '';
33
34 /**
35  * Sets the theme for ReCaptcha
36  *
37  * See http://code.google.com/apis/recaptcha/docs/customization.html
38  */
39 $wgReCaptchaTheme = 'red';
40
41 $wgExtensionFunctions[] = 'efReCaptcha';
42
43 /**
44  * Make sure the keys are defined.
45  */
46 function efReCaptcha() {
47         global $wgReCaptchaPublicKey, $wgReCaptchaPrivateKey;
48         global $recaptcha_public_key, $recaptcha_private_key;
49         global $wgServerName;
50
51         // Backwards compatibility
52         if ( $wgReCaptchaPublicKey == '' ) {
53                 $wgReCaptchaPublicKey = $recaptcha_public_key;
54         }
55         if ( $wgReCaptchaPrivateKey == '' ) {
56                 $wgReCaptchaPrivateKey = $recaptcha_private_key;
57         }
58
59         if ( $wgReCaptchaPublicKey == '' || $wgReCaptchaPrivateKey == '' ) {
60                 die ( 'You need to set $wgReCaptchaPrivateKey and $wgReCaptchaPublicKey in LocalSettings.php to ' .
61                                 "use the reCAPTCHA plugin. You can sign up for a key <a href='" .
62                                 htmlentities( recaptcha_get_signup_url ( $wgServerName, "mediawiki" ) ) . "'>here</a>." );
63         }
64 }