implement matomo integration

This commit is contained in:
Marc Michalsky 2023-08-14 16:16:50 +02:00
parent 2949ab0168
commit 82b4632d63
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9
5 changed files with 134 additions and 6 deletions

View file

@ -2,6 +2,7 @@
use CRM_TwingleCampaign_ExtensionUtil as E;
use CRM_TwingleCampaign_Utils_ExtensionCache as Cache;
use CRM_TwingleCampaign_Utils_MatomoSnippet as MatomoSnippet;
/**
* TwingleForm.Get API specification (optional)
@ -110,16 +111,49 @@ function civicrm_api3_twingle_form_Get(array $params): array {
'project_type' => $value[$custom_field_mapping['twingle_project_type']],
'counter' => $value[$custom_field_mapping['twingle_project_counter']]
];
$matomo_integration_enabled = Civi::settings()->get('twinglecampaign_matomo_integration', False);
switch ($value[$custom_field_mapping['twingle_project_type']]) {
case 'event':
$returnValues[$value['id']]['embed_code'] =
$value[$custom_field_mapping['twingle_project_eventall']];
if ($matomo_integration_enabled) {
$returnValues[$value['id']]['embed_code'] =
MatomoSnippet::append_code(
$value[$custom_field_mapping['twingle_project_eventall']],
MatomoSnippet::get_event_tracker()
);
}
else {
$returnValues[$value['id']]['embed_code'] =
$value[$custom_field_mapping['twingle_project_eventall']];
}
break;
case 'shop':
if ($matomo_integration_enabled) {
$returnValues[$value['id']]['embed_code'] =
MatomoSnippet::append_code(
$value[$custom_field_mapping['twingle_project_widget']],
MatomoSnippet::get_ecommerce_tracker()
);
}
else {
$returnValues[$value['id']]['embed_code'] =
$value[$custom_field_mapping['twingle_project_widget']];
}
break;
default:
$returnValues[$value['id']]['embed_code'] =
$value[$custom_field_mapping['twingle_project_widget']];
if ($matomo_integration_enabled) {
$returnValues[$value['id']]['embed_code'] =
MatomoSnippet::append_code(
$value[$custom_field_mapping['twingle_project_widget']],
MatomoSnippet::get_event_tracker()
);
}
else {
$returnValues[$value['id']]['embed_code'] =
$value[$custom_field_mapping['twingle_project_widget']];
}
}
}
return civicrm_api3_create_success($returnValues, $query, 'TwingleForm', 'Get');
}
else {