Ensure that we always return a raw urlencoded url for extenal urls to fix Flexmailer...
authorSeamus Lee <seamuslee001@gmail.com>
Thu, 9 Jan 2020 23:04:35 +0000 (10:04 +1100)
committerSeamus Lee <seamuslee001@gmail.com>
Thu, 9 Jan 2020 23:05:19 +0000 (10:05 +1100)
CRM/Utils/System.php

index 1dcf1227ec69390f9fe9b7b6a55990603a5c2361..6b33f5b85585279f10e52408dc54d92819247f07 100644 (file)
@@ -298,6 +298,8 @@ class CRM_Utils_System {
    *   URI-scheme such as 'http:').
    * @param bool $isSSL
    *   NULL to autodetect. TRUE to force to SSL.
+   *
+   * @return string rawencoded URL.
    */
   public static function externUrl($path = NULL, $query = NULL, $fragment = NULL, $absolute = TRUE, $isSSL = NULL) {
     $query = self::makeQueryString($query);
@@ -316,7 +318,7 @@ class CRM_Utils_System {
       'isSSL' => $isSSL,
     ]);
     Civi::service('dispatcher')->dispatch('hook_civicrm_alterExternUrl', $event);
-    return CRM_Utils_Url::unparseUrl($event->url);
+    return urldecode(CRM_Utils_Url::unparseUrl($event->url));
   }
 
   /**