summaryrefslogtreecommitdiff
path: root/extensions/ConfirmEdit/CaptchaStore.php
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/ConfirmEdit/CaptchaStore.php')
-rw-r--r--extensions/ConfirmEdit/CaptchaStore.php116
1 files changed, 0 insertions, 116 deletions
diff --git a/extensions/ConfirmEdit/CaptchaStore.php b/extensions/ConfirmEdit/CaptchaStore.php
deleted file mode 100644
index a54db97f..00000000
--- a/extensions/ConfirmEdit/CaptchaStore.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-abstract class CaptchaStore {
- /**
- * Store the correct answer for a given captcha
- * @param $index String
- * @param $info String the captcha result
- */
- public abstract function store( $index, $info );
-
- /**
- * Retrieve the answer for a given captcha
- * @param $index String
- * @return String
- */
- public abstract function retrieve( $index );
-
- /**
- * Delete a result once the captcha has been used, so it cannot be reused
- * @param $index
- */
- public abstract function clear( $index );
-
- /**
- * Whether this type of CaptchaStore needs cookies
- * @return Bool
- */
- public abstract function cookiesNeeded();
-
- /**
- * The singleton instance
- * @var CaptchaStore
- */
- private static $instance;
-
- /**
- * Get somewhere to store captcha data that will persist between requests
- *
- * @throws MWException
- * @return CaptchaStore
- */
- public final static function get() {
- if ( !self::$instance instanceof self ) {
- global $wgCaptchaStorageClass;
- if ( in_array( 'CaptchaStore', class_parents( $wgCaptchaStorageClass ) ) ) {
- self::$instance = new $wgCaptchaStorageClass;
- } else {
- throw new MWException( "Invalid CaptchaStore class $wgCaptchaStorageClass" );
- }
- }
- return self::$instance;
- }
-
- /**
- * Protected constructor: no creating instances except through the factory method above
- */
- protected function __construct() {}
-}
-
-class CaptchaSessionStore extends CaptchaStore {
-
- protected function __construct() {
- // Make sure the session is started
- if ( session_id() === '' ) {
- wfSetupSession();
- }
- }
-
- function store( $index, $info ) {
- $_SESSION['captcha' . $info['index']] = $info;
- }
-
- function retrieve( $index ) {
- if ( isset( $_SESSION['captcha' . $index] ) ) {
- return $_SESSION['captcha' . $index];
- } else {
- return false;
- }
- }
-
- function clear( $index ) {
- unset( $_SESSION['captcha' . $index] );
- }
-
- function cookiesNeeded() {
- return true;
- }
-}
-
-class CaptchaCacheStore extends CaptchaStore {
-
- function store( $index, $info ) {
- global $wgMemc, $wgCaptchaSessionExpiration;
- $wgMemc->set( wfMemcKey( 'captcha', $index ), $info,
- $wgCaptchaSessionExpiration );
- }
-
- function retrieve( $index ) {
- global $wgMemc;
- $info = $wgMemc->get( wfMemcKey( 'captcha', $index ) );
- if ( $info ) {
- return $info;
- } else {
- return false;
- }
- }
-
- function clear( $index ) {
- global $wgMemc;
- $wgMemc->delete( wfMemcKey( 'captcha', $index ) );
- }
-
- function cookiesNeeded() {
- return false;
- }
-}