JUser
From Joomla! Documentation
(Difference between revisions)
Bembelimen (Talk | contribs) (Added main information and some fixes) |
Bembelimen (Talk | contribs) (changed Category) |
||
| Line 168: | Line 168: | ||
* [http://api.joomla.org/Joomla-Framework/User/JUser.html JUser on api.joomla.org] | * [http://api.joomla.org/Joomla-Framework/User/JUser.html JUser on api.joomla.org] | ||
* [[JFactory/getUser|JFactory::getUser]] | * [[JFactory/getUser|JFactory::getUser]] | ||
| − | <noinclude>[[Category:Development]][[Category:Framework]][[Category: | + | <noinclude>[[Category:Development]][[Category:Framework]][[Category:JUser]]</noinclude> |
Revision as of 16:04, 5 December 2008
JUser is an abstract class which provides a number of methods to handle Users.
Contents |
Defined in
/libraries/joomla/user/user.php
Extends
Extended by
- none
Get and Set Methods
Properties which do not have specific get or set methods listed here can be retrieved or set using the inherited JObject->get method.
| Get method | Set method | Description | Property |
|---|---|---|---|
| setLastVisit | Sets the last visit date | ||
| getParam | setParam | User Param | |
| getParameters | setParameters | User Params | |
| getTable | Gets the user table object |
Other Methods
| Method name | Description |
|---|---|
| defParam | Sets a default Param, if it does not exists. See separate reference page for further information. |
| authorize | Checks JUser object authorization against an access control object and optionally an access extension object. See separate reference page for further information. |
| bind | Binds an associative array of data to the user object. See separate reference page for further information. |
| save | Saves the JUser object to the database. See separate reference page for further information. |
| getInstance | Returns a reference to the global JUser object of a given type, only creating it if it doesn't already exist. In most cases you should use JFactory::getUser instead. |
| delete | Deletes the JUser object from the database. |
Importing
jimport( 'joomla.user.user' );
Examples
Create a fresh user
| Should perhaps be moved to JFactory::getUser, cause using "new JUser" isn't recommended; so no example is necessary |
/* 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 = $usersConfig->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