27 if (!defined(
'NOREQUIREMENU')) define(
'NOREQUIREMENU',
'1');
28 if (!defined(
'NOREQUIREHTML')) define(
'NOREQUIREHTML',
'1');
29 if (!defined(
'NOREQUIREAJAX')) define(
'NOREQUIREAJAX',
'1');
31 if (!defined(
'EVEN_IF_ONLY_LOGIN_ALLOWED')) define(
'EVEN_IF_ONLY_LOGIN_ALLOWED',
'1');
33 require_once
'../main.inc.php';
36 if (!empty($_SESSION[
"dol_authmode"]) && ($_SESSION[
"dol_authmode"] ==
'forceuser' || $_SESSION[
"dol_authmode"] ==
'http'))
38 unset($_SESSION[
"dol_login"]);
39 die(
"Applicative disconnection should be useless when connection was made in mode ".$_SESSION[
"dol_authmode"]);
42 global $conf, $langs, $user;
45 $result = $user->call_trigger(
'USER_LOGOUT', $user);
46 if ($result < 0) $error++;
51 $hookmanager->initHooks(array(
'logout'));
52 $parameters = array();
53 $reshook = $hookmanager->executeHooks(
'afterLogout', $parameters, $user, $action);
54 if ($reshook < 0) { $error++; }
57 $urlfrom = empty($_SESSION[
"urlfrom"]) ?
'' : $_SESSION[
"urlfrom"];
60 $url = DOL_URL_ROOT.
"/index.php";
61 if ($urlfrom) $url = DOL_URL_ROOT.$urlfrom;
62 if (!empty($conf->global->MAIN_LOGOUT_GOTO_URL)) $url = $conf->global->MAIN_LOGOUT_GOTO_URL;
64 if (
GETPOST(
'dol_hide_topmenu')) $url .= (preg_match(
'/\?/', $url) ?
'&' :
'?').
'dol_hide_topmenu=1';
65 if (
GETPOST(
'dol_hide_leftmenu')) $url .= (preg_match(
'/\?/', $url) ?
'&' :
'?').
'dol_hide_leftmenu=1';
66 if (
GETPOST(
'dol_optimize_smallscreen')) $url .= (preg_match(
'/\?/', $url) ?
'&' :
'?').
'dol_optimize_smallscreen=1';
67 if (
GETPOST(
'dol_no_mouse_hover')) $url .= (preg_match(
'/\?/', $url) ?
'&' :
'?').
'dol_no_mouse_hover=1';
68 if (
GETPOST(
'dol_use_jmobile')) $url .= (preg_match(
'/\?/', $url) ?
'&' :
'?').
'dol_use_jmobile=1';
72 if (session_status() === PHP_SESSION_ACTIVE)
79 unset($_SESSION[
'dol_login']);
80 unset($_SESSION[
'dol_entity']);
81 unset($_SESSION[
'urlfrom']);
83 if (
GETPOST(
'noredirect'))
return;
84 header(
"Location: ".$url);
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename= '', $restricttologhandler= '', $logcontext=null)
Write log message into outputs.