Matomo-Tracking und Aufrufzaehlung absichern
This commit is contained in:
@@ -3,12 +3,21 @@
|
||||
require_once __DIR__ . '/functions.php';
|
||||
require_once __DIR__ . '/app/platform-admin.php';
|
||||
require_once __DIR__ . '/app/billing.php';
|
||||
require_once __DIR__ . '/app/public-page-views.php';
|
||||
|
||||
$pdo = app_db_pdo();
|
||||
$user = app_require_platform_admin($pdo);
|
||||
|
||||
$tenants = app_backoffice_fetch_tenants($pdo);
|
||||
$billingPlans = billing_plans();
|
||||
$pageViewSummary = null;
|
||||
$pageViewError = false;
|
||||
try {
|
||||
$pageViewSummary = app_public_page_view_summary($pdo);
|
||||
} catch (Throwable $e) {
|
||||
$pageViewError = true;
|
||||
error_log('Back-Office-Seitenaufrufe konnten nicht geladen werden: ' . $e->getMessage());
|
||||
}
|
||||
$legalRequests = $pdo->query(
|
||||
"SELECT lr.id, lr.reference_code, lr.request_type, lr.requester_name,
|
||||
lr.requester_email, lr.contract_reference, lr.request_reason,
|
||||
@@ -31,6 +40,37 @@ include 'nav.php';
|
||||
<p>Nur für Betreiber-Admins sichtbar: Übersicht aller Mandanten, unabhängig von deren eigener Mitgliedschaft.
|
||||
Jeder Zugriff wird im Audit-Log des jeweiligen Mandanten protokolliert.</p>
|
||||
|
||||
<h3>Öffentliche Seitenaufrufe</h3>
|
||||
<p><small>Anonyme Seitenaufrufe ohne Cookies, IP-Adressen oder Besucherkennungen. Wiederholte Aufrufe und automatisierte Abrufe können enthalten sein; die Zahlen sind keine eindeutigen Besucher.</small></p>
|
||||
<?php if ($pageViewError || $pageViewSummary === null): ?>
|
||||
<div class="hint-box warning"><p>Die Seitenaufrufe sind noch nicht verfügbar. Bitte Migration 0032 ausführen.</p></div>
|
||||
<?php else: ?>
|
||||
<table>
|
||||
<tr><th>Heute</th><th>Letzte 30 Tage</th><th>Seit Beginn der Zählung</th></tr>
|
||||
<tr>
|
||||
<td><?php echo number_format($pageViewSummary['totals']['today'], 0, ',', '.'); ?></td>
|
||||
<td><?php echo number_format($pageViewSummary['totals']['last_30_days'], 0, ',', '.'); ?></td>
|
||||
<td><?php echo number_format($pageViewSummary['totals']['all_time'], 0, ',', '.'); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?php if ($pageViewSummary['pages'] === []): ?>
|
||||
<div class="hint-box info"><p>Seit dem Start des Zählers wurden noch keine öffentlichen Seiten aufgerufen.</p></div>
|
||||
<?php else: ?>
|
||||
<table>
|
||||
<tr><th>Seite</th><th>Heute</th><th>Letzte 30 Tage</th><th>Gesamt</th></tr>
|
||||
<?php foreach ($pageViewSummary['pages'] as $pageView): ?>
|
||||
<tr>
|
||||
<td><?php echo saas_html($pageView['label']); ?></td>
|
||||
<td><?php echo number_format($pageView['today'], 0, ',', '.'); ?></td>
|
||||
<td><?php echo number_format($pageView['last_30_days'], 0, ',', '.'); ?></td>
|
||||
<td><?php echo number_format($pageView['all_time'], 0, ',', '.'); ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<h3>Offene Kündigungen und Widerrufe</h3>
|
||||
<?php if ($legalRequests === []): ?>
|
||||
<div class="hint-box success"><p>Keine offenen Rechtserklärungen.</p></div>
|
||||
|
||||
Reference in New Issue
Block a user