updateArticle-Exceptions
This commit is contained in:
@@ -82,7 +82,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
$article->setTags($cleanedTags);
|
||||
$articleManager->updateArticle($id ,$article, $author);
|
||||
} catch (Exception $e){
|
||||
$_SESSION["message"] = "internal_error";
|
||||
$_SESSION["message"] = $e->getMessage();
|
||||
header("location: ../../index.php?pfad=updateArticle");
|
||||
exit();
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ require_once "Article.php";
|
||||
|
||||
class NotFoundException extends Exception {}
|
||||
class UnauthorizedAccessException extends Exception {}
|
||||
class InternalServerErrorException extends Exception {}
|
||||
|
||||
/**
|
||||
* Die Klasse beinhaltet alle Methoden für die Operation mit den Artikel-Daten.
|
||||
@@ -33,6 +34,7 @@ interface ArticleManagerDAO
|
||||
* @param $author
|
||||
* @return void
|
||||
*
|
||||
* @throws InternalServerErrorException
|
||||
* @throws NotFoundException
|
||||
* @throws UnauthorizedAccessException
|
||||
* /
|
||||
|
||||
@@ -61,16 +61,16 @@ class LocalArticleManager implements ArticleManagerDAO {
|
||||
|
||||
$this->saveArticle($articles);
|
||||
}
|
||||
|
||||
|
||||
public function updateArticle($id, $article, $author)
|
||||
{
|
||||
if (empty($article)) {
|
||||
throw new InvalidArgumentException("Der Beitrag darf nicht leer sein.");
|
||||
throw new InternalServerErrorException("internal_error");
|
||||
}
|
||||
|
||||
// Berechtigungsprüfung:
|
||||
if ($article->getAuthor() !== $author) {
|
||||
throw new UnauthorizedAccessException("Sie sind nicht berechtigt, diesen Artikel zu bearbeiten.");
|
||||
throw new UnauthorizedAccessException("unauthorized_access");
|
||||
}
|
||||
|
||||
// Beitrag aktualisieren:
|
||||
@@ -97,8 +97,7 @@ class LocalArticleManager implements ArticleManagerDAO {
|
||||
if ($updated) {
|
||||
$this->saveArticle($articles);
|
||||
} else {
|
||||
throw new NotFoundException("Ein Artikel mit der ID". $id . " wurde nicht gefunden.");
|
||||
|
||||
throw new NotFoundException("missing_id");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user