From 2912dbd2c22220d657e5d5d9935f91c09b1103a4 Mon Sep 17 00:00:00 2001
From: till <till@php.net>
Date: Wed, 13 Feb 2008 00:26:47 -0500
Subject: [PATCH] * implemented feature from #1484476

---
 program/include/session.inc |   10 +++++++---
 program/include/main.inc    |    5 +++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 9e33bae..2d28090 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -57,6 +57,11 @@
   // load configuration
   $CONFIG = rcmail_load_config();
 
+  // set session domain
+  if (isset($CONFIG['session_domain']) && !empty($CONFIG['session_domain'])) {
+    ini_set('session.cookie_domain', $CONFIG['session_domain']);
+  }
+
   // set session garbage collecting time according to session_lifetime
   if (!empty($CONFIG['session_lifetime']))
     ini_set('session.gc_maxlifetime', ($CONFIG['session_lifetime']) * 120);
diff --git a/program/include/session.inc b/program/include/session.inc
index a29eabb..9becacf 100644
--- a/program/include/session.inc
+++ b/program/include/session.inc
@@ -172,9 +172,13 @@
   sess_destroy(session_id());
 
   session_id($random);
-  $cookie = session_get_cookie_params();
-  setcookie(session_name(), "", time() - 3600);
-  setcookie(session_name(), $random, $cookie['lifetime'] ? time() + $cookie['lifetime'] : 0, $cookie['path']);
+
+  $cookie    = session_get_cookie_params();
+  $_lifetime = $cookie['lifetime'] ? time() + $cookie['lifetime'] : 0;
+
+  setcookie(session_name(), '', time() - 3600);
+  setcookie(session_name(), $random, $_lifetime, $cookie['path'],
+    $cookie['domain']);
 
   return true;
   }

--
Gitblit v1.9.1