MediaWiki REL1_30
FancyCaptcha Class Reference

FancyCaptcha for displaying captchas precomputed by captcha.py. More...

Inheritance diagram for FancyCaptcha:
Collaboration diagram for FancyCaptcha:

Public Member Functions

 addCaptchaAPI (&$resultArr)
 
 describeCaptchaType ()
 
 estimateCaptchaCount ()
 
 getBackend ()
 
 getCaptcha ()
 Returns an array with 'salt' and 'hash' keys.
 
 getCaptchaCount ()
 
 getCaptchaInfo ( $captchaData, $id)
 
 getFormInformation ( $tabIndex=1)
 
 hashFromImageName ( $basename)
 
 imagePath ( $salt, $hash)
 
 keyMatch ( $answer, $info)
 Check if the submitted form matches the captcha session data provided by the plugin when the form was generated.
 
 onAuthChangeFormFields (array $requests, array $fieldInfo, array &$formDescriptor, $action)
 
 showImage ()
 
- Public Member Functions inherited from SimpleCaptcha
 addFormInformationToOutput (OutputPage $out, array $formInformation)
 Processes the given $formInformation array and adds the options (see getFormInformation()) to the given OutputPage object.
 
 addFormToOutput (OutputPage $out, $tabIndex=1)
 Uses getFormInformation() to get the CAPTCHA form and adds it to the given OutputPage object.
 
 APIGetAllowedParams (&$module, &$params, $flags)
 
 buildRegexes ( $lines)
 Build regex from whitelist.
 
 captchaTriggers ( $title, $action)
 
 clearCaptcha ( $index)
 Clear out existing captcha info from the session, to ensure it can't be reused.
 
 confirmEditMerged ( $context, $content, $status, $summary, $user, $minorEdit)
 An efficient edit filter callback based on the text after section merging.
 
 confirmEmailUser ( $from, $to, $subject, $text, &$error)
 Check the captcha on Special:EmailUser.
 
 createAuthenticationRequest ()
 
 editShowCaptcha ( $editPage)
 Insert the captcha prompt into an edit form.
 
 filterLink ( $url)
 Filter callback function for URL whitelisting.
 
 findLinks ( $title, $text)
 Extract a list of all recognized HTTP links in the text.
 
 getError ()
 Return the error from the last passCaptcha* call.
 
 getLinksFromTracker ( $title)
 Load external links from the externallinks table.
 
 getMessage ( $action)
 Show a message asking the user to enter a captcha on edit The result will be treated as wiki text.
 
 increaseBadLoginCounter ( $username)
 Increase bad login counter after a failed login.
 
 injectEmailUser (&$form)
 Inject whazawhoo @fixme if multiple thingies insert a header, could break.
 
 isBadLoginPerUserTriggered ( $u)
 Is the per-user captcha triggered?
 
 isBadLoginTriggered ()
 Check if a bad login has already been registered for this IP address.
 
 isIPWhitelisted ()
 Check if the current IP is allowed to skip captchas.
 
 loadText ( $title, $section, $flags=Revision::READ_LATEST)
 Retrieve the current version of the page or section being edited...
 
 log ( $message)
 Log the status and any triggering info for debugging or statistics.
 
 needCreateAccountCaptcha (User $creatingUser=null)
 Logic to check if we need to pass a captcha for the current user to create a new account, or not.
 
 passCaptchaFromRequest (WebRequest $request, User $user)
 Given a required captcha run, test form input for correct input on the open session.
 
 passCaptchaLimited ( $index, $word, User $user)
 Checks, if the user reached the amount of false CAPTCHAs and give him some vacation or run self::passCaptcha() and clear counter if correct.
 
 passCaptchaLimitedFromRequest (WebRequest $request, User $user)
 Checks, if the user reached the amount of false CAPTCHAs and give him some vacation or run self::passCaptcha() and clear counter if correct.
 
 resetBadLoginCounter ( $username)
 Reset bad login counter after a successful login.
 
 retrieveCaptcha ( $index)
 Fetch this session's captcha info.
 
 setAction ( $action)
 
 setTrigger ( $trigger)
 
 shouldCheck (WikiPage $page, $content, $section, $context, $oldtext=null)
 
 showEditFormFields (&$editPage, &$out)
 Show error message for missing or incorrect captcha on EditPage.
 
 showHelp ()
 Show a page explaining what this wacky thing is.
 
 storeCaptcha ( $info)
 Generate a captcha session ID and save the info in PHP's session storage.
 

