403Webshell
Server IP : 188.114.96.3  /  Your IP : 216.73.216.143
Web Server : Apache
System : Linux sv058.home.net.pl 6.8.2 husak_dirty_pages_fix #1 SMP PREEMPT_DYNAMIC Tue Apr 2 22:06:51 CEST 2024 x86_64
User :  ( 3194769)
PHP Version : 8.5.12
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /polana/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /polana/includes/polana_tracking.php
<?php
declare(strict_types=1);
/**
 * POLANA V17.4 — consent-first GA4/GTM/Meta tracking.
 * Loaded ONLY from the public render_public_head() hook, never admin pages.
 */

function polana_tracking_config(): array
{
    $mode = trim(setting('polana_tracking_mode', 'off'));
    if (!in_array($mode, ['off', 'direct', 'gtm'], true)) {
        $mode = 'off';
    }
    $ga4 = strtoupper(trim(setting('polana_ga4_id', '')));
    $gtm = strtoupper(trim(setting('polana_gtm_id', '')));
    $pixel = trim(setting('polana_meta_pixel_id', ''));
    if (!preg_match('/^G-[A-Z0-9]{5,20}$/', $ga4)) {
        $ga4 = '';
    }
    if (!preg_match('/^GTM-[A-Z0-9]{4,20}$/', $gtm)) {
        $gtm = '';
    }
    if (!preg_match('/^[0-9]{5,25}$/', $pixel)) {
        $pixel = '';
    }
    return [
        'mode' => $mode,
        'ga4' => $ga4,
        'gtm' => $gtm,
        'pixel' => $pixel,
        'privacyUrl' => '/polityka-prywatnosci',
    ];
}

function polana_tracking_active(array $cfg): bool
{
    return ($cfg['mode'] === 'direct' && ($cfg['ga4'] !== '' || $cfg['pixel'] !== ''))
        || ($cfg['mode'] === 'gtm' && $cfg['gtm'] !== '');
}

function polana_tracking_head(): void
{
    $cfg = polana_tracking_config();
    if (!polana_tracking_active($cfg)) {
        return;
    }
    $json = json_encode($cfg, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);
    if ($json === false) {
        return;
    }
    $base = dirname(__DIR__);
    $cssVersion = is_file($base . '/assets/css/polana-tracking.css') ? (string)filemtime($base . '/assets/css/polana-tracking.css') : '174';
    $jsVersion = is_file($base . '/assets/js/polana-tracking.js') ? (string)filemtime($base . '/assets/js/polana-tracking.js') : '174';
    ?>
    <!-- POLANA_TRACKING_V174: Consent first; no third-party tracking before opt-in -->
    <link rel="stylesheet" href="/assets/css/polana-tracking.css?v=<?= rawurlencode($cssVersion) ?>">
    <script>window.POLANA_TRACKING_CONFIG = <?= $json ?>;</script>
    <script src="/assets/js/polana-tracking.js?v=<?= rawurlencode($jsVersion) ?>" defer></script>
    <?php
}

function polana_tracking_footer(): void
{
    $cfg = polana_tracking_config();
    if (!polana_tracking_active($cfg)) {
        return;
    }
    ?>
    <div class="polana-cookie" id="polana-cookie-banner" hidden role="dialog" aria-modal="false" aria-labelledby="polana-cookie-title">
      <div class="polana-cookie-inner">
        <div class="polana-cookie-copy">
          <span class="polana-cookie-kicker" data-polcookie-text="kicker">PRYWATNOŚĆ NA POLANIE</span>
          <strong id="polana-cookie-title" data-polcookie-text="title">Ty decydujesz o plikach cookie</strong>
          <p data-polcookie-text="description">Niezbędne pliki cookie pomagają działać stronie. Analitykę i reklamy uruchomimy tylko za Twoją zgodą.</p>
          <a href="/polityka-prywatnosci" data-polcookie-text="privacy">Polityka prywatności</a>
        </div>
        <div class="polana-cookie-actions">
          <button type="button" data-polcookie-action="reject" data-polcookie-text="reject">Odrzuć opcjonalne</button>
          <button type="button" data-polcookie-action="settings" data-polcookie-text="settings">Ustawienia</button>
          <button type="button" class="polana-cookie-primary" data-polcookie-action="accept" data-polcookie-text="accept">Akceptuj wszystkie</button>
        </div>
      </div>
    </div>
    <div class="polana-cookie-overlay" id="polana-cookie-overlay" hidden>
      <section class="polana-cookie-modal" role="dialog" aria-modal="true" aria-labelledby="polana-cookie-modal-title" tabindex="-1">
        <h2 id="polana-cookie-modal-title" data-polcookie-text="modalTitle">Ustawienia prywatności</h2>
        <p data-polcookie-text="modalDescription">Możesz wybrać osobno statystyki i reklamy. Zmian dokonasz w każdej chwili.</p>
        <div class="polana-cookie-option"><div><strong data-polcookie-text="necessary">Niezbędne</strong><small data-polcookie-text="necessaryDescription">Sesja, bezpieczeństwo, formularze — zawsze aktywne.</small></div><span data-polcookie-text="alwaysOn">Zawsze włączone</span></div>
        <label class="polana-cookie-option"><div><strong data-polcookie-text="analytics">Analityczne</strong><small data-polcookie-text="analyticsDescription">Anonimowe statystyki odwiedzin w Google Analytics.</small></div><input type="checkbox" id="polana-cookie-analytics"></label>
        <label class="polana-cookie-option"><div><strong data-polcookie-text="marketing">Marketingowe</strong><small data-polcookie-text="marketingDescription">Pomiar kampanii i reklamy, np. Meta Pixel.</small></div><input type="checkbox" id="polana-cookie-marketing"></label>
        <div class="polana-cookie-modal-actions"><button type="button" data-polcookie-action="reject" data-polcookie-text="reject">Odrzuć opcjonalne</button><button type="button" class="polana-cookie-primary" data-polcookie-action="save" data-polcookie-text="save">Zapisz wybór</button></div>
      </section>
    </div>
    <button class="polana-cookie-manage" type="button" data-polcookie-action="settings" data-polcookie-text="manage" aria-label="Ustawienia plików cookie">Ustawienia cookies</button>
    <?php
}

Youez - 2016 - github.com/yon3zu
LinuXploit