designtopack/public/site/templates/projects.json.php
2024-11-21 16:51:35 +01:00

30 lines
865 B
PHP

<?php
function getProjectData($project) {
return [
'title' => $project->title()->value(),
'url' => $project->url(),
'uri' => '/' . $project->uri(),
'modified' => $project->modified('Y-MM-d'),
'currentStep' => $project->currentStep()->value(),
'status' => $project->status(),
'logo' => $project->client()->toPage()->logo()->toFile()->url(),
'steps' => $project->getSteps()
];
}
try {
$children = $kirby->user()->role() == 'admin' ? $page->children()->map(fn($project) => getProjectData($project))->values() : $kirby->user()->projects()->toPages()->map(fn($project) => getProjectData($project))->values();
} catch (\Throwable $th) {
$children = [];
}
$specificData = [
"children" => $children,
];
$pageData = array_merge($genericData, $specificData);
echo json_encode([
"page" => $pageData,
"user" => $userData
]);