diff --git a/inc/classes/BxDolPush.php b/inc/classes/BxDolPush.php index eb4d90f52d..ab2bdf5d33 100644 --- a/inc/classes/BxDolPush.php +++ b/inc/classes/BxDolPush.php @@ -145,20 +145,32 @@ public function send($iProfileId, $aMessage, $bAddToQueue = false) return false; if($bAddToQueue && BxDolQueuePush::getInstance()->add($iProfileId, $aMessage)) - return true; - - if(($sRootUrl = getParam('sys_api_url_root_push')) !== '') { + return true; + + $sUrlWeb = $sUrlApp = !empty($aMessage['url']) ? $aMessage['url'] : ''; + + if(($sRootUrl = getParam('sys_api_url_root_email')) !== '') { if(substr(BX_DOL_URL_ROOT, -1) == '/' && substr($sRootUrl, -1) != '/') $sRootUrl .= '/'; - if(!empty($aMessage['url'])) - $aMessage['url'] = str_replace(BX_DOL_URL_ROOT, $sRootUrl, $aMessage['url']); + if($sUrlWeb) + $sUrlWeb = str_replace(BX_DOL_URL_ROOT, $sRootUrl, $sUrlWeb); if(empty($aMessage['contents']) && is_array($aMessage['contents'])) foreach($aMessage['contents'] as $sKey => $sValue) $aMessage['contents'][$sKey] = str_replace(BX_DOL_URL_ROOT, $sRootUrl, $sValue); } + if(($sRootUrl = getParam('sys_api_url_root_push')) !== '') { + if(substr(BX_DOL_URL_ROOT, -1) == '/' && substr($sRootUrl, -1) != '/') + $sRootUrl .= '/'; + + if($sUrlApp) + $sUrlApp = str_replace(BX_DOL_URL_ROOT, $sRootUrl, $sUrlApp); + } + else + $sUrlApp = $sUrlWeb; + $aFields = [ 'app_id' => $this->_sAppId, 'filters' => [ @@ -166,8 +178,11 @@ public function send($iProfileId, $aMessage, $bAddToQueue = false) ], 'contents' => !empty($aMessage['contents']) && is_array($aMessage['contents']) ? $aMessage['contents'] : [], 'headings' => !empty($aMessage['headings']) && is_array($aMessage['headings']) ? $aMessage['headings'] : [], - 'url' => !empty($aMessage['url']) ? $aMessage['url'] : '', - 'data' => array('url' => !empty($aMessage['url']) ? $aMessage['url'] : ''), + 'web_url' => $sUrlWeb, + 'app_url' => $sUrlApp, + 'data' => [ + 'url' => $sUrlWeb + ], 'chrome_web_icon' => !empty($aMessage['icon']) ? $aMessage['icon'] : '', ];