Difference between revisions of "JApplication/logout"
From Joomla! Documentation
< API15:JApplication
m (→Examples: - Adding Example) |
|||
Line 80: | Line 80: | ||
===Examples=== | ===Examples=== | ||
+ | Log the current user out | ||
+ | <source lang="php"> | ||
+ | $app = JFactory::getApplication(); | ||
+ | $user = JFactory::getUser(); | ||
+ | $user_id = $user->get('id'); | ||
+ | $app->logout($user_id, array()); | ||
+ | </source> | ||
<CodeExamplesForm /> | <CodeExamplesForm /> | ||
<dpl> | <dpl> |
Revision as of 07:18, 25 June 2012
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]
Logout authentication function.
Template:Description:JApplication/logout
Syntax[edit]
logout($userid=null, $options=array())
Parameter Name | Default Value | Description |
---|---|---|
$userid | null | $userid The user to load - Can be an integer or string - If string, it is converted to ID automatically |
$options | array() | $options Array( 'clientid' => array of client id's ) |
Defined in[edit]
libraries/joomla/application/application.php
Importing[edit]
jimport( 'joomla.application.application' );
Source Body[edit]
function logout($userid = null, $options = array())
{
// Initialize variables
$retval = false;
// Get a user object from the JApplication
$user = &JFactory::getUser($userid);
// Build the credentials array
$parameters['username'] = $user->get('username');
$parameters['id'] = $user->get('id');
// Set clientid in the options array if it hasn't been set already
if(empty($options['clientid'])) {
$options['clientid'][] = $this->getClientId();
}
// Import the user plugin group
JPluginHelper::importPlugin('user');
// OK, the credentials are built. Lets fire the onLogout event
$results = $this->triggerEvent('onLogoutUser', array($parameters, $options));
/*
* If any of the authentication plugins did not successfully complete
* the logout routine then the whole method fails. Any errors raised
* should be done in the plugin as this provides the ability to provide
* much more information about why the routine may have failed.
*/
if (!in_array(false, $results, true)) {
setcookie( JUtility::getHash('JLOGIN_REMEMBER'), false, time() - 86400, '/' );
return true;
}
// Trigger onLoginFailure Event
$this->triggerEvent('onLogoutFailure', array($parameters));
return false;
}
[Edit See Also] Template:SeeAlso:JApplication/logout
Examples[edit]
Log the current user out
$app = JFactory::getApplication();
$user = JFactory::getUser();
$user_id = $user->get('id');
$app->logout($user_id, array());
<CodeExamplesForm />