diff --git a/composer.json b/composer.json index 4f036a179..8dfeeb73d 100644 --- a/composer.json +++ b/composer.json @@ -35,6 +35,7 @@ "laminas/laminas-stdlib": "^3.17", "league/uri": "^6.8", "lstrojny/functional-php": "^1.17", + "matomo/matomo-php-tracker": "^3.2", "mezzio/mezzio": "^3.17", "mezzio/mezzio-fastroute": "^3.10", "mezzio/mezzio-problem-details": "^1.13", diff --git a/config/autoload/matomo.global.php b/config/autoload/matomo.global.php new file mode 100644 index 000000000..3fe1dd003 --- /dev/null +++ b/config/autoload/matomo.global.php @@ -0,0 +1,16 @@ + [ + 'enabled' => (bool) EnvVars::MATOMO_ENABLED->loadFromEnv(false), + 'base_url' => EnvVars::MATOMO_BASE_URL->loadFromEnv(), + 'site_id' => EnvVars::MATOMO_SITE_ID->loadFromEnv(), + 'token' => EnvVars::MATOMO_TOKEN->loadFromEnv(), + ], + +]; diff --git a/module/Core/src/Config/EnvVars.php b/module/Core/src/Config/EnvVars.php index 1a9179288..d624c58ea 100644 --- a/module/Core/src/Config/EnvVars.php +++ b/module/Core/src/Config/EnvVars.php @@ -24,11 +24,6 @@ enum EnvVars: string case MERCURE_PUBLIC_HUB_URL = 'MERCURE_PUBLIC_HUB_URL'; case MERCURE_INTERNAL_HUB_URL = 'MERCURE_INTERNAL_HUB_URL'; case MERCURE_JWT_SECRET = 'MERCURE_JWT_SECRET'; - case DEFAULT_QR_CODE_SIZE = 'DEFAULT_QR_CODE_SIZE'; - case DEFAULT_QR_CODE_MARGIN = 'DEFAULT_QR_CODE_MARGIN'; - case DEFAULT_QR_CODE_FORMAT = 'DEFAULT_QR_CODE_FORMAT'; - case DEFAULT_QR_CODE_ERROR_CORRECTION = 'DEFAULT_QR_CODE_ERROR_CORRECTION'; - case DEFAULT_QR_CODE_ROUND_BLOCK_SIZE = 'DEFAULT_QR_CODE_ROUND_BLOCK_SIZE'; case RABBITMQ_ENABLED = 'RABBITMQ_ENABLED'; case RABBITMQ_HOST = 'RABBITMQ_HOST'; case RABBITMQ_PORT = 'RABBITMQ_PORT'; @@ -37,6 +32,15 @@ enum EnvVars: string case RABBITMQ_VHOST = 'RABBITMQ_VHOST'; /** @deprecated */ case RABBITMQ_LEGACY_VISITS_PUBLISHING = 'RABBITMQ_LEGACY_VISITS_PUBLISHING'; + case MATOMO_ENABLED = 'MATOMO_ENABLED'; + case MATOMO_BASE_URL = 'MATOMO_BASE_URL'; + case MATOMO_SITE_ID = 'MATOMO_SITE_ID'; + case MATOMO_TOKEN = 'MATOMO_TOKEN'; + case DEFAULT_QR_CODE_SIZE = 'DEFAULT_QR_CODE_SIZE'; + case DEFAULT_QR_CODE_MARGIN = 'DEFAULT_QR_CODE_MARGIN'; + case DEFAULT_QR_CODE_FORMAT = 'DEFAULT_QR_CODE_FORMAT'; + case DEFAULT_QR_CODE_ERROR_CORRECTION = 'DEFAULT_QR_CODE_ERROR_CORRECTION'; + case DEFAULT_QR_CODE_ROUND_BLOCK_SIZE = 'DEFAULT_QR_CODE_ROUND_BLOCK_SIZE'; case DEFAULT_INVALID_SHORT_URL_REDIRECT = 'DEFAULT_INVALID_SHORT_URL_REDIRECT'; case DEFAULT_REGULAR_404_REDIRECT = 'DEFAULT_REGULAR_404_REDIRECT'; case DEFAULT_BASE_URL_REDIRECT = 'DEFAULT_BASE_URL_REDIRECT';