From 5b3c495f8b85bab84d32c5f4c865ff0ded63e057 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 28 Jun 2010 18:04:14 -0600 Subject: [PATCH] Bug #9015: Fix non-cookie based sessions. As of PHP 5.3, 'session.use_only_cookies' defaults to true. Also, somewhere the session appending code in Horde::url() got lost. Re-add it. --- framework/Core/lib/Horde.php | 10 +++++++++- framework/Core/lib/Horde/Registry.php | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/framework/Core/lib/Horde.php b/framework/Core/lib/Horde.php index 77a6ea5dd..720241bdb 100644 --- a/framework/Core/lib/Horde.php +++ b/framework/Core/lib/Horde.php @@ -952,7 +952,15 @@ HTML; } } - return new Horde_Url($url, $full); + $ob = new Horde_Url($url, $full); + + if (empty($GLOBALS['conf']['session']['use_only_cookies']) && + (($append_session == 1) || + (($append_session == 0) && !isset($_COOKIE[session_name()])))) { + $ob->add(session_name(), session_id()); + } + + return $ob; } /** diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index 7cce25e3d..9646ab573 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -1545,7 +1545,9 @@ class Horde_Registry global $conf; ini_set('url_rewriter.tags', 0); - if (!empty($conf['session']['use_only_cookies'])) { + if (empty($conf['session']['use_only_cookies'])) { + ini_set('session.use_only_cookies', 0); + } else { ini_set('session.use_only_cookies', 1); if (!empty($conf['cookie']['domain']) && (strpos($conf['server']['name'], '.') === false)) { -- 2.11.0