[mapguide-commits] r5349 - branches/2.2/MgDev/Web/src/mapviewerphp

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Oct 28 07:13:32 EDT 2010


Author: jng
Date: 2010-10-28 04:13:32 -0700 (Thu, 28 Oct 2010)
New Revision: 5349

Modified:
   branches/2.2/MgDev/Web/src/mapviewerphp/taskframe.php
Log:
Let's try this again. Fix #1501, this time without using the unreliable parse_url() function!

Modified: branches/2.2/MgDev/Web/src/mapviewerphp/taskframe.php
===================================================================
--- branches/2.2/MgDev/Web/src/mapviewerphp/taskframe.php	2010-10-28 10:09:19 UTC (rev 5348)
+++ branches/2.2/MgDev/Web/src/mapviewerphp/taskframe.php	2010-10-28 11:13:32 UTC (rev 5349)
@@ -53,16 +53,27 @@
 	}
 
     //If there is an initial url, it will be encoded, so parse the decoded url.
-    $comp = parse_url(urldecode($taskPaneUrl));
-    $baseUrl = urldecode($taskPaneUrl);
-    if(strncasecmp($taskPaneUrl, "http://", 7) != 0) //Is relative
-        $baseUrl = $vpath . $comp["path"];
-
+    $tpDecodedUrl = urldecode($taskPaneUrl);
+    $baseUrl = $tpDecodedUrl;
+    $query = "";
+    
+    //Is relative?
+    if (strncasecmp($tpDecodedUrl, "http://", 7) != 0)
+        $baseUrl = $vpath . $tpDecodedUrl;
+        
+    //Strip query string component off of base url (if there is any) and assign to query component
+    $tokens = explode("?", $baseUrl);
+    if (count($tokens) == 2)
+    {
+        $query = $tokens[1];
+        $baseUrl = $tokens[0];
+    }
+    
     //If there is a query component to the initial url, append it to the end of the full url string
-    if(!isset($comp["query"]) || strlen($comp["query"]) == 0)
+    if (strlen($query) == 0)
         $url = sprintf("%s?SESSION=%s&WEBLAYOUT=%s&DWF=%s&LOCALE=%s", $baseUrl, $sessionId, urlencode($webLayoutId), $dwf, $locale);
     else
-        $url = sprintf("%s?SESSION=%s&WEBLAYOUT=%s&DWF=%s&LOCALE=%s&%s", $baseUrl, $sessionId, urlencode($webLayoutId), $dwf, $locale, $comp["query"]);
+        $url = sprintf("%s?SESSION=%s&WEBLAYOUT=%s&DWF=%s&LOCALE=%s&%s", $baseUrl, $sessionId, urlencode($webLayoutId), $dwf, $locale, $query);
 
     $templ = file_get_contents("../viewerfiles/taskframe.templ");
     print sprintf($templ, $vpath ."tasklist.php", $locale, $url);



More information about the mapguide-commits mailing list