Files
deskhub/DeskHub-Webseite/kb_article.php
T
2026-10-26 21:19:21 +00:00

46 lines
1.5 KiB
PHP

<?php
require_once __DIR__ . '/includes/bootstrap.php';
if (get_setting('kb_enabled', '1') !== '1') {
flash('error', 'Die Wissensdatenbank ist derzeit nicht verfügbar.');
redirect('/home.php');
}
$pdo = get_db();
$slug = $_GET['slug'] ?? '';
$loadArticle = static function () use ($pdo, $slug): ?array {
$stmt = $pdo->prepare(
'SELECT a.*, c.name AS category_name FROM kb_articles a
JOIN kb_categories c ON c.id = a.category_id
WHERE a.slug = ? AND a.is_published = 1'
);
$stmt->execute([$slug]);
return $stmt->fetch() ?: null;
};
$article = function_exists('dhcm_cache_remember')
? dhcm_cache_remember('kb.article.' . $slug, $loadArticle)
: $loadArticle();
if (!$article) {
flash('error', 'Dieser Artikel wurde nicht gefunden.');
redirect('/kb.php');
}
$pdo->prepare('UPDATE kb_articles SET views = views + 1 WHERE id = ?')->execute([$article['id']]);
$pageTitle = $article['title'];
$activePage = 'kb';
require __DIR__ . '/includes/header_customer.php';
?>
<p><a href="/kb.php">← Zurück zur Wissensdatenbank</a></p>
<div class="card">
<span class="muted"><?= e($article['category_name']) ?></span>
<h1><?= e($article['title']) ?></h1>
<div><?= $article['body'] /* in der Admin-Pflege als vertrauenswürdiges HTML gepflegt */ ?></div>
</div>
<p class="muted">War dieser Artikel hilfreich? Wenn nicht, <a href="/ticket_new.php">erstellen Sie ein Ticket</a>.</p>
<?php require __DIR__ . '/includes/footer_customer.php'; ?>