JUser/save
From Joomla! Documentation
< API15:JUser
The "API15" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Description[edit]
Method to save the JUser object to the database
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax[edit]
save($updateOnly=false)
Parameter Name | Default Value | Description |
---|---|---|
$updateOnly | false | $updateOnly Save the object only if not a new user |
Returns[edit]
boolean True on success
Defined in[edit]
libraries/joomla/user/user.php
Importing[edit]
jimport( 'joomla.user.user' );
Source Body[edit]
function save( $updateOnly = false )
{
// Create the user table object
$table =& $this->getTable();
$this->params = $this->_params->toString();
$table->bind($this->getProperties());
$table->username = $table->email;
// Check and store the object.
if (!$table->check()) {
$this->setError($table->getError());
return false;
}
// If user is made a Super Admin group and user is NOT a Super Admin
$my =& JFactory::getUser();
if ( $this->get('gid') == 25 && $my->get('gid') != 25 )
{
// disallow creation of Super Admin by non Super Admin users
$this->setError(JText::_( 'WARNSUPERADMINCREATE' ));
return false;
}
// If user is made an Admin group and user is NOT a Super Admin
if ($this->get('gid') == 24 && !($my->get('gid') == 25 || ($this->get('id') == $my->id && $my->get('gid') == 24)))
{
// disallow creation of Admin by non Super Admin users
$this->setError(JText::_( 'WARNSUPERADMINCREATE' ));
return false;
}
//are we creating a new user
$isnew = !$this->id;
// If we aren't allowed to create new users return
if ($isnew && $updateOnly) {
return true;
}
// Get the old user
$old = new JUser($this->id);
// Fire the onBeforeStoreUser event.
JPluginHelper::importPlugin( 'user' );
$dispatcher =& JDispatcher::getInstance();
$dispatcher->trigger( 'onBeforeStoreUser', array( $old->getProperties(), $isnew ) );
//Store the user data in the database
if (!$result = $table->store()) {
$this->setError($table->getError());
}
// Set the id for the JUser object in case we created a new user.
if (empty($this->id)) {
$this->id = $table->get( 'id' );
}
// Fire the onAftereStoreUser event
$dispatcher->trigger( 'onAfterStoreUser', array( $this->getProperties(), $isnew, $result, $this->getError() ) );
return $result;
}
[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >
Examples[edit]
Code Examples[edit]