From cde4373435dee4b14d26627bb1f0eee4b98de1aa Mon Sep 17 00:00:00 2001 From: Klaas Eikelboom Date: Wed, 8 Jun 2022 08:33:24 +0200 Subject: [PATCH] The code assumes that civicrm is a standard drupal (7) install with the civicrm installed in the 'sites/all/modules/civicrm' directory. Sometimes this location is different, for example 'sites/all/modules/contrib/civicrm'. The $config->userFrameworkResourceURL points to this place. This commit removes the assumption. --- de.systopia.civiproxy/CRM/Civiproxy/Mailer.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/de.systopia.civiproxy/CRM/Civiproxy/Mailer.php b/de.systopia.civiproxy/CRM/Civiproxy/Mailer.php index d3b9618..13eafc6 100644 --- a/de.systopia.civiproxy/CRM/Civiproxy/Mailer.php +++ b/de.systopia.civiproxy/CRM/Civiproxy/Mailer.php @@ -53,12 +53,13 @@ class CRM_Civiproxy_Mailer { $config = CRM_Core_Config::singleton(); $system_base = $config->userFrameworkBaseURL; $proxy_base = CRM_Core_BAO_Setting::getItem('CiviProxy Settings', 'proxy_url'); + $resource_url = $config->userFrameworkResourceURL; // General external functions $value = preg_replace("#{$system_base}civicrm/mailing/url#i", $proxy_base.'/url.php', $value); - $value = preg_replace("#{$system_base}sites/all/modules/civicrm/extern/url.php#i", $proxy_base.'/url.php', $value); + $value = preg_replace("#{$resource_url}extern/url.php#i", $proxy_base.'/url.php', $value); $value = preg_replace("#{$system_base}civicrm/mailing/open#i", $proxy_base.'/open.php', $value); - $value = preg_replace("#{$system_base}sites/all/modules/civicrm/extern/open.php#i", $proxy_base.'/open.php', $value); + $value = preg_replace("#{$resource_url}extern/open.php#i", $proxy_base.'/open.php', $value); $value = preg_replace("#{$system_base}sites/default/files/civicrm/persist/#i", $proxy_base.'/file.php?id=', $value); $value = preg_replace("#{$system_base}civicrm/mosaico/img\?src=#i", $proxy_base.'/mosaico.php?id=', $value); $value = preg_replace("#{$system_base}civicrm/mosaico/img/\?src=#i", $proxy_base.'/mosaico.php?id=', $value);