FU r102105, escaped the quotes.
[toast/cookiecaptcha.git] / Captcha.php
index 2382845364da8995ca3216d7099dcffabe38586e..0124c77b172b6584526abe0fd1898913ae956670 100644 (file)
@@ -218,20 +218,6 @@ abstract class Captcha {
 
 class SimpleCaptcha {
 
-       /**
-        * @var CaptchaStore
-        */
-       protected $storage;
-
-       function __construct() {
-               global $wgCaptchaStorageClass;
-               if( in_array( 'CaptchaStore', class_implements( $wgCaptchaStorageClass ) ) ) {
-                       $this->storage = new $wgCaptchaStorageClass;
-               } else {
-                       throw new MWException( "Invalid CaptchaStore class $wgCaptchaStorageClass" );
-               }
-       }
-
        function getCaptcha() {
                $a = mt_rand( 0, 100 );
                $b = mt_rand( 0, 10 );
@@ -267,7 +253,9 @@ class SimpleCaptcha {
                $captcha = $this->getCaptcha();
                $index = $this->storeCaptcha( $captcha );
 
-               return "<p><label for=\"wpCaptchaWord\">{$captcha['question']}</label> = " .
+               // dir="ltr" is needed because otherwise it may say
+               // "5 - 20" instead of "20 - 5" and that would be wrong.
+               return "<p><label dir=\"ltr\" for=\"wpCaptchaWord\">{$captcha['question']}</label> = " .
                        Xml::element( 'input', array(
                                'name' => 'wpCaptchaWord',
                                'id'   => 'wpCaptchaWord',
@@ -835,7 +823,7 @@ class SimpleCaptcha {
                        // Assign random index if we're not udpating
                        $info['index'] = strval( mt_rand() );
                }
-               $this->storage->store( $info['index'], $info );
+               CaptchaStore::get()->store( $info['index'], $info );
                return $info['index'];
        }
 
@@ -846,7 +834,7 @@ class SimpleCaptcha {
        function retrieveCaptcha() {
                global $wgRequest;
                $index = $wgRequest->getVal( 'wpCaptchaId' );
-               return $this->storage->retrieve( $index );
+               return CaptchaStore::get()->retrieve( $index );
        }
 
        /**
@@ -854,7 +842,7 @@ class SimpleCaptcha {
         * it can't be reused.
         */
        function clearCaptcha( $info ) {
-               $this->storage->clear( $info['index'] );
+               CaptchaStore::get()->clear( $info['index'] );
        }
 
        /**
@@ -901,7 +889,7 @@ class SimpleCaptcha {
                global $wgOut;
                $wgOut->setPageTitle( wfMsg( 'captchahelp-title' ) );
                $wgOut->addWikiText( wfMsg( 'captchahelp-text' ) );
-               if ( $this->storage->cookiesNeeded() ) {
+               if ( CaptchaStore::get()->cookiesNeeded() ) {
                        $wgOut->addWikiText( wfMsg( 'captchahelp-cookies-needed' ) );
                }
        }