diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml
index 707e2b3..b341a8a 100644
--- a/.idea/dataSources.local.xml
+++ b/.idea/dataSources.local.xml
@@ -1,6 +1,6 @@
-
+
"
diff --git a/content/home.php b/content/home.php
index c148fe8..17814bb 100644
--- a/content/home.php
+++ b/content/home.php
@@ -19,28 +19,34 @@ include_once 'php/controller/home-controller.php';
sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-
-
+
+
+
+
+
+
Aktuell sind keine Beiträge in den Kategorien vorhanden.
+
\ No newline at end of file
diff --git a/php/controller/home-controller.php b/php/controller/home-controller.php
index d9f6006..5143907 100644
--- a/php/controller/home-controller.php
+++ b/php/controller/home-controller.php
@@ -6,14 +6,44 @@ require_once 'php/model/Article.php';
require_once 'php/model/ArticleManager.php';
require_once 'php/model/LocalArticleManager.php';
+$categoriesWithArticles = [];
+
+$allowedCategories = [
+ 'deutsch', 'englisch', 'franzoesisch', 'latein', 'literatur',
+ 'mathe', 'biologie', 'chemie', 'physik', 'informatik', 'astronomie',
+ 'geschichte', 'erdkunde', 'sozialkunde', 'wirtschaft', 'religion',
+ 'ethik', 'philosophie', 'psychologie', 'kunst', 'musik', 'theater',
+ 'technik', 'werken', 'hauswirtschaft', 'sport'
+];
+
try {
$articleManager = ArticleManager::getInstance();
- // Beziehen der Dummy-Beiträge aus dem ArticleManager:
- $dummy1 = $articleManager->getArticle(1);
- $dummy2 = $articleManager->getArticle(2);
- $dummy3 = $articleManager->getArticle(3);
+
+ foreach ($allowedCategories as $categorySlug) {
+ $allCategoryArticles = $articleManager->getArticlesByCategory($categorySlug);
+
+ // nur Kategorien, die Beiträge enthält:
+ if (!empty($allCategoryArticles) && is_array($allCategoryArticles)) {
+
+ // Beiträge nach Erstellungsdatum sortieren:
+ usort($allCategoryArticles, function($a, $b) {
+ $dateA = strtotime($a->getCreationDate());
+ $dateB = strtotime($b->getCreationDate());
+ return $dateB <=> $dateA; // Absteigende Sortierung
+ });
+
+ // auf die 5 zuletzt hinzugefügten Beiträge begrenzen:
+ $limitedArticles = array_slice($allCategoryArticles, 0, 5);
+
+ $categoriesWithArticles[] = [
+ 'slug' => $categorySlug,
+ 'name' => ucfirst($categorySlug), // Erster Buchstabe groß für die Ansicht
+ 'articles' => $limitedArticles
+ ];
+ }
+ }
+
} catch (Exception $e){
$_SESSION["message"] = "internal_error";
- echo "Fehler aufgetreten: " . $e->getMessage();
}
?>
\ No newline at end of file