aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-04-18 09:57:32 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-04-18 09:57:32 +0000
commit74fb49098eb52b8f42110713caa3892572305cf3 (patch)
tree88c45fd70c571df74e26210c19a2ae3d4ce529d1
parent09cbb64c829e8e4a413a90cb5a753c27b901a050 (diff)
downloadsemanticscuttle-74fb49098eb52b8f42110713caa3892572305cf3.tar.gz
semanticscuttle-74fb49098eb52b8f42110713caa3892572305cf3.tar.bz2
Bug fix: correct problem with mutual logins for several installations on the same host
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@114 b3834d28-1941-0410-a4f8-b48e95affb8f
-rw-r--r--constants.inc.php14
-rw-r--r--header.inc.php1
-rw-r--r--services/userservice.php7
3 files changed, 20 insertions, 2 deletions
diff --git a/constants.inc.php b/constants.inc.php
new file mode 100644
index 0000000..e64db43
--- /dev/null
+++ b/constants.inc.php
@@ -0,0 +1,14 @@
+<?php
+
+// Error codes
+define('GENERAL_MESSAGE', 200);
+define('GENERAL_ERROR', 202);
+define('CRITICAL_MESSAGE', 203);
+define('CRITICAL_ERROR', 204);
+
+// Miscellanous
+
+# INSTALLATION_ID is based on directory path and used as prefix (in session and cookie) to prevent mutual login for different installations on the same host server
+define('INSTALLATION_ID', md5(dirname(realpath('.'))));
+
+?>
diff --git a/header.inc.php b/header.inc.php
index 6b4e76b..55defdb 100644
--- a/header.inc.php
+++ b/header.inc.php
@@ -9,6 +9,7 @@ session_start();
require_once(dirname(__FILE__) .'/services/servicefactory.php');
require_once(dirname(__FILE__) .'/config.inc.php');
+require_once(dirname(__FILE__) .'/constants.inc.php');
require_once(dirname(__FILE__) .'/functions.inc.php');
// Determine the base URL
diff --git a/services/userservice.php b/services/userservice.php
index c691b36..9e3adca 100644
--- a/services/userservice.php
+++ b/services/userservice.php
@@ -23,8 +23,8 @@ class UserService {
function UserService(& $db) {
$this->db =& $db;
$this->tablename = $GLOBALS['tableprefix'] .'users';
- $this->sessionkey = $GLOBALS['cookieprefix'] .'-currentuserid';
- $this->cookiekey = $GLOBALS['cookieprefix'] .'-login';
+ $this->sessionkey = $GLOBALS['cookieprefix'].INSTALLATION_ID.'-currentuserid';
+ $this->cookiekey = $GLOBALS['cookieprefix'].INSTALLATION_ID.'-login';
$this->profileurl = createURL('profile', '%2$s');
}
@@ -145,8 +145,11 @@ class UserService {
function getCurrentUserId() {
if (isset($_SESSION[$this->getSessionKey()])) {
+//echo "session";die($_SESSION[$this->getSessionKey()]);
return $_SESSION[$this->getSessionKey()];
} else if (isset($_COOKIE[$this->getCookieKey()])) {
+//echo "cookie";die();
+
$cook = split(':', $_COOKIE[$this->getCookieKey()]);
//cookie looks like this: 'id:md5(username+password)'
$query = 'SELECT * FROM '. $this->getTableName() .