API15

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]