Pārlūkot izejas kodu

N°879 Portal: Notification URLs poiting to a portal were not working when several portal instances were configured.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4742 a333f486-631f-4898-b8df-5754b55c2be0
glajarige 8 gadi atpakaļ
vecāks
revīzija
ccceb3b768
1 mainītis faili ar 10 papildinājumiem un 3 dzēšanām
  1. 10 3
      datamodels/2.x/itop-portal/main.itop-portal.php

+ 10 - 3
datamodels/2.x/itop-portal/main.itop-portal.php

@@ -68,13 +68,20 @@ class iTopPortalEditUrlMaker implements iDBObjectURLMaker
 		}
 		
 		$sPortalAbsoluteUrl = utils::GetAbsoluteUrlModulePage($sPortalId, 'index.php');
-		if (strpos($sPortalAbsoluteUrl, '?') !== false)
+        if (strpos($sPortalAbsoluteUrl, '?') !== false)
 		{
-			$sUrl = substr($sPortalAbsoluteUrl, 0, strpos($sPortalAbsoluteUrl, '?')).$sObjectQueryString.substr($sPortalAbsoluteUrl, strpos($sPortalAbsoluteUrl, '?'));
+		    // Removing generated url query parameters so it can be replaced with those from the absolute url
+            // Mostly necessary when iTop instance has multiple portals
+		    if(strpos($sObjectQueryString, '?') !== false)
+            {
+                $sObjectQueryString = substr($sObjectQueryString, 0, strpos($sObjectQueryString, '?'));
+            }
+
+            $sUrl = substr($sPortalAbsoluteUrl, 0, strpos($sPortalAbsoluteUrl, '?')).$sObjectQueryString.substr($sPortalAbsoluteUrl, strpos($sPortalAbsoluteUrl, '?'));
 		}
 		else
 		{
-			$sUrl = $sPortalAbsoluteUrl.$sObjectQueryString;
+            $sUrl = $sPortalAbsoluteUrl.$sObjectQueryString;
 		}
 
 		return $sUrl;