friendica/src/Module/Logout.php
nupplaPhil 96555a7385
Refactor "Authentication" class with four main methods:
- withSession() - for auto authentication with Session/Cookie variables
- withOpenId() - for authentication with an OpenID account
- withPassword() - for authentication with Password
- setForUser() - for setting the user auth context of the current session

Refactor "Session" class - contains now "native" Session Management methods
2019-12-05 23:02:51 +01:00

46 lines
864 B
PHP

<?php
/**
* @file src/Module/Logout.php
*/
namespace Friendica\Module;
use Friendica\BaseModule;
use Friendica\Core\Authentication;
use Friendica\Core\Cache;
use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Session;
use Friendica\Core\System;
use Friendica\Model\Profile;
/**
* Logout module
*
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class Logout extends BaseModule
{
/**
* @brief Process logout requests
*/
public static function init(array $parameters = [])
{
$visitor_home = null;
if (remote_user()) {
$visitor_home = Profile::getMyURL();
Cache::delete('zrlInit:' . $visitor_home);
}
Hook::callAll("logging_out");
Session::delete();
if ($visitor_home) {
System::externalRedirect($visitor_home);
} else {
info(L10n::t('Logged out.'));
self::getApp()->internalRedirect();
}
}
}