Protected Member Functions

 passCaptcha ( $index, $word)
 Delete a solved captcha image, if $wgCaptchaDeleteOnSolve is true.
 
 pickImage ()
 Select a previously generated captcha image from the queue.
 
 pickImageDir ( $directory, $levels, &$lockouts)
 
 pickImageFromDir ( $directory, &$lockouts)
 
 pickImageFromList ( $directory, array $files, &$lockouts)
 
- Protected Member Functions inherited from SimpleCaptcha
 getCaptchaParamsFromRequest (WebRequest $request)
 
 isAPICaptchaModule ( $module)
 

Static Protected Attributes

static $messagePrefix = 'fancycaptcha-'
 
- Static Protected Attributes inherited from SimpleCaptcha
static $messagePrefix = 'captcha-'
 

Additional Inherited Members

- Protected Attributes inherited from SimpleCaptcha
string $action
 Used to select the right message.
 
string $trigger
 Used in log messages.
 

Detailed Description

FancyCaptcha for displaying captchas precomputed by captcha.py.

Definition at line 9 of file FancyCaptcha.class.php.

Member Function Documentation

◆ addCaptchaAPI()

FancyCaptcha::addCaptchaAPI ( & $resultArr)
Parameters
array$resultArr

Reimplemented from SimpleCaptcha.

Definition at line 86 of file FancyCaptcha.class.php.

References describeCaptchaType(), SpecialPage\getTitleFor(), pickImage(), and SimpleCaptcha\storeCaptcha().

◆ describeCaptchaType()

FancyCaptcha::describeCaptchaType ( )
Returns
array

Reimplemented from SimpleCaptcha.

Definition at line 102 of file FancyCaptcha.class.php.

Referenced by addCaptchaAPI().

◆ estimateCaptchaCount()

FancyCaptcha::estimateCaptchaCount ( )
Deprecated
Use getCaptchaCount instead for an accurate figure
Returns
int Number of captcha files

Definition at line 43 of file FancyCaptcha.class.php.

References getCaptchaCount(), and wfDeprecated().

◆ getBackend()

◆ getCaptcha()

FancyCaptcha::getCaptcha ( )

Returns an array with 'salt' and 'hash' keys.

Hash is md5( $wgCaptchaSecret . $salt . $answer . $wgCaptchaSecret . $salt )[0..15]

Returns
array
Exceptions
ExceptionWhen a captcha image cannot be produced.

Reimplemented from SimpleCaptcha.

Definition at line 422 of file FancyCaptcha.class.php.

References pickImage().

Referenced by getFormInformation().

◆ getCaptchaCount()

FancyCaptcha::getCaptchaCount ( )
Returns
int Number of captcha files

Definition at line 51 of file FancyCaptcha.class.php.

References getBackend().

Referenced by estimateCaptchaCount().

◆ getCaptchaInfo()

FancyCaptcha::getCaptchaInfo ( $captchaData,
$id )
Parameters
array$captchaData
string$id
Returns
string

Reimplemented from SimpleCaptcha.

Definition at line 435 of file FancyCaptcha.class.php.

References SpecialPage\getTitleFor().

Referenced by onAuthChangeFormFields().

◆ getFormInformation()

FancyCaptcha::getFormInformation ( $tabIndex = 1)
Parameters
int$tabIndex
Returns
array

Reimplemented from SimpleCaptcha.

Definition at line 113 of file FancyCaptcha.class.php.

