From f92c84b48cca5176d5c8cd9777b7cc5817223699 Mon Sep 17 00:00:00 2001 From: skeeter Date: Thu, 12 Sep 2002 02:27:58 +0000 Subject: [PATCH] This was something lacking and is now used with sitemgr. --- phpgwapi/inc/class.sessions_db.inc.php | 34 +++++++++++++++++++----- phpgwapi/inc/class.sessions_php4.inc.php | 32 +++++++++++++++++----- 2 files changed, 53 insertions(+), 13 deletions(-) diff --git a/phpgwapi/inc/class.sessions_db.inc.php b/phpgwapi/inc/class.sessions_db.inc.php index 838ccc1832..4ebeac79fc 100644 --- a/phpgwapi/inc/class.sessions_db.inc.php +++ b/phpgwapi/inc/class.sessions_db.inc.php @@ -295,6 +295,26 @@ . "'",__LINE__,__FILE__); } + function phpgw_set_domain() + { + $dom = $GLOBALS['HTTP_HOST']; + if (preg_match("/^(.*):(.*)$/",$dom,$arr)) + { + $dom = $arr[1]; + } + $parts = explode('.',$dom); + $this->dom = '.'.$parts[count($parts)-2].'.'.$parts[count($parts)-1]; + } + + function phpgw_setcookie($cookiename,$cookievalue='',$cookietime=0) + { + if (!$this->dom) + { + $this->phpgw_set_domain(); + } + setcookie($cookiename,$cookievalue,$cookietime,'/',$this->dom); + } + function create($login,$passwd = '',$passwd_type = '') { if (is_array($login)) @@ -352,17 +372,17 @@ if ($GLOBALS['phpgw_info']['server']['usecookies']) { - Setcookie('sessionid',$this->sessionid); - Setcookie('kp3',$this->kp3); - Setcookie('domain',$this->account_domain); - Setcookie('last_domain',$this->account_domain,$now+1209600); + $this->phpgw_setcookie('sessionid',$this->sessionid); + $this->phpgw_setcookie('kp3',$this->kp3); + $this->phpgw_setcookie('domain',$this->account_domain); + $this->phpgw_setcookie('last_domain',$this->account_domain,$now+1209600); if ($this->account_domain == $GLOBALS['phpgw_info']['server']['default_domain']) { - Setcookie('last_loginid', $this->account_lid ,$now+1209600); /* For 2 weeks */ + $this->phpgw_setcookie('last_loginid', $this->account_lid ,$now+1209600); /* For 2 weeks */ } else { - Setcookie('last_loginid', $login ,$now+1209600); /* For 2 weeks */ + $this->phpgw_setcookie('last_loginid', $login ,$now+1209600); /* For 2 weeks */ } unset($GLOBALS['phpgw_info']['server']['default_domain']); /* we kill this for security reasons */ } @@ -996,4 +1016,4 @@ return $url; } } -?> \ No newline at end of file +?> diff --git a/phpgwapi/inc/class.sessions_php4.inc.php b/phpgwapi/inc/class.sessions_php4.inc.php index c225ca2a1e..a19a138836 100644 --- a/phpgwapi/inc/class.sessions_php4.inc.php +++ b/phpgwapi/inc/class.sessions_php4.inc.php @@ -278,6 +278,26 @@ // With php4 sessions support this isnt really our job } + function phpgw_set_domain() + { + $dom = $GLOBALS['HTTP_HOST']; + if (preg_match("/^(.*):(.*)$/",$dom,$arr)) + { + $dom = $arr[1]; + } + $parts = explode('.',$dom); + $this->dom = '.'.$parts[count($parts)-2].'.'.$parts[count($parts)-1]; + } + + function phpgw_setcookie($cookiename,$cookievalue='',$cookietime=0) + { + if (!$this->dom) + { + $this->phpgw_set_domain(); + } + setcookie($cookiename,$cookievalue,$cookietime,'/',$this->dom); + } + function create($login,$passwd = '',$passwd_type = '') { if (is_array($login)) @@ -335,17 +355,17 @@ if ($GLOBALS['phpgw_info']['server']['usecookies']) { - Setcookie('sessionid',$this->sessionid); - Setcookie('kp3',$this->kp3); - Setcookie('domain',$this->account_domain); - Setcookie('last_domain',$this->account_domain,$now+1209600); + $this->phpgw_setcookie('sessionid',$this->sessionid); + $this->phpgw_setcookie('kp3',$this->kp3); + $this->phpgw_setcookie('domain',$this->account_domain); + $this->phpgw_setcookie('last_domain',$this->account_domain,$now+1209600); if ($this->account_domain == $GLOBALS['phpgw_info']['server']['default_domain']) { - Setcookie('last_loginid', $this->account_lid ,$now+1209600); /* For 2 weeks */ + $this->phpgw_setcookie('last_loginid', $this->account_lid ,$now+1209600); /* For 2 weeks */ } else { - Setcookie('last_loginid', $login ,$now+1209600); /* For 2 weeks */ + $this->phpgw_setcookie('last_loginid', $login ,$now+1209600); /* For 2 weeks */ } unset($GLOBALS['phpgw_info']['server']['default_domain']); /* we kill this for security reasons */ }