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
This commit is contained in:
18
admin/templates/_sidebar.php
Normal file
18
admin/templates/_sidebar.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<aside class="admin-sidebar">
|
||||
<div class="sidebar-header">
|
||||
<a href="/admin/" class="sidebar-logo"><?= e(SITE_TITLE) ?></a>
|
||||
</div>
|
||||
<nav class="sidebar-nav">
|
||||
<a href="/admin/" class="<?= ($currentPage ?? '') === 'dashboard' ? 'active' : '' ?>">Dashboard</a>
|
||||
<a href="/admin/articles.php" class="<?= ($currentPage ?? '') === 'articles' ? 'active' : '' ?>">Artikel</a>
|
||||
<a href="/admin/pages.php" class="<?= ($currentPage ?? '') === 'pages' ? 'active' : '' ?>">Seiten</a>
|
||||
<a href="/admin/categories.php" class="<?= ($currentPage ?? '') === 'categories' ? 'active' : '' ?>">Kategorien</a>
|
||||
<a href="/admin/navigation.php" class="<?= ($currentPage ?? '') === 'navigation' ? 'active' : '' ?>">Navigation</a>
|
||||
<a href="/admin/media.php" class="<?= ($currentPage ?? '') === 'media' ? 'active' : '' ?>">Medien</a>
|
||||
</nav>
|
||||
<div class="sidebar-footer">
|
||||
<a href="/admin/profile.php" class="<?= ($currentPage ?? '') === 'profile' ? 'active' : '' ?>">Profil</a>
|
||||
<a href="/" target="_blank">Seite anzeigen</a>
|
||||
<a href="/admin/logout.php">Abmelden</a>
|
||||
</div>
|
||||
</aside>
|
||||
26
admin/templates/layout.php
Normal file
26
admin/templates/layout.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><?= e($pageTitle ?? 'Admin') ?> - <?= e(SITE_TITLE) ?> Admin</title>
|
||||
<link rel="stylesheet" href="/assets/css/admin.css">
|
||||
<?= $extraHead ?? '' ?>
|
||||
</head>
|
||||
<body class="admin-body">
|
||||
<?php include __DIR__ . '/_sidebar.php'; ?>
|
||||
<main class="admin-main">
|
||||
<header class="admin-topbar">
|
||||
<button class="sidebar-toggle" id="sidebarToggle">☰</button>
|
||||
<h2><?= e($pageTitle ?? 'Admin') ?></h2>
|
||||
<span class="topbar-user"><?= e(auth_display_name()) ?></span>
|
||||
</header>
|
||||
<div class="admin-content">
|
||||
<?= flash_display() ?>
|
||||
<?= $content ?? '' ?>
|
||||
</div>
|
||||
</main>
|
||||
<script src="/assets/js/admin.js"></script>
|
||||
<?= $extraScripts ?? '' ?>
|
||||
</body>
|
||||
</html>
|
||||
16
admin/templates/login-layout.php
Normal file
16
admin/templates/login-layout.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><?= e($pageTitle ?? 'Login') ?> - <?= e(SITE_TITLE) ?> Admin</title>
|
||||
<link rel="stylesheet" href="/assets/css/admin.css">
|
||||
</head>
|
||||
<body class="login-page">
|
||||
<div class="login-container">
|
||||
<h1 class="login-logo"><?= e(SITE_TITLE) ?></h1>
|
||||
<?= flash_display() ?>
|
||||
<?= $content ?? '' ?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user