References $modules, $wgEnableAPI, getCaptcha(), SpecialPage\getTitleFor(), SimpleCaptcha\storeCaptcha(), text, and wfMessage().

◆ hashFromImageName()

FancyCaptcha::hashFromImageName ( $basename)
Parameters
$basenamestring
Returns
array (salt, hash)
Exceptions
Exception

Definition at line 389 of file FancyCaptcha.class.php.

References $matches.

◆ imagePath()

FancyCaptcha::imagePath ( $salt,
$hash )
Parameters
$saltstring
$hashstring
Returns
string

Definition at line 372 of file FancyCaptcha.class.php.

References getBackend().

Referenced by passCaptcha(), and showImage().

◆ keyMatch()

FancyCaptcha::keyMatch ( $answer,
$info )

Check if the submitted form matches the captcha session data provided by the plugin when the form was generated.

Parameters
string$answer
array$info
Returns
bool

Reimplemented from SimpleCaptcha.

Definition at line 68 of file FancyCaptcha.class.php.

References wfDebug().

◆ onAuthChangeFormFields()

FancyCaptcha::onAuthChangeFormFields ( array $requests,
array $fieldInfo,
array & $formDescriptor,
$action )
Parameters
array$requests
array$fieldInfo
array$formDescriptor
string$action

Reimplemented from SimpleCaptcha.

Definition at line 446 of file FancyCaptcha.class.php.

References SimpleCaptcha\$action, $req, $requests, getCaptchaInfo(), and SimpleCaptcha\getMessage().

◆ passCaptcha()

FancyCaptcha::passCaptcha ( $index,
$word )
protected

Delete a solved captcha image, if $wgCaptchaDeleteOnSolve is true.

Given a required captcha run, test form input for correct input on the open session.

Parameters
string$indexCaptcha idenitifier
string$wordCaptcha solution
Returns
bool if passed, false if failed or new session

Reimplemented from SimpleCaptcha.

Definition at line 401 of file FancyCaptcha.class.php.

References getBackend(), imagePath(), and SimpleCaptcha\retrieveCaptcha().

◆ pickImage()

FancyCaptcha::pickImage ( )
protected

Select a previously generated captcha image from the queue.

Returns
mixed tuple of (salt key, text hash) or false if no image to find

Definition at line 192 of file FancyCaptcha.class.php.

References getBackend(), and pickImageDir().

Referenced by addCaptchaAPI(), and getCaptcha().

◆ pickImageDir()

FancyCaptcha::pickImageDir ( $directory,
$levels,
& $lockouts )
protected
Parameters
$directorystring
$levelsinteger
$lockoutsinteger
Returns
array|bool

Definition at line 206 of file FancyCaptcha.class.php.

References $dirs, $wgMemc, getBackend(), pickImageDir(), pickImageFromDir(), and wfDebug().

Referenced by pickImage(), and pickImageDir().

◆ pickImageFromDir()

FancyCaptcha::pickImageFromDir ( $directory,
& $lockouts )
protected
Parameters
$directorystring
$lockoutsinteger
Returns
array|bool

Definition at line 258 of file FancyCaptcha.class.php.

References $wgMemc, getBackend(), pickImageFromList(), and wfDebug().

Referenced by pickImageDir().

◆ pickImageFromList()

FancyCaptcha::pickImageFromList ( $directory,
array $files,
& $lockouts )
protected
Parameters
$directorystring
$filesarray
$lockoutsinteger
Returns
array|bool

Definition at line 301 of file FancyCaptcha.class.php.

References $matches, $wgMemc, add, and getBackend().

Referenced by pickImageFromDir().

◆ showImage()

FancyCaptcha::showImage ( )

Member Data Documentation

◆ $messagePrefix

FancyCaptcha::$messagePrefix = 'fancycaptcha-'
staticprotected

Definition at line 12 of file FancyCaptcha.class.php.


The documentation for this class was generated from the following file: