From 44b7eda156bb44fc4771196d5b12f2b539d32f05 Mon Sep 17 00:00:00 2001 From: Dominik Hebeler <dominik@suma-ev.de> Date: Mon, 15 Jul 2024 16:31:38 +0200 Subject: [PATCH] disable script completely if disabled in config --- metager/resources/js/scriptResultPage.js | 1 - metager/resources/js/statistics.js | 5 +++++ metager/resources/js/utility.js | 1 - metager/resources/views/layouts/resultPage.blade.php | 1 + metager/resources/views/layouts/staticPages.blade.php | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/metager/resources/js/scriptResultPage.js b/metager/resources/js/scriptResultPage.js index 11d4f07b6..a3fc3ea42 100644 --- a/metager/resources/js/scriptResultPage.js +++ b/metager/resources/js/scriptResultPage.js @@ -85,7 +85,6 @@ function initialize() { let promise_fetch = verify(); if (typeof promise_fetch !== "undefined" && link !== "#") { - console.log(link); promise_fetch.then((response) => { if (!newtab) { if (top) { diff --git a/metager/resources/js/statistics.js b/metager/resources/js/statistics.js index 308957a27..5a9df338e 100644 --- a/metager/resources/js/statistics.js +++ b/metager/resources/js/statistics.js @@ -8,6 +8,10 @@ class Statistics { constructor() { let performance = window.performance.getEntriesByType('navigation')[0]; + try { + let statistics_enabled = document.querySelector("meta[name=statistics-enabled]").content; + if (statistics_enabled != 1) return; // Disable statistics if those are not enabled + } catch (error) { } if (performance.loadEventEnd != 0) { this.#init(); } else { @@ -24,6 +28,7 @@ class Statistics { #init() { setTimeout(this.pageLoad.bind(this), 60000); + document.addEventListener("visibilitychange", this.pageLoad.bind(this)); document.querySelectorAll("a").forEach(anchor => { anchor.addEventListener("click", e => this.pageLeave(e.target.closest("a").href)); }); diff --git a/metager/resources/js/utility.js b/metager/resources/js/utility.js index 0f5001337..1ffad047f 100644 --- a/metager/resources/js/utility.js +++ b/metager/resources/js/utility.js @@ -63,7 +63,6 @@ function reportJSAvailabilityForAuthenticatedSearch() { function backButtons() { document.querySelectorAll(".back-button").forEach(button => { button.style.display = "block"; - console.log(button); button.addEventListener("click", e => { let href = button.href; // Use the defined URL on the button if there is one diff --git a/metager/resources/views/layouts/resultPage.blade.php b/metager/resources/views/layouts/resultPage.blade.php index 33825f95c..862b848e8 100644 --- a/metager/resources/views/layouts/resultPage.blade.php +++ b/metager/resources/views/layouts/resultPage.blade.php @@ -58,6 +58,7 @@ <meta name="searchkey" content="{{ $metager->getSearchUid() }}" /> <meta name="referrer" content="origin-when-cross-origin"> <meta name="age-meta-label" content="age=18" /> + <meta name="statistics-enabled" content="{{ config("metager.matomo.enabled") }}"> {{-- Add Advertisement Scripts if Yahoo is enabled --}} @if (app(\App\Models\Configuration\Searchengines::class)->getEnabledSearchengine('yahoo') !== null) <meta name="source_tag" diff --git a/metager/resources/views/layouts/staticPages.blade.php b/metager/resources/views/layouts/staticPages.blade.php index f399d8ac5..ba139a478 100644 --- a/metager/resources/views/layouts/staticPages.blade.php +++ b/metager/resources/views/layouts/staticPages.blade.php @@ -11,6 +11,7 @@ <meta name="revisit-after" content="7 days" /> <meta name="audience" content="all" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> + <meta name="statistics-enabled" content="{{ config("metager.matomo.enabled") }}"> <link href="/favicon.ico" rel="icon" type="image/x-icon" /> <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" /> @foreach(LaravelLocalization::getSupportedLocales() as $locale => $locale_data) -- GitLab