Related Items  

Linux and Windows IT Support  

We make IT Support easy!

Windows, Apple and Linux IT support and services.

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 | Managed IT Solutions Specialized for Your Business | Original Template: Allrounder
-->