diff options
author | Eric Helgeson <erichelgeson@gmail.com> | 2009-11-16 11:44:31 -0500 |
---|---|---|
committer | Eric Helgeson <erichelgeson@gmail.com> | 2009-11-16 11:44:31 -0500 |
commit | d080afebbe835c70ed5b6937f71df5a36aeb906e (patch) | |
tree | dee41f69dc9952492b603ea1a3e07e266bae5d17 /plugins/recaptcha/recaptcha.php | |
parent | 0e7dd81a6cf38c879f24f476411104d67b9eb177 (diff) |
Refactored Recaptcha plugin to use addPlugin()
Also nicer log messages
Diffstat (limited to 'plugins/recaptcha/recaptcha.php')
-rw-r--r-- | plugins/recaptcha/recaptcha.php | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/plugins/recaptcha/recaptcha.php b/plugins/recaptcha/recaptcha.php deleted file mode 100644 index 94cf0ccd1..000000000 --- a/plugins/recaptcha/recaptcha.php +++ /dev/null @@ -1,104 +0,0 @@ -<?php -/** - * StatusNet, the distributed open-source microblogging tool - * - * Plugin to show reCaptcha when a user registers - * - * PHP version 5 - * - * LICENCE: This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * @category Plugin - * @package StatusNet - * @author Eric Helgeson <erichelgeson@gmail.com> - * @copyright 2009 - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ - */ - -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -define('RECAPTCHA', '0.2'); - -class recaptcha extends Plugin -{ - var $private_key; - var $public_key; - var $display_errors; - var $failed; - var $ssl; - - function __construct($public_key, $private_key, $display_errors=false) - { - parent::__construct(); - require_once(INSTALLDIR.'/plugins/recaptcha/recaptchalib.php'); - $this->public_key = $public_key; - $this->private_key = $private_key; - $this->display_errors = $display_errors; - } - - function checkssl(){ - if(common_config('site', 'ssl') === 'sometimes' || common_config('site', 'ssl') === 'always') { - return true; - } - return false; - } - - function onStartShowHTML($action) - { - //XXX: Horrible hack to make Safari, FF2, and Chrome work with - //reChapcha. reChapcha beaks xhtml strict - header('Content-Type: text/html'); - - $action->extraHeaders(); - - $action->startXML('html'); - - $action->raw('<style type="text/css">#recaptcha_area{float:left;}</style>'); - return false; - } - - function onEndRegistrationFormData($action) - { - $action->elementStart('li'); - $action->raw('<label for="recaptcha_area">Captcha</label>'); - if($this->checkssl() === true){ - $action->raw(recaptcha_get_html($this->public_key), null, true); - } else { - $action->raw(recaptcha_get_html($this->public_key)); - } - $action->elementEnd('li'); - return true; - } - - function onStartRegistrationTry($action) - { - $resp = recaptcha_check_answer ($this->private_key, - $_SERVER["REMOTE_ADDR"], - $action->trimmed('recaptcha_challenge_field'), - $action->trimmed('recaptcha_response_field')); - - if (!$resp->is_valid) - { - if($this->display_errors) - { - $action->showForm ("(reCAPTCHA said: " . $resp->error . ")"); - } - $action->showForm("Captcha does not match!"); - return false; - } - } -} |