From 7b93f0aec44ee26c17e5128b63f8f5f11f02995d Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 15 Aug 2012 04:21:35 -0400
Subject: [PATCH] Fixed: FS#2371 - "login as user" chooses wrong user

---
 interface/web/admin/system_config_edit.php |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index f6a4c05..700b96e 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -1,6 +1,6 @@
 <?php
 /*
-Copyright (c) 2008, Till Brehm, projektfarm Gmbh
+Copyright (c) 2008-2010, Till Brehm, projektfarm Gmbh
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
@@ -78,7 +78,7 @@
 	}
 	
 	function onUpdateSave($sql) {
-		global $app;
+		global $app,$conf;
 		
 		if($_SESSION["s"]["user"]["typ"] != 'admin') die('This function needs admin priveliges');
 		$app->uses('ini_parser,getconf');
@@ -90,7 +90,7 @@
 		$server_config_str = $app->ini_parser->get_ini_string($server_config_array);
 		
 		$sql = "UPDATE sys_ini SET config = '".$app->db->quote($server_config_str)."' WHERE sysini_id = 1";
-		$app->db->query($sql);
+		if($conf['demo_mode'] != true) $app->db->query($sql);
 
 		/*
 		 * If we should use the domain-module, we have to insert all existing domains into the table
@@ -108,6 +108,13 @@
 				"FROM web_domain";
 			$app->db->query($sql);
 		}
+		
+		// Maintenance mode
+		if($server_config_array['misc']['maintenance_mode'] == 'y'){
+			//print_r($_SESSION);
+			//echo $_SESSION['s']['id'];
+			$app->db->query("DELETE FROM sys_session WHERE session_id != '".$_SESSION['s']['id']."'");
+		}
 	}
 	
 }

--
Gitblit v1.9.1