Criando usuário por código
De Basef
Para criar um usuário via código PHP:
/* 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-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'] = 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 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