diff --git a/content/404.php b/content/404.php index 6bb7201..4613a62 100644 --- a/content/404.php +++ b/content/404.php @@ -4,6 +4,14 @@ -->
+ +

+ Es ist ein interner Fehler beim Speichern aufgetreten. Bitte versuche es erneut. +

+ +

404 - Seite nicht vorhanden

Später im Projekt sollen über index.php?pfad= ... der Inhalt der index.php dynamisch gesetzt werden. diff --git a/content/home.php b/content/home.php index 58e0993..518845c 100644 --- a/content/home.php +++ b/content/home.php @@ -17,6 +17,11 @@ include_once 'php/controller/home-controller.php'; Dein Beitrag wurde erfolgreich veröffentlicht!

+ +

+ Diese Kategorie ist nicht gültig. +

+ @@ -34,21 +39,21 @@ include_once 'php/controller/home-controller.php';
- Physik + Physik
getTitle();}else{echo "Fehler: Beitrag nicht gefunden!";} ?>
diff --git a/content/showCategory.php b/content/showCategory.php new file mode 100644 index 0000000..46594ab --- /dev/null +++ b/content/showCategory.php @@ -0,0 +1,31 @@ + + +
+ +

+ +
+ + +
+
+

+ + getTitle()); ?> + +

+

Von: getAuthor()); ?>

+
+
+
+ + +

Es sind noch keine Beiträge in dieser Kategorie enthalten.

+ +
+ +
\ No newline at end of file diff --git a/css/main.css b/css/main.css index d2ceeb6..79d5bf0 100644 --- a/css/main.css +++ b/css/main.css @@ -22,6 +22,10 @@ a, button, input, select, textarea, label, main{ font-family: Arial, Helvetica, sans-serif; } +h1 { + text-transform: uppercase; +} + .flexbox { display: flex; flex-direction: row; diff --git a/includes/navbar.php b/includes/navbar.php index b233584..2beb981 100644 --- a/includes/navbar.php +++ b/includes/navbar.php @@ -39,50 +39,50 @@ Globales Menü, wird via PHP später in alle Seiten eingebunden
  • @@ -92,50 +92,50 @@ Globales Menü, wird via PHP später in alle Seiten eingebunden
    diff --git a/php/controller/showCategory-controller.php b/php/controller/showCategory-controller.php new file mode 100644 index 0000000..e14bd7e --- /dev/null +++ b/php/controller/showCategory-controller.php @@ -0,0 +1,21 @@ +getArticlesByCategory($category); + } catch (Exception $e) { + $_SESSION["message"] = "internal_error"; + include_once "content/404.php"; + exit(); + } +}else{ + $_SESSION["message"] = "invalid_category"; + include_once "content/404.php"; + exit(); +} +?> \ No newline at end of file diff --git a/php/model/ArticleManager.php b/php/model/ArticleManager.php index 5887cc5..8962aa3 100644 --- a/php/model/ArticleManager.php +++ b/php/model/ArticleManager.php @@ -19,7 +19,7 @@ class ArticleManager extends LocalArticleManager "Satz des Pythagoras", "Der Satz des Pythagoras wurde von dem griechischen Philosophen Pythagoras von Samos formuliert und im dritten Jahrhundert vor Christus veröffentlicht. In der beigefügten Abbildung sehen wir ein rechtwinkliges Dreieck...", "max.mustermann", - "Mathe", + "mathe", "Dreiecke, Dreiecksseiten berechnen" ); } @@ -28,7 +28,7 @@ class ArticleManager extends LocalArticleManager "Tunneleffekt", "Der Tunneleffekt ist ein quantenmechanisches Phänomen, bei dem Teilchen...", "max.mustermann", - "Physik", + "physik", "Quantenphysik, Energie" ); } @@ -37,7 +37,7 @@ class ArticleManager extends LocalArticleManager "Datenschutz vs Datensicherheit", "Datenschutz ist in unserer digital vernetzten Welt allgegenwärtig...", "max.mustermann", - "Informatik", + "informatik", "Daten, DSGVO" ); } diff --git a/php/model/ArticleManagerDAO.php b/php/model/ArticleManagerDAO.php index 191b21a..d33df23 100644 --- a/php/model/ArticleManagerDAO.php +++ b/php/model/ArticleManagerDAO.php @@ -85,6 +85,13 @@ interface ArticleManagerDAO */ public function search(string $keyword): array; + /** + * Gibt alle Beiträge einer gegebenen Kategorie aus. + * @param $category + * @return mixed + */ + public function getArticlesByCategory($category); + } ?> \ No newline at end of file diff --git a/php/model/LocalArticleManager.php b/php/model/LocalArticleManager.php index 78a751c..2ee8ce9 100644 --- a/php/model/LocalArticleManager.php +++ b/php/model/LocalArticleManager.php @@ -201,5 +201,26 @@ class LocalArticleManager implements ArticleManagerDAO { return $filteredArticles; } + public function getArticlesByCategory($category) + { + $articles = $this->getAllArticles(); + $filteredArticles = []; + + foreach ($articles as $article) { + if (isset($article['category']) && $article['category'] == $category) { + $filteredArticles[] = new Article( + intval($article['id']), + $article['title'], + $article['content'], + $article['author'], + $article['category'], + $article['tags'], + $article['creationDate'] + ); + } + } + return $filteredArticles; + } + } ?> \ No newline at end of file