From ebd0e986ed11f2a34fb58cdd33efbfab192083ad Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 22 Apr 2016 05:26:17 -0400
Subject: [PATCH] Added PHP 7 check in installer and updater.
---
interface/web/login/logout.php | 53 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 46 insertions(+), 7 deletions(-)
diff --git a/interface/web/login/logout.php b/interface/web/login/logout.php
index cdc78f8..5e79629 100644
--- a/interface/web/login/logout.php
+++ b/interface/web/login/logout.php
@@ -27,19 +27,58 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-require_once('../../lib/config.inc.php');
-require_once('../../lib/app.inc.php');
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+/*
+ * Check if the logout is forced
+ */
+$forceLogout = false;
+if (isset($_GET['l']) && ($_GET['l']== 1)) $forceLogout = true;
+
+/*
+ * if the admin is logged in as client, then ask, if the admin want't to
+ * "re-login" as admin again
+ */
+if ((isset($_SESSION['s_old']) && ($_SESSION['s_old']['user']['typ'] == 'admin' || $app->auth->has_clients($_SESSION['s_old']['user']['userid']))) &&
+ (!$forceLogout)){
+ $utype = ($_SESSION['s_old']['user']['typ'] == 'admin' ? 'admin' : 'reseller');
+ echo '
+ <br /> <br /> <br /> <br />
+ Do you want to re-login as ' . $utype . ' or log out?<br />
+ <div style="visibility:hidden">
+ <input type="text" name="username" value="' . $_SESSION['s_old']['user']['username'] . '" />
+ <input type="password" name="passwort" value="' . $_SESSION['s_old']['user']['passwort'] .'" />
+ </div>
+ <input type="hidden" name="s_mod" value="login" />
+ <input type="hidden" name="s_pg" value="index" />
+ <div class="wf_actions buttons">
+ <button class="positive iconstxt icoPositive" type="button" value="Yes, re-login as ' . $utype . '" onclick="submitLoginForm(' . "'pageForm'" . ');"><span>Yes, re-login as ' . $utype . '</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="No, logout" onclick="loadContent('. "'login/logout.php?l=1'" . ');"><span>No, logout</span></button>
+ </div>
+ ';
+ exit;
+}
+
+$app->plugin->raiseEvent('logout', true);
$_SESSION["s"]["user"] = null;
$_SESSION["s"]["module"] = null;
+$_SESSION['s_old'] = null;
//header("Location: ../index.php?phpsessid=".$_SESSION["s"]["id"]);
-
if($_SESSION["s"]["site"]["logout"] != '') {
- header("Location: ".$_SESSION["s"]["site"]["logout"]);
+ echo 'URL_REDIRECT:'.$_SESSION["s"]["site"]["logout"];
} else {
- header("Location: ../index.php");
+ if($conf["interface_logout_url"] != '') {
+ echo 'URL_REDIRECT:'.$conf["interface_logout_url"];
+ } else {
+ echo 'URL_REDIRECT:index.php';
+ }
}
-exit;
-?>
\ No newline at end of file
+// Destroy the session completely now
+$_SESSION = array();
+session_destroy();
+session_write_close();
+?>
--
Gitblit v1.9.1