Related Items  

Linux and Windows Support  

make-it-great-again

Login or Register  

If you wish to contribute an article, please login or register.

Adding a new user to Joomla 1.5 using custom code

PrintE-mail

There used to be a nice link on the Joomla site (http://docs.joomla.org/JUser) on how to add a user to Joomla 1.5 using custom code. The link was taken down, so here's that code:


<?php
function register_user ($email, $password){
 $firstname = $email; // generate $firstname
 $lastname = ''; // generate $lastname
 $username = $email; // username is the same as email

 /*
 I handle this code as if it is a snippet of a method or function!!
 First set up some variables/objects     */
 // get the ACL
 $acl =& JFactory::getACL();
 /* get the com_user params */
 jimport('joomla.application.component.helper'); // include libraries/application/component/helper.php
 $usersParams = &JComponentHelper::getParams( 'com_users' ); // load the Params
 // "generate" a new JUser Object
 $user = JFactory::getUser(0); // it's important to set the "0" otherwise your admin user information will be loaded
 $data = array(); // array for all user settings
 // get the default usertype
 $usertype = $usersParams->get( 'new_usertype' );
 if (!$usertype) {
     $usertype = 'Registered';
 }
 // set up the "main" user information
 //original logic of name creation
 //$data['name'] = $firstname.' '.$lastname; // add first- and lastname
 $data['name'] = $firstname.$lastname; // add first- and lastname
 $data['username'] = $username; // add username
 $data['email'] = $email; // add email
 $data['gid'] = $acl->get_group_id( '', $usertype, 'ARO' );  // generate the gid from the usertype
 /* no need to add the usertype, it will be generated automaticaly from the gid */
 $data['password'] = $password; // set the password
 $data['password2'] = $password; // confirm the password
 $data['sendEmail'] = 1; // should the user receive system mails?
 /* Now we can decide, if the user will need an activation */
 $useractivation = $usersParams->get( 'useractivation' ); // in this example, we load the config-setting
 if ($useractivation == 1) { // yeah we want an activation
     jimport('joomla.user.helper'); // include libraries/user/helper.php
     $data['block'] = 1; // block the User
     $data['activation'] =JUtility::getHash( JUserHelper::genRandomPassword() ); // set activation hash (don't forget to send an activation email)
 }
 else { // no we need no activation
     $data['block'] = 1; // don't block the user
 }
 if (!$user->bind($data)) { // now bind the data to the JUser Object, if it not works....
     JError::raiseWarning('', JText::_( $user->getError())); // ...raise an Warning
     return false; // if you're in a method/function return false
 }
 if (!$user->save()) { // if the user is NOT saved...
     JError::raiseWarning('', JText::_( $user->getError())); // ...raise an Warning
     return false; // if you're in a method/function return false
 }
 return $user; // else return the new JUser object
 }
 $email = JRequest::getVar('email');
 $password = JRequest::getVar('password');
 //echo 'User registration...'.'<br/>';
 register_user($email, $password);
 //echo '<br/>'.'User registration is completed'.'<br/>';
?>

 

Add your comment

Your name:
Subject:
Comment:
  The word for verification. Lowercase letters only with no spaces.
Word verification:
yvComment v.1.24.0
   
Copyright © 1999 - 2017 Virtual Helpme | a | Original Template: Allrounder