56 lines
1.9 KiB
PHP
56 lines
1.9 KiB
PHP
<?php
|
|
session_start();
|
|
require_once '../model/LocalArticleManager.php';
|
|
require_once '../model/ArticleManager.php';
|
|
|
|
// Angaben aus übergebener ID setzen:
|
|
if (isset($_GET["id"])){ // TODO: Später aus Session den Nutzer auslesen und Autorenrechte prüfen!
|
|
try {
|
|
$articleManager = ArticleManager::getInstance();
|
|
$article = $articleManager->getArticle($_GET["id"]);
|
|
if($article != null){
|
|
$title = $article->getTitle();
|
|
$content = $article->getContent();
|
|
$category = $article->getCategory();
|
|
$author = $article->getAuthor();
|
|
$tags = $article->getTags();
|
|
}else{
|
|
$_SESSION["message"] = "article_not_found";
|
|
echo "article_not_found";
|
|
}
|
|
} catch (Exception $e){
|
|
$_SESSION["message"] = "internal_error";
|
|
echo "Fehler aufgetreten: " . $e->getMessage();
|
|
}
|
|
}else{
|
|
$_SESSION["message"] = "article_not_found";
|
|
}
|
|
|
|
// Wenn "speichern" gedrückt wurde:
|
|
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
|
if(!isset($_POST["title"]) ||!isset($_POST["content"]) || !isset($_POST["category"])){
|
|
$_SESSION["message"] = "missing_parameters";
|
|
header("location: ../../index.php?pfad=updateArticle");
|
|
} else {
|
|
|
|
$title = $_POST["title"];
|
|
$content = $_POST["content"];
|
|
$category = $_POST["category"];
|
|
$author = "max.mustermann"; // TODO: später aus Session den angemeldeten Nutzer beziehen.
|
|
$tags = $_POST["tags"];
|
|
|
|
try {
|
|
$articleManager = ArticleManager::getInstance();
|
|
$articleManager->updateArticle($title, $content, $author, $category, $tags);
|
|
} catch (Exception $e){
|
|
$_SESSION["message"] = "internal_error";
|
|
}
|
|
$_SESSION["message"] = "new_article";
|
|
// Weiterleitung zur Homepage
|
|
header("location: ../../index.php");
|
|
exit();
|
|
|
|
}
|
|
}
|
|
|
|
?>
|