42 lines
1.2 KiB
PHP
42 lines
1.2 KiB
PHP
<?php
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
|
|
require_once 'php/model/Article.php';
|
|
require_once 'php/model/ArticleManager.php';
|
|
require_once 'php/validator/article-validator.php';
|
|
|
|
if (isset($_GET["category"]) && !empty($_GET["category"]) && articleCategoryValidator($_GET["category"])){
|
|
$category = $_GET["category"];
|
|
|
|
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
|
|
if ($page < 1) { $page = 1; }
|
|
|
|
try {
|
|
$articleManager = ArticleManager::getInstance();
|
|
|
|
$allArticles = $articleManager->getArticlesByCategory($category);
|
|
|
|
// Paginierung konfigurieren
|
|
$limit = 10; // Wie viele Artikel pro Seite?
|
|
$totalArticles = count($allArticles);
|
|
$totalPages = ceil($totalArticles / $limit);
|
|
|
|
if ($page > $totalPages && $totalPages > 0) { $page = $totalPages; }
|
|
|
|
$offset = ($page - 1) * $limit;
|
|
$articles = array_slice($allArticles, $offset, $limit);
|
|
|
|
} catch (Exception $e) {
|
|
$_SESSION["message"] = "internal_error";
|
|
include_once "content/404.php";
|
|
exit();
|
|
}
|
|
} else {
|
|
$_SESSION["message"] = "invalid_category";
|
|
include_once "content/404.php";
|
|
exit();
|
|
}
|
|
?>
|