Files
2026-02-08 21:16:11 +01:00

1 line
1.9 KiB
PHP

<?php
/**
* @package Joomla.Plugin
* @subpackage Captcha
*
* @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Simplecaptcha Plugin.
*/
class PlgCaptchaSimplecaptcha extends JPlugin
{
/**
* Load the language file on instantiation.
*
* @var boolean
* @since 3.1
*/
protected $autoloadLanguage = true;
/**
* Initialise the captcha
*
* @param string $id The id of the field.
*
* @return Boolean True on success, false otherwise
*
* @throws Exception
*
* @since 2.5
*/
public function onInit($id = 'challenge')
{
return true;
}
/**
* Gets the challenge HTML
*
* @param string $name The name of the field.
* @param string $id The id of the field.
* @param string $class The class of the field. This should be passed as
* e.g. 'class="required"'.
*
* @return string The HTML to be embedded in the form.
*
* @since 2.5
*/
public function onDisplay($name = 'challenge', $id = 'challenge', $class = 'required')
{
return '<div class=' . $this->params->get("classquestion") . '>' . $this->params->get("question") . '</div><input class=' . $this->params->get("classresponse") . ' type="captcha" validate="captcha" name=' . $name . ' id=' . $id . '>';
}
/**
* Calls an HTTP POST function to verify if the user's guess was correct
*
* @param string $code Answer provided by user.
*
* @return True if the answer is correct, false otherwise
*
* @since 2.5
*/
public function onCheckAnswer($code)
{
$input = JFactory::getApplication()->input;
$response = $this->params->get('response');
if ($code == $response)
{
return true;
}
else
{
$this->_subject->setError(JText::_('PLG_SIMPLECAPTCHA_ERROR'));
return false;
}
}
}