Return to Snippet

Revision: 8979
at October 16, 2008 10:38 by rblalock


Initial Code
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-x1Fx7F]/', '', $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' );
  }
 

         $options = array();
  $options['remember'] = false;
  $options['return'] = 'index.php?option=com_jcs&view=jcs&layout=form';
 
  $credentials = array();
  $credentials['username'] = JRequest::getVar('username', '', 'method', 'username');
  $credentials['password'] = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
 
  //preform the login action
  $error = $mainframe->login($credentials, $options);
                $this->setRedirect('index.php?option=com_jcs&view=jcs&layout=form', 'Click PayPal button to Subscribe');
 }

Initial URL

                                

Initial Description

                                

Initial Title
Login on Registration - Joomla 1.5

Initial Tags
login, textmate, joomla

Initial Language
Other