includes/modals/privacy_modal.php
<dialog class="modal">
<div>
<div class="privacy">
<h2><?= h(t('privacy.title', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></h2>
<section>
<h3><?= h(t('privacy.database.title', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></h3>
<table>
<tbody>
<tr>
<td><?= h(t('privacy.visited.today')) ?></td>
<td><?= h($visitorDbSnapshot['visited_today']) ?></td>
</tr>
<tr>
<td><?= h(t('privacy.already.visited.today')) ?></td>
<td><?= h($visitorDbSnapshot['already_visited_today']) ?></td>
</tr>
<tr>
<td><?= h(t('privacy.exact.visits.today')) ?></td>
<td><?= h($visitorDbSnapshot['exact_visits_today']) ?></td>
</tr>
<tr>
<td><?= h(t('privacy.ip.used.not.stored')) ?></td>
<td><?= h($visitorDbSnapshot['ip_preview']) ?></td>
</tr>
<tr>
<td><?= h(t('privacy.country.estimated')) ?></td>
<td>
<?php if ($visitorDbSnapshot['country'] === BRIVACIA_UNKNOWN): ?>
<?= h(t('ui.unknown')) ?>
<?php else: ?>
<span data-country="<?= h($visitorDbSnapshot['country']) ?>">
<?= h($visitorDbSnapshot['country']) ?>
</span>
<?php endif; ?>
</td>
</tr>
<tr>
<td><?= h(t('privacy.browser.details.stored')) ?></td>
<td><?= h($visitorDbSnapshot['raw_user_agent_stored']) ?></td>
</tr>
<tr>
<td><?= h(t('privacy.permanent.id.stored')) ?></td>
<td><?= h($visitorDbSnapshot['permanent_id_stored']) ?></td>
</tr>
<tr>
<td><?= h(t('privacy.visitor.profile.stored')) ?></td>
<td><?= h($visitorDbSnapshot['visitor_profile_stored']) ?></td>
</tr>
</tbody>
</table>
</section>
<section>
<h3><?= h(t('privacy.runtime.title')) ?></h3>
<table>
<tbody>
<tr>
<td><?= h(t('privacy.browser.language')) ?></td>
<td data-browser-language><?= h(t('privacy.local.reading')) ?></td>
</tr><?php if ($visitorGeoProvider === 'blurloc'): ?>
<tr>
<td><?= h(t('privacy.vpn.probable')) ?></td>
<td><?= h(geoVpnLabel($visitorVpn)) ?></td>
</tr><?php endif; ?>
</tbody>
</table>
</section>
<section>
<h3><?= h(t('privacy.explanation.title')) ?></h3>
<p><?= h(t('privacy.explanation.intro', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>
<ul>
<li><?= h(t('privacy.explanation.ip')) ?></li>
<li><?= h(t('privacy.explanation.browser')) ?></li>
<li><?= h(t('privacy.explanation.pageviews')) ?></li>
<li><?= h(t('privacy.explanation.new.visitor')) ?></li>
</ul>
<p><?= h(t('privacy.explanation.anonymous', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>
<p><?= h(t('privacy.explanation.pages', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>
<p><?= h(t('privacy.explanation.brivacia', ['instance' => brivacia_setting('dashboard.instance_name', 'Brivacia')])) ?></p>
<p>
<?= h(t('privacy.ip.check.before')) ?>
<?= externalLink('https://ip.me/', 'ip.me') ?>.
<?= h(t('privacy.ip.check.after')) ?>
</p><?php if ($visitorGeoProvider === 'blurloc'): ?>
<p>
<?= h(t('privacy.blurloc.before')) ?>
<?= externalLink('https://blurloc.com/', 'BlurLoc') ?>.
<?= h(t('privacy.blurloc.after')) ?>
</p><?php elseif ($visitorGeoProvider === 'cloudflare'): ?>
<p><?= h(t('privacy.cloudflare')) ?></p><?php endif; ?>
</section>
</div>
</div>
</dialog>