['min_range' => 1] ]); if ($page === false || $page === null) { $page = 1; } return $page; } $page = getActivePaginationPage(); $perPage = 15; $jsonContent = file_get_contents("../teaser-pagination-collector.json"); $data = json_decode($jsonContent, true); if (!is_array($data)) { $data = []; } $predefinedCategory = "Verantwortung"; $predefinedContentType = null; $filteredData = array_values(array_filter($data, function ($item) use ($predefinedCategory, $predefinedContentType, $activeCategories, $activeContentTypes) { if (!isset($item['contentType']) || !isset($item['rubrik'])) { return false; } if ($item['contentType'] === 'eventseite') { return false; } if ($predefinedCategory !== null && $predefinedCategory !== $item['rubrik']) { return false; } if ($predefinedContentType !== null && $predefinedContentType !== $item['contentType']) { return false; } if (!empty($activeCategories) && !in_array($item['rubrik'], $activeCategories, true)) { return false; } if (!empty($activeContentTypes) && !in_array($item['contentType'], $activeContentTypes, true)) { return false; } return true; })); $totalItems = count($filteredData); $totalPages = max(1, (int)ceil($totalItems / $perPage)); $page = min($page, $totalPages); $offset = ($page - 1) * $perPage; $items = array_slice($filteredData, $offset, $perPage); $hasOutput = false; foreach ($items as $item) { if (!empty($item['template'])) { $decoded = base64_decode($item['template'], true); if ($decoded !== false) { echo $decoded; $hasOutput = true; } } } ?>
= $totalPages); $rangeDesktop = 2; $startDesktop = max(1, $page - $rangeDesktop); $endDesktop = min($totalPages, $page + $rangeDesktop); if ($page <= $rangeDesktop) { $endDesktop = min($totalPages, 1 + ($rangeDesktop * 2)); } if ($page > $totalPages - $rangeDesktop) { $startDesktop = max(1, $totalPages - ($rangeDesktop * 2)); } $rangeMobile = 1; $startMobile = max(1, $page - $rangeMobile); $endMobile = min($totalPages, $page + $rangeMobile); if ($page <= $rangeMobile) { $endMobile = min($totalPages, 1 + ($rangeMobile * 2)); } if ($page > $totalPages - $rangeMobile) { $startMobile = max(1, $totalPages - ($rangeMobile * 2)); } ob_start(); ?>