updateArticle

This commit is contained in:
2026-06-01 09:11:11 +02:00
parent 2cd68873de
commit 2a3e73d409
3 changed files with 35 additions and 16 deletions
+21 -11
View File
@@ -1,7 +1,7 @@
<?php
/**
* Klasse: Artikel
* Diese Klasse stellt alle Daten eines Artikels (Beitrag) bereit
* Diese Klasse stellt alle Daten eines Beitrags (Beitrag) bereit
*
* @author Niklas Ortmann
*/
@@ -38,7 +38,7 @@ class Article
}
/**
* Gibt die ID eines Artikels zurück.
* Gibt die ID eines Beitrags zurück.
* @return int
*/
public function getId(): int
@@ -47,7 +47,7 @@ class Article
}
/**
* Gibt den Titel eines Artikels zurück.
* Gibt den Titel eines Beitrags zurück.
* @return string
*/
public function getTitle(): string
@@ -56,7 +56,7 @@ class Article
}
/**
* Setzt den Titel eines Artikels
* Setzt den Titel eines Beitrags
* @param $title
* @return void
*/
@@ -66,7 +66,7 @@ class Article
}
/**
* Gibt den Content eines Artikels zurück.
* Gibt den Content eines Beitrags zurück.
* TODO: Content muss noch definiert werden.
* @return string
*/
@@ -76,7 +76,7 @@ class Article
}
/**
* Setzt den Content eines Artikels.
* Setzt den Content eines Beitrags.
* TODO: Content muss noch definiert werden.
* @param $content
* @return void
@@ -87,7 +87,7 @@ class Article
}
/**
* Gibt den Autor eines Artikels zurück.
* Gibt den Autor eines Beitrags zurück.
* @return string
*/
public function getAuthor(): string
@@ -96,7 +96,7 @@ class Article
}
/**
* Gibt das Veröffentlichungsdatum des Artikels zurück.
* Gibt das Veröffentlichungsdatum des Beitrags zurück.
* @return string
*/
public function getCreationDate(): string
@@ -105,7 +105,7 @@ class Article
}
/**
* Gibt die Kategorie eines Artikels zurück.
* Gibt die Kategorie eines Beitrags zurück.
* @return string
*/
public function getCategory(): string
@@ -114,7 +114,17 @@ class Article
}
/**
* Gibt die Schlagworte eines Artikels zurück.
* Setzt die Kategorie eines Beitrags.
* @param string $category
* @return void
*/
public function setCategory(string $category)
{
$this->category = $category;
}
/**
* Gibt die Schlagworte eines Beitrags zurück.
* @return string
*/
public function getTags(): string
@@ -123,7 +133,7 @@ class Article
}
/**
* Setzt die Schlagworte eines Artikels.
* Setzt die Schlagworte eines Beitrags.
* @param string $tags
*/
public function setTags(string $tags)
+8 -4
View File
@@ -65,32 +65,36 @@ class LocalArticleManager implements ArticleManagerDAO {
public function updateArticle($id, $article, $author)
{
if (empty($article)) {
// TODO: Implement Exception.
return;
}
// Berechtigungsprüfung:
if ($article->getAuthor() !== $author) {
// TODO: Implement Exception (z.B. throw new Exception("Nicht autorisiert"));
// TODO: Implement Exception.
return;
}
// Beitrag aktualisieren:
$articles = $this->getAllArticles();
$updated = false;
// Beitrag aktualisieren:
foreach ($articles as $index => $storedArticle) {
if (isset($storedArticle['id']) && $storedArticle['id'] == $id) {
$articles[$index] = [
"id" => $id,
"title" => $article->getTitle(),
"content" => $article->getContent(),
"author" => $article->getAuthor(),
"author" => $author,
"category" => $article->getCategory(),
"tags" => $article->getTags(),
"creationDate" => $article->getCreationDate() // Behält das originale Erstelldatum bei
"creationDate" => $article->getCreationDate()
];
$updated = true;
break;
}else{
// TODO: Implement Exception.
return;
}
}