CRM-17663 - More tolerant url parsing
authorColeman Watts <coleman@civicrm.org>
Fri, 12 Aug 2016 03:29:03 +0000 (23:29 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 12 Aug 2016 03:36:25 +0000 (23:36 -0400)
CRM/Core/BAO/Dashboard.php

index f0f4c03f8d02614911678c75bcbfd205440487e0..a53bb6c6fcfaf6cefe4a504d337658603b3d588e 100644 (file)
@@ -230,9 +230,10 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard {
    * @return string
    */
   public static function parseUrl($url) {
-    if (substr($url, 0, 4) != 'http') {
+    // Check if it is already a fully-formed url
+    if (substr($url, 0, 4) != 'http' && $url[0] != '/') {
       $urlParam = explode('?', $url);
-      $url = CRM_Utils_System::url($urlParam[0], $urlParam[1], FALSE, NULL, FALSE);
+      $url = CRM_Utils_System::url($urlParam[0], CRM_Utils_Array::value(1, $urlParam), FALSE, NULL, FALSE);
     }
     return $url;
   }