/*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$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-settingif($useractivation==1){// yeah we want an activationjimport('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']=0;// 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 Warningreturnfalse;// 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 Warningreturnfalse;// if you're in a method/function return false}return$user;// else return the new JUser object
This example was originally contributed by User:Bembelimen