Load the Recaptcha class in a way that has some chance of even working
[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 require_once dirname( __FILE__ ) . '/ConfirmEdit.php';
18 $wgCaptchaClass = 'ReCaptcha';
19
20 $dir = dirname( __FILE__ );
21
22 $wgExtensionMessagesFiles['ReCaptcha'] = $dir . '/ReCaptcha.i18n.php';
23
24 $wgAutoloadClasses['ReCaptcha']= $dir . '/Captcha.php';
25
26 require_once( 'recaptchalib.php' );
27
28 // Set these in LocalSettings.php
29 $wgReCaptchaPublicKey = '';
30 $wgReCaptchaPrivateKey = '';
31 // For backwards compatibility
32 $recaptcha_public_key = '';
33 $recaptcha_private_key = '';
34
35 /**
36  * Sets the theme for ReCaptcha
37  *
38  * See http://code.google.com/apis/recaptcha/docs/customization.html
39  */
40 $wgReCaptchaTheme = 'red';
41
42 $wgExtensionFunctions[] = 'efReCaptcha';
43
44 /**
45  * Make sure the keys are defined.
46  */
47 function efReCaptcha() {
48         global $wgReCaptchaPublicKey, $wgReCaptchaPrivateKey;
49         global $recaptcha_public_key, $recaptcha_private_key;
50         global $wgServerName;
51
52         // Backwards compatibility
53         if ( $wgReCaptchaPublicKey == '' ) {
54                 $wgReCaptchaPublicKey = $recaptcha_public_key;
55         }
56         if ( $wgReCaptchaPrivateKey == '' ) {
57                 $wgReCaptchaPrivateKey = $recaptcha_private_key;
58         }
59
60         if ($wgReCaptchaPublicKey == '' || $wgReCaptchaPrivateKey == '') {
61                 die ('You need to set $wgReCaptchaPrivateKey and $wgReCaptchaPublicKey in LocalSettings.php to ' .
62                                 "use the reCAPTCHA plugin. You can sign up for a key <a href='" .
63                                 htmlentities(recaptcha_get_signup_url ($wgServerName, "mediawiki")) . "'>here</a>.");
64         }
65 }