From: Evan Prodromou Date: Mon, 11 Jan 2010 07:51:57 +0000 (-0800) Subject: add session ID to local URL when server parts differ X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=e0eb51e4bb51f17b0281b7ec4e3d4eca33240978;p=quix0rs-gnu-social.git add session ID to local URL when server parts differ --- diff --git a/lib/util.php b/lib/util.php index 7093d4e439..90d4a6532e 100644 --- a/lib/util.php +++ b/lib/util.php @@ -820,6 +820,25 @@ function common_path($relative, $ssl=false) } } + if (common_have_session()) { + + $currentServer = $_SERVER['HTTP_HOST']; + + // Are we pointing to another server (like an SSL server?) + + if (!empty($currentServer) && + 0 != strcasecmp($currentServer, $serverpart)) { + // Pass the session ID as a GET parameter + $sesspart = session_name() . '=' . session_id(); + $i = strpos($relative, '?'); + if ($i === false) { // no GET params, just append + $relative .= '?' . $sesspart; + } else { + $relative = substr($relative, 0, $i + 1).$sesspart.'&'.substr($relative, $i + 1); + } + } + } + return $proto.'://'.$serverpart.'/'.$pathpart.$relative; }