All pastes #931440 Raw Edit

Anonymous

public php v1 · immutable
·published 2008-03-07 05:17 UTC
rendered paste body
/**	 * Save user registration and notify users and admins if required	 * @return void	 */	function register_save()	{		global $mainframe;		// 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' );		}		//TODO :: this needs to be replace by raiseMessage		JError::raiseNotice('', $message);		$this->register();	}