did u get any error? did u remember to publish the the bigo captcha plugin?spaantje wrote:Hey,
I have tried to install bigo captcha but it seems it won't display for me..
I have also installed "OSTWigits-Captcha" and that one does work right away.
But i like BIGO more..
Someone knows what goes wrong?
Do i need to CHMOD a folder or something?
Thanx,
Sonny
Bigo Captcha
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
- spaantje
- Joomla! Fledgling
- Posts: 4
- Joined: Thu Dec 14, 2006 10:14 pm
- Contact:
Re: Bigo Captcha
I did'nt get any error and yes i published it..bigodines wrote: did u get any error? did u remember to publish the the bigo captcha plugin?
Greetings,
Spaantje
Spaantje
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
hum.. i guess i need to improve error handling in bigo captcha
are u trying to use bigo captcha with which component/patch?
are u trying to use bigo captcha with which component/patch?
- spaantje
- Joomla! Fledgling
- Posts: 4
- Joined: Thu Dec 14, 2006 10:14 pm
- Contact:
Re: Bigo Captcha
I tried using it with the com_contact patch and with the yvComments plugin/component.. Both don't work..bigodines wrote:hum.. i guess i need to improve error handling in bigo captcha
are u trying to use bigo captcha with which component/patch?
Greetings,
Spaantje
Spaantje
- mayeska
- Joomla! Apprentice
- Posts: 9
- Joined: Sat Jan 12, 2008 11:19 pm
Re: Bigo Captcha
I was having issues with the pictures not appearing (got the little "red X of death" in IE), but I didn't have GD support enabled for Apache/PHP. Once this was taken care of, the captcha worked fine. You may have already checked your server config, but it's worth mentioning.
- spaantje
- Joomla! Fledgling
- Posts: 4
- Joined: Thu Dec 14, 2006 10:14 pm
- Contact:
Re: Bigo Captcha
GD is enabled indeed. So that's not it. But thanks anyway.mayeska wrote:I was having issues with the pictures not appearing (got the little "red X of death" in IE), but I didn't have GD support enabled for Apache/PHP. Once this was taken care of, the captcha worked fine. You may have already checked your server config, but it's worth mentioning.
Greetings,
Spaantje
Spaantje
-
- Joomla! Intern
- Posts: 65
- Joined: Fri Feb 08, 2008 12:37 pm
Re: Bigo Captcha
Nice Captcha. Also I use the community Builder 1.1 and it has some problems for installing CbCapcha. Is it possible make your captcha suitable for community builder ?
Thx
Thx
-
- Joomla! Intern
- Posts: 65
- Joined: Fri Feb 08, 2008 12:37 pm
Re: Bigo Captcha
I have a technical question. At first I am not a PhP programmer but I am learning it with Joomla.
As I see in the controller.php where you defined displaycaptcha function it is not joined to $task global variables. As I see the $tasks are 'category' and 'contact'. So how it can accepted as <img src="index.php?option=com_contact&task=displaycaptcha/> codes?
thx
As I see in the controller.php where you defined displaycaptcha function it is not joined to $task global variables. As I see the $tasks are 'category' and 'contact'. So how it can accepted as <img src="index.php?option=com_contact&task=displaycaptcha/> codes?
thx
-
- Joomla! Apprentice
- Posts: 6
- Joined: Thu Mar 13, 2008 8:57 am
Re: Bigo Captcha
I go fantastic!Dannymh wrote:First of all, I know this may sound like an odd question, but are you using Joomla! 1.5?
I have attached my modified J! 1.5 files so you can try using these and let me know.
Enable BigoCaptch in 1.5, backup your original
components/com_user/controller.php
components/com_user/views/register/tmpl/default.php
Extract the attached zip and manually replace the files on your server with the ones within.
Let me know how you go.
Dan
Thank you & Bigodines! ... A LOT!
Two days after the site went live, i was FLOODED by spam registration.
This will stop now
I combined the CAPTCHA registration with the acceptance of the general conditions
-
- Joomla! Apprentice
- Posts: 10
- Joined: Mon Mar 17, 2008 6:21 am
Re: Bigo Captcha
I want to display the captcha image in the registration page i pasted the below code in the controller.php
function displaycaptcha() {
global $mainframe;
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
$Ok = null;
$mainframe->triggerEvent('onCaptcha_Display', array($Ok));
if (!$Ok) {
echo "<br/>Error displaying Captcha<br/>";
}
}
function _checkCaptcha() {
global $mainframe;
// load the contact details
$return = false;
$word = JRequest::getVar('word', false, '', 'CMD');
$mainframe->triggerEvent('onCaptcha_confirm', array($word, &$return));
if ($return) {
return true;
} else return false;
}
and in the default.php i pasted this
<tr>
<td >
<label id="pw2msg" for="password2">
<img src="index.php?option=com_user&task=displaycaptcha">
</label>
</td>
<td>
<input type="text" name="word" id="word"/> *
</td>
</tr>
Still i am getting problem
Error displaying Captcha
Help me to display the captcha image in the registration form
function displaycaptcha() {
global $mainframe;
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
$Ok = null;
$mainframe->triggerEvent('onCaptcha_Display', array($Ok));
if (!$Ok) {
echo "<br/>Error displaying Captcha<br/>";
}
}
function _checkCaptcha() {
global $mainframe;
// load the contact details
$return = false;
$word = JRequest::getVar('word', false, '', 'CMD');
$mainframe->triggerEvent('onCaptcha_confirm', array($word, &$return));
if ($return) {
return true;
} else return false;
}
and in the default.php i pasted this
<tr>
<td >
<label id="pw2msg" for="password2">
<img src="index.php?option=com_user&task=displaycaptcha">
</label>
</td>
<td>
<input type="text" name="word" id="word"/> *
</td>
</tr>
Still i am getting problem
Error displaying Captcha
Help me to display the captcha image in the registration form
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
Hello
I have recently uploaded Bigo Captcha , but have been unable to see it on my registration page. I also have community builder, yvcomment and fireboard.
I tried to change these files, components/com_user/views/register/tmpl/default.php and /components/com_user/controller.php, to no avail. I also downloaded the two files and replaced them but I still don't see anything. I really love this component, but I don't know how to make it work Thank you for help in advance.
P.S. I have published Bigo
I have recently uploaded Bigo Captcha , but have been unable to see it on my registration page. I also have community builder, yvcomment and fireboard.
I tried to change these files, components/com_user/views/register/tmpl/default.php and /components/com_user/controller.php, to no avail. I also downloaded the two files and replaced them but I still don't see anything. I really love this component, but I don't know how to make it work Thank you for help in advance.
P.S. I have published Bigo
-
- Joomla! Apprentice
- Posts: 23
- Joined: Mon Feb 04, 2008 8:26 pm
Re: Bigo Captcha
Hello
BigoCaptcha don't work on a fai server web. It work only on a local server web.
The problem: the image don't display on the fai server web.
Have you any idea where is the problem ?
BigoCaptcha don't work on a fai server web. It work only on a local server web.
The problem: the image don't display on the fai server web.
Have you any idea where is the problem ?
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
which image library do you have enabled in your server?
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
How can I make this captcha show on community builder registration page?
This is how I changed controller in the user folder. Believe!
<?php
/**
* @version $Id: controller.php 9935 2008-01-13 22:42:34Z ircmaxell $
* @package Joomla
* @subpackage Content
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant to the
* GNU General Public License, and as distributed it includes or is derivative
* of works licensed under the GNU General Public License or other free or open
* source software licenses. See COPYRIGHT.php for copyright notices and
* details.
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
jimport('joomla.application.component.controller');
/**
* User Component Controller
*
* @package Joomla
* @subpackage Weblinks
* @since 1.5
*/
class UserController extends JController
{
/**
* Method to display a view
*
* @access public
* @since 1.5
*/
function displayimg()
{
//By default, just display an image
$document = &JFactory::getDocument();
$doc = &JDocument::getinstance('raw');
// Swap the objects
$document = $doc;
plgBigoCaptcha::display();
}
function edit()
{
global $mainframe, $option;
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
if ( $user->get('guest')) {
JError::raiseError( 403, JText::_('Access Forbidden') );
return;
}
JRequest::setVar('layout', 'form');
parent::display();
}
function save()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
$user =& JFactory::getUser();
$userid = JRequest::getVar( 'id', 0, 'post', 'int' );
// preform security checks
if ($user->get('id') == 0 || $userid == 0 || $userid <> $user->get('id')) {
JError::raiseError( 403, JText::_('Access Forbidden') );
return;
}
//clean request
$post = JRequest::get( 'post' );
$post['username'] = JRequest::getVar('username', '', 'post', 'username');
$post['password'] = JRequest::getVar('password', '', 'post', 'string', JREQUEST_ALLOWRAW);
$post['password2'] = JRequest::getVar('password2', '', 'post', 'string', JREQUEST_ALLOWRAW);
// do a password safety check
if(strlen($post['password']) || strlen($post['password2'])) { // so that "0" can be used as password e.g.
if($post['password'] != $post['password2']) {
$msg = JText::_('PASSWORDS_DO_NOT_MATCH');
$this->setRedirect($_SERVER['HTTP_REFERER'], $msg);
return false;
}
}
// we don't want users to edit certain fields so we will unset them
unset($post['gid']);
unset($post['block']);
unset($post['usertype']);
unset($post['registerDate']);
unset($post['activation']);
// store data
$model = $this->getModel('user');
if ($model->store($post)) {
$msg = JText::_( 'Your settings have been saved.' );
} else {
//$msg = JText::_( 'Error saving your settings.' );
$msg = $model->getError();
}
$this->setRedirect( $_SERVER['HTTP_REFERER'], $msg );
}
function cancel()
{
$this->setRedirect( 'index.php' );
}
function login()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
global $mainframe;
if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
$return = base64_decode($return);
}
$options = array();
$options['remember'] = JRequest::getBool('remember', false);
$options['return'] = $return;
$credentials = array();
$credentials['username'] = JRequest::getVar('username', '', 'method', 'username');
$credentials['password'] = JRequest::getString('passwd', '', 'post', JREQUEST_ALLOWRAW);
//preform the login action
$error = $mainframe->login($credentials, $options);
if(!JError::isError($error))
{
// Redirect if the return url is not registration or login
if ( ! $return ) {
$return = 'index.php?option=com_user';
}
$mainframe->redirect( $return );
}
else
{
// Facilitate third party login forms
if ( ! $return ) {
$return = 'index.php?option=com_user&view=login';
}
// Redirect to a login form
$mainframe->redirect( $return );
}
}
function logout()
{
global $mainframe;
//preform the logout action
$error = $mainframe->logout();
if(!JError::isError($error))
{
if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
$return = base64_decode($return);
}
// Redirect if the return url is not registration or login
if ( $return && !( strpos( $return, 'com_user' )) ) {
$mainframe->redirect( $return );
}
} else {
parent::display();
}
}
/**
* Prepares the registration form
* @return void
*/
function register()
{
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if (!$usersConfig->get( 'allowUserRegistration' )) {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}
JRequest::setVar('view', 'register');
parent::display();
}
/**
* Save user registration and notify users and admins if required
* @return void
*/
function register_save()
find
global $mainframe;
if (!$this->_checkCaptcha()) {
JError::raiseWarning("","You have entered the wrong CAPTCHA sequence. Please try again.");
$this->register();
return false;
}
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get required system objects
$user = clone(JFactory::getUser());
$pathway =& $mainframe->getPathway();
$config =& JFactory::getConfig();
$authorize =& JFactory::getACL();
$document =& JFactory::getDocument();
// If user registration is not allowed, show 403 not authorized.
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if ($usersConfig->get('allowUserRegistration') == '0') {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}
// Initialize new usertype setting
$newUsertype = $usersConfig->get( 'new_usertype' );
if (!$newUsertype) {
$newUsertype = 'Registered';
}
// Bind the post array to the user object
if (!$user->bind( JRequest::get('post'), 'usertype' )) {
JError::raiseError( 500, $user->getError());
}
// Set some initial user values
$user->set('id', 0);
$user->set('usertype', '');
$user->set('gid', $authorize->get_group_id( '', $newUsertype, 'ARO' ));
// TODO: Should this be JDate?
$user->set('registerDate', date('Y-m-d H:i:s'));
// If user activation is turned on, we need to set the activation information
$useractivation = $usersConfig->get( 'useractivation' );
if ($useractivation == '1')
{
jimport('joomla.user.helper');
$user->set('activation', md5( JUserHelper::genRandomPassword()) );
$user->set('block', '1');
}
// If there was an error with registration, set the message and display form
if ( !$user->save() )
{
JError::raiseWarning('', JText::_( $user->getError()));
$this->register();
return false;
}
// Send registration confirmation mail
$password = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
$password = preg_replace('/[\x00-\x1F\x7F]/', '', $password); //Disallow control chars in the email
UserController::_sendMail($user, $password);
// Everything went fine, set relevant message depending upon user activation state and display message
if ( $useractivation == 1 ) {
$message = JText::_( 'REG_COMPLETE_ACTIVATE' );
} else {
$message = JText::_( 'REG_COMPLETE' );
}
echo "user: ".$useractivation;
//TODO :: this needs to be replace by raiseMessage
JError::raiseNotice('', $message);
$this->register();
}
function activate()
{
global $mainframe;
// Initialize some variables
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$document =& JFactory::getDocument();
$pathway =& $mainframe->getPathWay();
$usersConfig = &JComponentHelper::getParams( 'com_users' );
$userActivation = $usersConfig->get('useractivation');
$allowUserRegistration = $usersConfig->get('allowUserRegistration');
// Check to see if they're logged in, because they don't need activating!
if ($user->get('id')) {
// They're already logged in, so redirect them to the home page
$mainframe->redirect( 'index.php' );
}
if ($allowUserRegistration == '0' || $userActivation == '0') {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}
// create the view
require_once (JPATH_COMPONENT.DS.'views'.DS.'register'.DS.'view.html.php');
$view = new UserViewRegister();
$message = new stdClass();
// Do we even have an activation string?
$activation = JRequest::getVar('activation', '', '', 'alnum' );
$activation = $db->getEscaped( $activation );
if (empty( $activation ))
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_NOT_FOUND' );
$view->assign('message', $message);
$view->display('message');
return;
}
// Lets activate this user
jimport('joomla.user.helper');
if (JUserHelper::activateUser($activation))
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_COMPLETE' );
}
else
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_NOT_FOUND' );
}
$view->assign('message', $message);
$view->display('message');
}
/**
* Password Reset Request Method
*
* @access public
*/
function requestreset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$email = JRequest::getVar('email', null, 'post', 'string');
// Get the model
$model = &$this->getModel('Reset');
// Request a reset
if ($model->requestReset($email) === false)
{
$message = JText::sprintf('PASSWORD_RESET_REQUEST_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset', $message);
return false;
}
$this->setRedirect('index.php?option=com_user&view=reset&layout=confirm');
}
/**
* Password Reset Confirmation Method
*
* @access public
*/
function confirmreset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$token = JRequest::getVar('token', null, 'post', 'alnum');
// Get the model
$model = &$this->getModel('Reset');
// Verify the token
if ($model->confirmReset($token) === false)
{
$message = JText::sprintf('PASSWORD_RESET_CONFIRMATION_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset&layout=confirm', $message);
return false;
}
$this->setRedirect('index.php?option=com_user&view=reset&layout=complete');
}
/**
* Password Reset Completion Method
*
* @access public
*/
function completereset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$password1 = JRequest::getVar('password1', null, 'post', 'string', JREQUEST_ALLOWRAW);
$password2 = JRequest::getVar('password2', null, 'post', 'string', JREQUEST_ALLOWRAW);
// Get the model
$model = &$this->getModel('Reset');
// Reset the password
if ($model->completeReset($password1, $password2) === false)
{
$message = JText::sprintf('PASSWORD_RESET_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset&layout=complete', $message);
return false;
}
$message = JText::_('PASSWORD_RESET_SUCCESS');
$this->setRedirect('index.php?option=com_user&view=login', $message);
}
/**
* Username Reminder Method
*
* @access public
*/
function remindusername()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$email = JRequest::getVar('email', null, 'post', 'string');
// Get the model
$model = &$this->getModel('Remind');
// Send the reminder
if ($model->remindUsername($email) === false)
{
$message = JText::sprintf('USERNAME_REMINDER_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=remind', $message);
return false;
}
$message = JText::sprintf('USERNAME_REMINDER_SUCCESS', $email);
$this->setRedirect('index.php?option=com_user&view=login', $message);
}
function _sendMail(&$user, $password)
{
global $mainframe;
$db =& JFactory::getDBO();
$name = $user->get('name');
$email = $user->get('email');
$username = $user->get('username');
$usersConfig = &JComponentHelper::getParams( 'com_users' );
$sitename = $mainframe->getCfg( 'sitename' );
$useractivation = $usersConfig->get( 'useractivation' );
$mailfrom = $mainframe->getCfg( 'mailfrom' );
$fromname = $mainframe->getCfg( 'fromname' );
$siteURL = JURI::base();
$subject = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
$subject = html_entity_decode($subject, ENT_QUOTES);
if ( $useractivation == 1 ){
$message = sprintf ( JText::_( 'SEND_MSG_ACTIVATE' ), $name, $sitename, $siteURL."index.php?option=com_user&task=activate&activation=".$user->get('activation'), $siteURL, $username, $password);
} else {
$message = sprintf ( JText::_( 'SEND_MSG' ), $name, $sitename, $siteURL);
}
$message = html_entity_decode($message, ENT_QUOTES);
//get all super administrator
$query = 'SELECT name, email, sendEmail' .
' FROM #__users' .
' WHERE LOWER( usertype ) = "super administrator"';
$db->setQuery( $query );
$rows = $db->loadObjectList();
// Send email to user
if ( ! $mailfrom || ! $fromname ) {
$fromname = $rows[0]->name;
$mailfrom = $rows[0]->email;
}
JUtility::sendMail($mailfrom, $fromname, $email, $subject, $message);
// Send notification to all administrators
$subject2 = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
$subject2 = html_entity_decode($subject2, ENT_QUOTES);
// get superadministrators id
foreach ( $rows as $row )
{
if ($row->sendEmail)
{
$message2 = sprintf ( JText::_( 'SEND_MSG_ADMIN' ), $row->name, $sitename, $name, $email, $username);
$message2 = html_entity_decode($message2, ENT_QUOTES);
JUtility::sendMail($mailfrom, $fromname, $row->email, $subject2, $message2);
}
}
}
function displaycaptcha() {
global $mainframe;
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
$Ok = null;
$mainframe->triggerEvent('onCaptcha_Display', array($Ok));
if (!$Ok) {
echo "<br/>Error displaying Captcha<br/>";
}
}
function _checkCaptcha() {
global $mainframe;
// load the contact details
$return = false;
$word = JRequest::getVar('word', false, '', 'CMD');
$mainframe->triggerEvent('onCaptcha_confirm', array($word, &$return));
if ($return) {
return true;
} else return false;
}
}function displaycaptcha() {
global $mainframe;
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
$Ok = null;
$mainframe->triggerEvent('onCaptcha_Display', array($Ok));
if (!$Ok) {
echo "<br/>Error displaying Captcha<br/>";
}
}
function _checkCaptcha() {
global $mainframe;
// load the contact details
$return = false;
$word = JRequest::getVar('word', false, '', 'CMD');
$mainframe->triggerEvent('onCaptcha_confirm', array($word, &$return));
if ($return) {
return true;
} else return false;
}
return false;
}
?>
This is how I changed controller in the user folder. Believe!
<?php
/**
* @version $Id: controller.php 9935 2008-01-13 22:42:34Z ircmaxell $
* @package Joomla
* @subpackage Content
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant to the
* GNU General Public License, and as distributed it includes or is derivative
* of works licensed under the GNU General Public License or other free or open
* source software licenses. See COPYRIGHT.php for copyright notices and
* details.
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
jimport('joomla.application.component.controller');
/**
* User Component Controller
*
* @package Joomla
* @subpackage Weblinks
* @since 1.5
*/
class UserController extends JController
{
/**
* Method to display a view
*
* @access public
* @since 1.5
*/
function displayimg()
{
//By default, just display an image
$document = &JFactory::getDocument();
$doc = &JDocument::getinstance('raw');
// Swap the objects
$document = $doc;
plgBigoCaptcha::display();
}
function edit()
{
global $mainframe, $option;
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
if ( $user->get('guest')) {
JError::raiseError( 403, JText::_('Access Forbidden') );
return;
}
JRequest::setVar('layout', 'form');
parent::display();
}
function save()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
$user =& JFactory::getUser();
$userid = JRequest::getVar( 'id', 0, 'post', 'int' );
// preform security checks
if ($user->get('id') == 0 || $userid == 0 || $userid <> $user->get('id')) {
JError::raiseError( 403, JText::_('Access Forbidden') );
return;
}
//clean request
$post = JRequest::get( 'post' );
$post['username'] = JRequest::getVar('username', '', 'post', 'username');
$post['password'] = JRequest::getVar('password', '', 'post', 'string', JREQUEST_ALLOWRAW);
$post['password2'] = JRequest::getVar('password2', '', 'post', 'string', JREQUEST_ALLOWRAW);
// do a password safety check
if(strlen($post['password']) || strlen($post['password2'])) { // so that "0" can be used as password e.g.
if($post['password'] != $post['password2']) {
$msg = JText::_('PASSWORDS_DO_NOT_MATCH');
$this->setRedirect($_SERVER['HTTP_REFERER'], $msg);
return false;
}
}
// we don't want users to edit certain fields so we will unset them
unset($post['gid']);
unset($post['block']);
unset($post['usertype']);
unset($post['registerDate']);
unset($post['activation']);
// store data
$model = $this->getModel('user');
if ($model->store($post)) {
$msg = JText::_( 'Your settings have been saved.' );
} else {
//$msg = JText::_( 'Error saving your settings.' );
$msg = $model->getError();
}
$this->setRedirect( $_SERVER['HTTP_REFERER'], $msg );
}
function cancel()
{
$this->setRedirect( 'index.php' );
}
function login()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
global $mainframe;
if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
$return = base64_decode($return);
}
$options = array();
$options['remember'] = JRequest::getBool('remember', false);
$options['return'] = $return;
$credentials = array();
$credentials['username'] = JRequest::getVar('username', '', 'method', 'username');
$credentials['password'] = JRequest::getString('passwd', '', 'post', JREQUEST_ALLOWRAW);
//preform the login action
$error = $mainframe->login($credentials, $options);
if(!JError::isError($error))
{
// Redirect if the return url is not registration or login
if ( ! $return ) {
$return = 'index.php?option=com_user';
}
$mainframe->redirect( $return );
}
else
{
// Facilitate third party login forms
if ( ! $return ) {
$return = 'index.php?option=com_user&view=login';
}
// Redirect to a login form
$mainframe->redirect( $return );
}
}
function logout()
{
global $mainframe;
//preform the logout action
$error = $mainframe->logout();
if(!JError::isError($error))
{
if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
$return = base64_decode($return);
}
// Redirect if the return url is not registration or login
if ( $return && !( strpos( $return, 'com_user' )) ) {
$mainframe->redirect( $return );
}
} else {
parent::display();
}
}
/**
* Prepares the registration form
* @return void
*/
function register()
{
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if (!$usersConfig->get( 'allowUserRegistration' )) {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}
JRequest::setVar('view', 'register');
parent::display();
}
/**
* Save user registration and notify users and admins if required
* @return void
*/
function register_save()
find
global $mainframe;
if (!$this->_checkCaptcha()) {
JError::raiseWarning("","You have entered the wrong CAPTCHA sequence. Please try again.");
$this->register();
return false;
}
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get required system objects
$user = clone(JFactory::getUser());
$pathway =& $mainframe->getPathway();
$config =& JFactory::getConfig();
$authorize =& JFactory::getACL();
$document =& JFactory::getDocument();
// If user registration is not allowed, show 403 not authorized.
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if ($usersConfig->get('allowUserRegistration') == '0') {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}
// Initialize new usertype setting
$newUsertype = $usersConfig->get( 'new_usertype' );
if (!$newUsertype) {
$newUsertype = 'Registered';
}
// Bind the post array to the user object
if (!$user->bind( JRequest::get('post'), 'usertype' )) {
JError::raiseError( 500, $user->getError());
}
// Set some initial user values
$user->set('id', 0);
$user->set('usertype', '');
$user->set('gid', $authorize->get_group_id( '', $newUsertype, 'ARO' ));
// TODO: Should this be JDate?
$user->set('registerDate', date('Y-m-d H:i:s'));
// If user activation is turned on, we need to set the activation information
$useractivation = $usersConfig->get( 'useractivation' );
if ($useractivation == '1')
{
jimport('joomla.user.helper');
$user->set('activation', md5( JUserHelper::genRandomPassword()) );
$user->set('block', '1');
}
// If there was an error with registration, set the message and display form
if ( !$user->save() )
{
JError::raiseWarning('', JText::_( $user->getError()));
$this->register();
return false;
}
// Send registration confirmation mail
$password = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
$password = preg_replace('/[\x00-\x1F\x7F]/', '', $password); //Disallow control chars in the email
UserController::_sendMail($user, $password);
// Everything went fine, set relevant message depending upon user activation state and display message
if ( $useractivation == 1 ) {
$message = JText::_( 'REG_COMPLETE_ACTIVATE' );
} else {
$message = JText::_( 'REG_COMPLETE' );
}
echo "user: ".$useractivation;
//TODO :: this needs to be replace by raiseMessage
JError::raiseNotice('', $message);
$this->register();
}
function activate()
{
global $mainframe;
// Initialize some variables
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$document =& JFactory::getDocument();
$pathway =& $mainframe->getPathWay();
$usersConfig = &JComponentHelper::getParams( 'com_users' );
$userActivation = $usersConfig->get('useractivation');
$allowUserRegistration = $usersConfig->get('allowUserRegistration');
// Check to see if they're logged in, because they don't need activating!
if ($user->get('id')) {
// They're already logged in, so redirect them to the home page
$mainframe->redirect( 'index.php' );
}
if ($allowUserRegistration == '0' || $userActivation == '0') {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}
// create the view
require_once (JPATH_COMPONENT.DS.'views'.DS.'register'.DS.'view.html.php');
$view = new UserViewRegister();
$message = new stdClass();
// Do we even have an activation string?
$activation = JRequest::getVar('activation', '', '', 'alnum' );
$activation = $db->getEscaped( $activation );
if (empty( $activation ))
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_NOT_FOUND' );
$view->assign('message', $message);
$view->display('message');
return;
}
// Lets activate this user
jimport('joomla.user.helper');
if (JUserHelper::activateUser($activation))
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_COMPLETE' );
}
else
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_NOT_FOUND_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_NOT_FOUND' );
}
$view->assign('message', $message);
$view->display('message');
}
/**
* Password Reset Request Method
*
* @access public
*/
function requestreset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$email = JRequest::getVar('email', null, 'post', 'string');
// Get the model
$model = &$this->getModel('Reset');
// Request a reset
if ($model->requestReset($email) === false)
{
$message = JText::sprintf('PASSWORD_RESET_REQUEST_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset', $message);
return false;
}
$this->setRedirect('index.php?option=com_user&view=reset&layout=confirm');
}
/**
* Password Reset Confirmation Method
*
* @access public
*/
function confirmreset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$token = JRequest::getVar('token', null, 'post', 'alnum');
// Get the model
$model = &$this->getModel('Reset');
// Verify the token
if ($model->confirmReset($token) === false)
{
$message = JText::sprintf('PASSWORD_RESET_CONFIRMATION_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset&layout=confirm', $message);
return false;
}
$this->setRedirect('index.php?option=com_user&view=reset&layout=complete');
}
/**
* Password Reset Completion Method
*
* @access public
*/
function completereset()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$password1 = JRequest::getVar('password1', null, 'post', 'string', JREQUEST_ALLOWRAW);
$password2 = JRequest::getVar('password2', null, 'post', 'string', JREQUEST_ALLOWRAW);
// Get the model
$model = &$this->getModel('Reset');
// Reset the password
if ($model->completeReset($password1, $password2) === false)
{
$message = JText::sprintf('PASSWORD_RESET_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=reset&layout=complete', $message);
return false;
}
$message = JText::_('PASSWORD_RESET_SUCCESS');
$this->setRedirect('index.php?option=com_user&view=login', $message);
}
/**
* Username Reminder Method
*
* @access public
*/
function remindusername()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
// Get the input
$email = JRequest::getVar('email', null, 'post', 'string');
// Get the model
$model = &$this->getModel('Remind');
// Send the reminder
if ($model->remindUsername($email) === false)
{
$message = JText::sprintf('USERNAME_REMINDER_FAILED', $model->getError());
$this->setRedirect('index.php?option=com_user&view=remind', $message);
return false;
}
$message = JText::sprintf('USERNAME_REMINDER_SUCCESS', $email);
$this->setRedirect('index.php?option=com_user&view=login', $message);
}
function _sendMail(&$user, $password)
{
global $mainframe;
$db =& JFactory::getDBO();
$name = $user->get('name');
$email = $user->get('email');
$username = $user->get('username');
$usersConfig = &JComponentHelper::getParams( 'com_users' );
$sitename = $mainframe->getCfg( 'sitename' );
$useractivation = $usersConfig->get( 'useractivation' );
$mailfrom = $mainframe->getCfg( 'mailfrom' );
$fromname = $mainframe->getCfg( 'fromname' );
$siteURL = JURI::base();
$subject = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
$subject = html_entity_decode($subject, ENT_QUOTES);
if ( $useractivation == 1 ){
$message = sprintf ( JText::_( 'SEND_MSG_ACTIVATE' ), $name, $sitename, $siteURL."index.php?option=com_user&task=activate&activation=".$user->get('activation'), $siteURL, $username, $password);
} else {
$message = sprintf ( JText::_( 'SEND_MSG' ), $name, $sitename, $siteURL);
}
$message = html_entity_decode($message, ENT_QUOTES);
//get all super administrator
$query = 'SELECT name, email, sendEmail' .
' FROM #__users' .
' WHERE LOWER( usertype ) = "super administrator"';
$db->setQuery( $query );
$rows = $db->loadObjectList();
// Send email to user
if ( ! $mailfrom || ! $fromname ) {
$fromname = $rows[0]->name;
$mailfrom = $rows[0]->email;
}
JUtility::sendMail($mailfrom, $fromname, $email, $subject, $message);
// Send notification to all administrators
$subject2 = sprintf ( JText::_( 'Account details for' ), $name, $sitename);
$subject2 = html_entity_decode($subject2, ENT_QUOTES);
// get superadministrators id
foreach ( $rows as $row )
{
if ($row->sendEmail)
{
$message2 = sprintf ( JText::_( 'SEND_MSG_ADMIN' ), $row->name, $sitename, $name, $email, $username);
$message2 = html_entity_decode($message2, ENT_QUOTES);
JUtility::sendMail($mailfrom, $fromname, $row->email, $subject2, $message2);
}
}
}
function displaycaptcha() {
global $mainframe;
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
$Ok = null;
$mainframe->triggerEvent('onCaptcha_Display', array($Ok));
if (!$Ok) {
echo "<br/>Error displaying Captcha<br/>";
}
}
function _checkCaptcha() {
global $mainframe;
// load the contact details
$return = false;
$word = JRequest::getVar('word', false, '', 'CMD');
$mainframe->triggerEvent('onCaptcha_confirm', array($word, &$return));
if ($return) {
return true;
} else return false;
}
}function displaycaptcha() {
global $mainframe;
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
$Ok = null;
$mainframe->triggerEvent('onCaptcha_Display', array($Ok));
if (!$Ok) {
echo "<br/>Error displaying Captcha<br/>";
}
}
function _checkCaptcha() {
global $mainframe;
// load the contact details
$return = false;
$word = JRequest::getVar('word', false, '', 'CMD');
$mainframe->triggerEvent('onCaptcha_confirm', array($word, &$return));
if ($return) {
return true;
} else return false;
}
return false;
}
?>
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
I'm sorry guys.. I won't give support on "how do I hack <insert your favorite component here> to use Bigo Captcha". This is a support thread for Bigo Captcha and I've provided a sample patch for com_contact which can be used by any developer to hack other components....
Feature suggestions and bug reports are always welcome.
Feature suggestions and bug reports are always welcome.
-
- Joomla! Apprentice
- Posts: 23
- Joined: Mon Feb 04, 2008 8:26 pm
Re: Bigo Captcha
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.5
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
This is the Graphic Device on my FAI server Web (PHP info)
Thanks bigodines
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.5
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
This is the Graphic Device on my FAI server Web (PHP info)
Thanks bigodines
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
Sorry about that. I have downloaded the contact patch, where should I place this file? I will try to go from there. btw what is the link for yvcomment source-code? thank you again for your time
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
@believe:
for instructions on how to apply the patch to com_contact, check this blog post:
http://www.joomla.com.br/blog/2008/01/2 ... component/
@mickey anything in the error logs? did u make sure you've enabled bigo captcha, did you check permissions and configurations? can I take a look at your live site?
-bigo
for instructions on how to apply the patch to com_contact, check this blog post:
http://www.joomla.com.br/blog/2008/01/2 ... component/
@mickey anything in the error logs? did u make sure you've enabled bigo captcha, did you check permissions and configurations? can I take a look at your live site?
-bigo
-
- Joomla! Apprentice
- Posts: 23
- Joined: Mon Feb 04, 2008 8:26 pm
Re: Bigo Captcha
anything. My folder (logs) is empty.bigodines wrote:anything in the error logs?
System - BigoCaptcha is activated (green quote) and its access level is public. All my folder are in writable mode.bigodines wrote:did u make sure you've enabled bigo captcha, did you check permissions and configurations?
Your plugin works with yvComment. It's activated in yvComment's parameters.
Of Coursebigodines wrote:can I take a look at your live site?
My site
Best regards
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
your host has safe_mode enabled. that's the problem.
this should be in the error logs disable safe_mode and everything should work.<b>Warning</b>: set_time_limit() [<a href='function.set-time-limit'>function.set-time-limit</a>]: Cannot set time limit in safe mode in <b>/mnt/166/sdb/8/a/shamballa2/plugins/system/Captcha04/CaptchaImage.php</b> on line <b>371</b><br />
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
Hello,
I have manually changed the controller class and default.php files, but I am receiving this message
Fatal error: Call to undefined method JRequest::checktoken() in C:\wamp\www\Joomla-1.5RC4\administrator\components\com_contact\admin.contact.php on line 251
any ideas on what I did wrong?
I have manually changed the controller class and default.php files, but I am receiving this message
Fatal error: Call to undefined method JRequest::checktoken() in C:\wamp\www\Joomla-1.5RC4\administrator\components\com_contact\admin.contact.php on line 251
any ideas on what I did wrong?
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
did you change the controller from the frontend of com_contact? it looks like you are hacking administrator/com_contact...
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
I opened the patch files, went to com_user, contoller, deleted controller replaced with the new one. I did the same for default.php. I did open both files after. Maybe I hit a button and screwed up the syntax. I will try to delete the files without opening and see if I receive the same message. Wish me Bigo Captcha luck
-
- Joomla! Apprentice
- Posts: 23
- Joined: Mon Feb 04, 2008 8:26 pm
Re: Bigo Captcha
Yes. How i put safe_mode disabled ?bigodines wrote:your host has safe_mode enabled. that's the problem.
- bigodines
- Joomla! Hero
- Posts: 2227
- Joined: Thu Aug 18, 2005 11:10 am
- Location: Floripa, Brazil
- Contact:
Re: Bigo Captcha
ask your host company to do that for you
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
Hello,believe wrote:I opened the patch files, went to com_user, contoller, deleted controller replaced with the new one. I did the same for default.php. I did open both files after. Maybe I hit a button and screwed up the syntax. I will try to delete the files without opening and see if I receive the same message. Wish me Bigo Captcha luck
I replaced the files, but when I try to make a contact page where captcha is shown, I keep getting this same error. I did not open any files. do you think I should replace the admin.contact form? This is the error. I am receiving.
Fatal error: Call to undefined method JRequest::checktoken() in C:\wamp\www\Joomla-1.5RC4\administrator\components\com_contact\admin.contact.php on line 251
P.S. how do you make the captcha active on the registration page? This is where I really need it.
-
- Joomla! Apprentice
- Posts: 23
- Joined: Mon Feb 04, 2008 8:26 pm
Re: Bigo Captcha
My FAI provides a free service and don't modify the safe_mode's parameter. It's a recurent problem for this FAI (http://www.free.fr : it's my FAI), and many subscribers of this FAI have already asked it to modify this parameter. The answer is : NO.bigodines wrote:ask your host company to do that for you
Well, how i used your component ?
Is it possible to create an random's image folder and use them with your component?
In any case, thanks for your help Bigo
-
- Joomla! Apprentice
- Posts: 23
- Joined: Mon Feb 04, 2008 8:26 pm
Re: Bigo Captcha
hello bigo
I have a solution, but i don't know how get the value of this line : $STR = md5_decrypt ( $UID [ 1 ] ); in the CaptchaImage.php file
I need the value of this variable $STR in the default.php of yvComment's component. Is it possible to get this value in this file ?
Thanks for your answer
I have a solution, but i don't know how get the value of this line : $STR = md5_decrypt ( $UID [ 1 ] ); in the CaptchaImage.php file
I need the value of this variable $STR in the default.php of yvComment's component. Is it possible to get this value in this file ?
Thanks for your answer
- Free4joomla
- Joomla! Apprentice
- Posts: 30
- Joined: Wed Mar 12, 2008 11:26 pm
- Contact:
Re: Bigo Captcha
same problem here? have you found a solutian for that?believe wrote:Hello,
I have manually changed the controller class and default.php files, but I am receiving this message
Fatal error: Call to undefined method JRequest::checktoken() in C:\wamp\www\Joomla-1.5RC4\administrator\components\com_contact\admin.contact.php on line 251
any ideas on what I did wrong?
http://free4joomla.com - Free joomla Templates
-
- Joomla! Enthusiast
- Posts: 101
- Joined: Wed Oct 24, 2007 11:18 pm
Re: Bigo Captcha
The response I received was that I probably did something wrong within the admin.contact document. I checked it but could not figure out what the problem was. I really want to figure out how to make this captcha work. Sorry I couldn't have been more help. If you should find out how to make this work, let me know. Wanda