From: Michael M Slusarz Date: Tue, 29 Jun 2010 00:04:14 +0000 (-0600) Subject: Bug #9015: Fix non-cookie based sessions. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=5b3c495f8b85bab84d32c5f4c865ff0ded63e057;p=horde.git 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. --- 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)) {