includes/modals/pixel_modal.php

<?php
function brivacia_install_url(): string {
    $https = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
        || (($_SERVER['HTTP_X_FORWARDED_PROTO'] ?? '') === 'https');

    $scheme = $https ? 'https' : 'http';
    $host = $_SERVER['HTTP_HOST'] ?? 'example.com';
    $dir = str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'] ?? '/'));
    $dir = $dir === '/' ? '' : rtrim($dir, '/');

    return $scheme . '://' . $host . $dir;
}

$installUrl = brivacia_install_url();
$sites = brivacia_sites();
$totalSites = count($sites);
?>

<dialog class="modal" data-prism id="pixel-modal">
    <div>
        <h2><?= h(t('pixel.title', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></h2>

        <p><?= t('pixel.help') ?></p>
        <p><?= t('pixel.help.server') ?></p>
        <p><?= t('pixel.help.auto') ?></p>

        <div class="pixel-tabs" aria-label="<?= h(t('pixel.tabs')) ?>">
            <input type="radio" id="pixel-tab-html" name="pixel-tab" checked>
            <label for="pixel-tab-html"><?= h(t('pixel.tab.html')) ?></label>

            <input type="radio" id="pixel-tab-php" name="pixel-tab">
            <label for="pixel-tab-php"><?= h(t('pixel.tab.php')) ?></label>

            <div>
                <p><?= t('pixel.html.help') ?></p>

                <?php
                $siteNumber = 0;
                ?>

                <?php foreach ($sites as $code => $domain): ?>
                    <?php
                    $siteNumber++;

                    $siteCode = (string)$code;
                    $siteLabel = (string)($domain ?: $code);

                    $pixelHtml = <<<HTML
<script>
(new Image()).src =
    '{$installUrl}/api/pixel.php?site={$siteCode}' +
    '&page='+encodeURIComponent(location.pathname||'/') +
    '&lang='+encodeURIComponent(document.documentElement.lang||'') +
    '&title='+encodeURIComponent(document.title||'') +
    '&url='+encodeURIComponent(location.pathname||'/') +
    '&ref='+encodeURIComponent(document.referrer||'');
</script>
HTML;
                    ?>

                    <section>
                        <header>
                            <h3><?= h(t('pixel.site')) ?> <?= h($siteLabel) ?></h3>

                            <?php if ($totalSites > 1): ?>
                                <span><?= $siteNumber ?>/<?= $totalSites ?></span>
                            <?php endif; ?>
                        </header>

                        <pre class="language-markup line-numbers match-braces" data-prismjs-copy="<?= h(t('ui.copy.code')) ?>" data-prismjs-copy-error="<?= h(t('ui.copy.code.error')) ?>" data-prismjs-copy-success="<?= h(t('ui.copy.code.success')) ?>"><code class="language-html"><?= h($pixelHtml) ?></code></pre>
                    </section>
                <?php endforeach; ?>
            </div>

            <div>
                <p><?= t('pixel.php.help') ?></p>

                <?php
                $siteNumber = 0;
                ?>

                <?php foreach ($sites as $code => $domain): ?>
                    <?php
                    $siteNumber++;

                    $siteCode = (string)$code;
                    $siteLabel = (string)($domain ?: $code);

                    $pixelPhp = <<<HTML
<script>
(new Image()).src =
    '{$installUrl}/api/pixel.php?site={$siteCode}' +
    '&page='+encodeURIComponent(location.pathname||'/') +
    '&lang='+encodeURIComponent(document.documentElement.lang||'') +
    '&title='+encodeURIComponent(document.title||'') +
    '&url='+encodeURIComponent(location.pathname||'/') +
    '&ref='+encodeURIComponent(document.referrer||'');
</script>

<noscript>
    <img src="{$installUrl}/api/pixel.php?site={$siteCode}&amp;page=<?= rawurlencode(\$pageId ?? (parse_url(\$_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?: '/')) ?>&amp;lang=<?= rawurlencode(\$pageLang ?? \$currentLanguage ?? \$lang ?? '') ?>&amp;title=<?= rawurlencode(\$pageTitle ?? \$title ?? '') ?>&amp;url=<?= rawurlencode(parse_url(\$_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?: '/') ?>" alt="" height="1" width="1" style="opacity:0;pointer-events:none;position:absolute">
</noscript>
HTML;
                    ?>

                    <section>
                        <header>
                            <h3><?= h(t('pixel.site')) ?> <?= h($siteLabel) ?></h3>

                            <?php if ($totalSites > 1): ?>
                                <span><?= $siteNumber ?>/<?= $totalSites ?></span>
                            <?php endif; ?>
                        </header>

                        <pre class="language-markup line-numbers match-braces" data-prismjs-copy="<?= h(t('ui.copy.code')) ?>" data-prismjs-copy-error="<?= h(t('ui.copy.code.error')) ?>" data-prismjs-copy-success="<?= h(t('ui.copy.code.success')) ?>"><code class="language-html"><?= h($pixelPhp) ?></code></pre>
                    </section>
                <?php endforeach; ?>
            </div>
        </div>
    </div>
</dialog>

Contribute