Merge pull request #8039 from LarsK1/patch-5

Add support for Matomo
This commit is contained in:
David Bomba 2022-12-07 18:41:33 +11:00 committed by GitHub
commit ff0a22ff85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 79 additions and 7 deletions

View File

@ -97,6 +97,8 @@ class Company extends BaseModel
'first_month_of_year',
'slack_webhook_url',
'google_analytics_key',
'matomo_url',
'matomo_id',
'client_can_register',
'enable_shop_api',
'invoice_task_timelog',
@ -442,7 +444,7 @@ class Company extends BaseModel
return $item->id == $this->settings->language_id;
})->first();
}
public function getLocale()

View File

@ -149,6 +149,8 @@ class CompanyTransformer extends EntityTransformer
'slack_webhook_url' => (string) $company->slack_webhook_url,
'google_analytics_url' => (string) $company->google_analytics_key, //@deprecate 1-2-2021
'google_analytics_key' => (string) $company->google_analytics_key,
'matomo_url' => (string) $company->matomo_url,
'matomo_id' => (int) $company->matomo_id,
'enabled_item_tax_rates' => (int) $company->enabled_item_tax_rates,
'client_can_register' => (bool) $company->client_can_register,
'is_large' => (bool) $company->is_large,

View File

@ -4,6 +4,8 @@ return [
'analytics' => [
'tracking_id' => env('TRACKING_ID'),
'matomo_url' => env('MATOMO_URL', false),
'matomo_id' => env('MATOMO_ID', false),
],
/*

View File

@ -0,0 +1,21 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddIndexToPaymentHash extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('companies', function (Blueprint $table) {
$table->varchar('matomo_url');
$table->bigInteger('matomo_id');
});
}
}

View File

@ -3,8 +3,23 @@
<head>
<!-- Error: {{ session('error') }} -->
@if (config('services.analytics.tracking_id'))
@if (config('services.analytics.matomo_url') && config('services.analytics.matomo_id'))
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['setUserId', '{{ auth()->guard('contact')->user()->company->present()->name }}']);
(function() {
var u="{{ config('services.analytics.matomo_url') }}";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '{{ config('services.analytics.matomo_id') }}']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="{{ config('services.analytics.matomo_url) }}/matomo.php?idsite={{ config('services.analytics.matomo_id') }}&amp;rec=1" style="border:0;" alt="" /></p></noscript>
@elseif (config('services.analytics.tracking_id'))
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-122229484-1"></script>
<script>
window.dataLayer = window.dataLayer || [];

View File

@ -3,8 +3,23 @@
<head>
<!-- Error: {{ session('error') }} -->
@if (config('services.analytics.tracking_id'))
@if (config('services.analytics.matomo_url') && config('services.analytics.matomo_id'))
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['setUserId', '{{ auth()->guard('contact')->user()->company->present()->name }}']);
(function() {
var u="{{ config('services.analytics.matomo_url') }}";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '{{ config('services.analytics.matomo_id') }}']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="{{ config('services.analytics.matomo_url) }}/matomo.php?idsite={{ config('services.analytics.matomo_id') }}&amp;rec=1" style="border:0;" alt="" /></p></noscript>
@elseif (config('services.analytics.tracking_id'))
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-122229484-1"></script>
<script>
window.dataLayer = window.dataLayer || [];

View File

@ -3,8 +3,23 @@
<head>
<!-- Error: {{ session('error') }} -->
@if (config('services.analytics.tracking_id'))
@if (config('services.analytics.matomo_url') && config('services.analytics.matomo_id'))
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['setUserId', '{{ auth()->guard('contact')->user()->company->present()->name }}']);
(function() {
var u="{{ config('services.analytics.matomo_url') }}";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '{{ config('services.analytics.matomo_id') }}']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="{{ config('services.analytics.matomo_url) }}/matomo.php?idsite={{ config('services.analytics.matomo_id') }}&amp;rec=1" style="border:0;" alt="" /></p></noscript>
@elif (config('services.analytics.tracking_id'))
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-122229484-1"></script>
<script>
window.dataLayer = window.dataLayer || [];