Beitrag erstellen #13

Merged
niklas.ortmann merged 164 commits from Beitrag-erstellen into dev 2026-05-29 13:22:11 +02:00
4 changed files with 54 additions and 59 deletions
Showing only changes of commit 3edc689e5f - Show all commits
+1 -15
View File
@@ -1,19 +1,5 @@
<?php
session_start();
require_once 'php/model/Article.php';
require_once 'php/model/ArticleManager.php';
require_once 'php/model/LocalArticleManager.php';
try {
$articleManager = ArticleManager::getInstance();
// Beziehen der Dummy-Beiträge aus dem ArticleManager:
$dummy1 = $articleManager->getArticle(1);
$dummy2 = $articleManager->getArticle(2);
$dummy3 = $articleManager->getArticle(3);
} catch (Exception $e){
$_SESSION["message"] = "internal_error";
echo "Fehler aufgetreten: " . $e->getMessage();
}
include_once 'php/controller/home-controller.php';
?>
<!--
+18 -26
View File
@@ -4,53 +4,44 @@
-->
<?php
include_once 'php/controller/showArticle-controller.php';
include_once 'php/controller/showarticleicle-controller.php';
?>
<!--<main>
<h1><?php if (isset($title)) {echo $title;} ?></h1>
<p>
<?php if (isset($content)) {echo $content;} ?>
</p>
</main>-->
<!-- Hauptcontainer für die Beitragsansicht (Ausschließlich der Content-Bereich) -->
<main class="art-view-container">
<!-- Artikel-Kopfdaten (Metadaten & Titel) -->
<div class="art-view-top-section">
<main class="flexbox">
<div class="container">
<!-- Metadaten & Titel -->
<div class="article-view-top-section">
<?php if (isset($category) && !empty($category)): ?>
<span class="art-view-category"><?php echo htmlspecialchars($category); ?></span>
<span class="article-view-category"><?php echo htmlspecialchars($category); ?></span>
<?php endif; ?>
<h1 class="art-view-title">
<h1 class="article-view-title">
<?php if (isset($title)) { echo htmlspecialchars($title); } ?>
</h1>
<div class="art-view-meta">
<div class="article-view-meta">
<?php if (isset($author) && !empty($author)): ?>
<span class="art-view-author">Von: <strong><?php echo htmlspecialchars($author); ?></strong></span>
<span class="article-view-author">Von: <strong><?php echo htmlspecialchars($author); ?></strong></span>
<?php endif; ?>
</div>
</div>
<!-- Artikel-Inhalt -->
<div class="art-view-content">
<!-- articleikel-Inhalt -->
<div class="article-view-content">
<?php if (isset($content)): ?>
<!-- nl2br für Zeilenumbrüche -->
<div class="art-view-body"><?php echo nl2br(htmlspecialchars($content)); ?></div>
<div class="article-view-body"><?php echo nl2br(htmlspecialchars($content)); ?></div>
<?php endif; ?>
</div>
<!-- Artikel-Endbereich (Tags) -->
<!-- articleikel-Endbereich (Tags) -->
<?php if (isset($tags) && !empty($tags)): ?>
<div class="art-view-bottom-section">
<div class="art-view-tags-label">Tags:</div>
<div class="art-view-tags-list">
<div class="article-view-bottom-section">
<div class="article-view-tags-label">Tags:</div>
<div class="article-view-tags-list">
<?php
// Falls $tags ein String ist (z.B. "Web, CSS"), in ein Array umwandeln
$tagArray = is_array($tags) ? $tags : explode(',', $tags);
@@ -58,7 +49,7 @@ include_once 'php/controller/showArticle-controller.php';
$trimmedTag = trim($tag);
if (!empty($trimmedTag)):
?>
<span class="art-view-tag-item"><?php echo htmlspecialchars($trimmedTag); ?></span>
<span class="article-view-tag-item"><?php echo htmlspecialchars($trimmedTag); ?></span>
<?php
endif;
endforeach;
@@ -66,6 +57,7 @@ include_once 'php/controller/showArticle-controller.php';
</div>
</div>
<?php endif; ?>
</div>
</main>
+18 -18
View File
@@ -1,5 +1,5 @@
/* Container für den gesamten Artikel */
.art-view-container {
/* Container für den gesamten articleikel */
.article-view-container {
box-sizing: border-box;
max-width: 900px; /* Angenehme Lesebreite für längere Texte */
margin: 3rem auto;
@@ -9,19 +9,19 @@
line-height: 1.6;
}
.art-view-container * {
.article-view-container * {
box-sizing: border-box;
}
/* --- KOPFDATEN-BEREICH --- */
.art-view-top-section {
.article-view-top-section {
margin-bottom: 2.5rem;
border-bottom: 1px solid #e2e8f0;
padding-bottom: 1.5rem;
}
/* Kategorie-Badge */
.art-view-category {
.article-view-category {
display: inline-block;
background-color: #ebf8ff;
color: #2b6cb0;
@@ -35,7 +35,7 @@
}
/* Hauptüberschrift */
.art-view-title {
.article-view-title {
font-size: 2.5rem;
color: #1a202c;
line-height: 1.2;
@@ -44,28 +44,28 @@
}
/* Autoren-Zeile */
.art-view-meta {
.article-view-meta {
font-size: 0.95rem;
color: #4a5568;
}
.art-view-author strong {
.article-view-author strong {
color: #2d3748;
}
/* --- INHALT --- */
.art-view-content {
.article-view-content {
margin-bottom: 3rem;
}
.art-view-body {
.article-view-body {
font-size: 1.125rem;
color: #2d3748;
white-space: pre-line;
}
/* --- TAG-BEREICH --- */
.art-view-bottom-section {
.article-view-bottom-section {
border-top: 1px solid #e2e8f0;
padding-top: 1.5rem;
display: flex;
@@ -73,7 +73,7 @@
gap: 0.5rem;
}
.art-view-tags-label {
.article-view-tags-label {
font-size: 0.9rem;
font-weight: 600;
color: #718096;
@@ -81,14 +81,14 @@
letter-spacing: 0.05em;
}
.art-view-tags-list {
.article-view-tags-list {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
/* Einzelner Tag */
.art-view-tag-item {
.article-view-tag-item {
background-color: #f1f5f9;
color: #475569;
font-size: 0.85rem;
@@ -99,20 +99,20 @@
transition: background-color 0.2s, color 0.2s;
}
.art-view-tag-item:hover {
.article-view-tag-item:hover {
background-color: #e2e8f0;
color: #1e293b;
cursor: default;
}
/* Responsive Anpassungen unter 760px (für z.B. Smartphones) */
/* Responsive Anpassungen unter 760px (für z.B. Smarticlephones) */
@media (max-width: 760px) {
.art-view-container {
.article-view-container {
margin: 1.5rem auto;
padding: 0 1rem;
}
.art-view-title {
.article-view-title {
font-size: 1.85rem;
}
}
+17
View File
@@ -0,0 +1,17 @@
<?php
session_start();
require_once 'php/model/Article.php';
require_once 'php/model/ArticleManager.php';
require_once 'php/model/LocalArticleManager.php';
try {
$articleManager = ArticleManager::getInstance();
// Beziehen der Dummy-Beiträge aus dem ArticleManager:
$dummy1 = $articleManager->getArticle(1);
$dummy2 = $articleManager->getArticle(2);
$dummy3 = $articleManager->getArticle(3);
} catch (Exception $e){
$_SESSION["message"] = "internal_error";
echo "Fehler aufgetreten: " . $e->getMessage();
}
?>