designtopack/public/site/plugins/analytics/classes/AnalyticsPage.php
isUnknown 8a73da920f feat: plugin analytics avec custom field kirbyup + Chart.js
Refactoring complet du plugin analytics : remplacement de la section
avec template Vue inline par un custom field compilé avec kirbyup.
Dashboard avec KPIs, line chart Chart.js et filtres par date.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 10:33:15 +01:00

37 lines
865 B
PHP

<?php
namespace adrienpayet\analytics;
use Kirby\Cms\Page;
class AnalyticsPage extends Page
{
public function getAnalyticsData(array $filters = []): array
{
$user = kirby()->user();
if (!$user) {
return [];
}
if ($user->isAdmin()) {
return AnalyticsStore::getAggregatedData($filters);
}
$allowedProjects = $user->currentProjects();
$allowedEmails = [];
foreach ($allowedProjects as $project) {
$users = kirby()->users();
foreach ($users as $u) {
if ($u->currentProjects()->has($project)) {
$allowedEmails[] = $u->email()->value();
}
}
}
$filters['emails'] = array_unique($allowedEmails);
return AnalyticsStore::getAggregatedData($filters);
}
}