X-Git-Url: https://git.toastfreeware.priv.at/toast/cookiecaptcha.git/blobdiff_plain/def5670e9b43c6204d0fc36ea236f3b7910bd820..cf972c982547913a897dd46c15926ab04517e12f:/MathCaptcha.php diff --git a/MathCaptcha.php b/MathCaptcha.php index eab0d1d..772687a 100644 --- a/MathCaptcha.php +++ b/MathCaptcha.php @@ -10,48 +10,9 @@ * @licence GNU General Public Licence 2.0 */ -if( defined( 'MEDIAWIKI' ) ) { - - class MathCaptcha extends SimpleCaptcha { - - /** Validate a captcha response */ - function keyMatch( $req, $info ) { - return (int)$req->getVal( 'wpCaptchaAnswer' ) == (int)$info['answer']; - } - - /** Produce a nice little form */ - function getForm() { - list( $sum, $answer ) = $this->pickSum(); - $index = $this->storeCaptcha( array( 'answer' => $answer ) ); - - $form = ''; - $form .= '
' . $this->fetchMath( $sum ) . '' . wfInput( 'wpCaptchaAnswer', false, false, array( 'tabindex' => '1' ) ) . '
'; - $form .= wfHidden( 'wpCaptchaId', $index ); - return $form; - } - - /** Pick a random sum */ - function pickSum() { - $a = mt_rand( 0, 100 ); - $b = mt_rand( 0, 10 ); - $op = mt_rand( 0, 1 ) ? '+' : '-'; - $sum = "{$a} {$op} {$b} = "; - $ans = $op == '+' ? ( $a + $b ) : ( $a - $b ); - return array( $sum, $ans ); - } - - /** Fetch the math */ - function fetchMath( $sum ) { - $math = new MathRenderer( $sum ); - $math->setOutputMode( MW_MATH_PNG ); - $html = $math->render(); - return preg_replace( '/alt=".*"/', '', $html ); - } - - } - -} else { +if( !defined( 'MEDIAWIKI' ) ) { echo( "This file is an extension to the MediaWiki software and cannot be used standalone.\n" ); die( 1 ); } +$wgAutoloadClasses['MathCaptcha'] = dirname( __FILE__ ) . '/MathCaptcha.class.php';