Files
dasposchi-de/templates/home.php
Claude 3c97192386 Initiales CMS: Deutschsprachiges Blog-System mit Admin-Bereich
Vollständiges, schlankes PHP/SQLite-CMS für IT-, KI- und Gaming-Inhalte:

- Core: DB-Singleton, Auth mit Passwort-Hashing, Session-Cookies,
  CSRF-Schutz, Login-Rate-Limit, Bild-Upload mit serverseitiger Validierung
- Admin: Dashboard, Artikel/Seiten-Verwaltung mit Quill WYSIWYG-Editor,
  Kategorien, Navigation (Drag & Drop), Medienbibliothek, Profil
- Frontend: Responsive Dark-Theme, Artikel-Grid, Kategorie-Filter,
  Archiv, Paginierung, SEO-Meta-Tags
- Sicherheit: Prepared Statements, HTML-Sanitizer, .htaccess-Schutz
  für sensible Verzeichnisse, PHP-Ausführungsschutz im Upload-Ordner
- Installation: install.php erstellt DB-Schema und Admin-Account

https://claude.ai/code/session_01Xsg4j2t4S9goMuWVpF3ezG
2026-04-05 20:59:52 +00:00

26 lines
802 B
PHP

<section class="hero">
<h1><?= e(SITE_TITLE) ?></h1>
<p class="hero-subtitle"><?= e(SITE_DESCRIPTION) ?></p>
</section>
<?php if (!empty($categories)): ?>
<div class="category-bar">
<?php foreach ($categories as $cat): ?>
<a href="/kategorie/<?= e($cat['slug']) ?>" class="category-tag"><?= e($cat['name']) ?></a>
<?php endforeach; ?>
<a href="/archiv" class="category-tag">Archiv</a>
</div>
<?php endif; ?>
<?php if (empty($articles)): ?>
<p class="empty-state">Noch keine Artikel veröffentlicht.</p>
<?php else: ?>
<div class="article-grid">
<?php foreach ($articles as $article): ?>
<?php include __DIR__ . '/_article-card.php'; ?>
<?php endforeach; ?>
</div>
<?php include __DIR__ . '/_pagination.php'; ?>
<?php endif; ?>