PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]); } return $pdo; } $pdo = getDB(); $categories = [ 'audit' => 'Аудит', 'sla' => 'SLA', 'incident' => 'Инциденты', 'supervision' => 'Технадзор', 'documentation' => 'Документация', 'risk' => 'Риск-инжиниринг', 'cases' => 'Кейсы', ]; $slug = trim($_GET['slug'] ?? ''); $search = trim($_GET['search'] ?? ''); $category = trim($_GET['cat'] ?? ''); $page = max(1, (int)($_GET['page'] ?? 1)); $perPage = 12; // Single post if ($slug !== '') { $stmt = $pdo->prepare("SELECT bp.*, u.full_name AS author_name FROM blog_posts bp LEFT JOIN users u ON u.id=bp.author_id WHERE bp.slug=? AND bp.status='published' LIMIT 1"); $stmt->execute([$slug]); $post = $stmt->fetch(); $pageTitle = $post ? ($post['title'] . ' — ' . SITE_NAME) : 'Пост не найден — ' . SITE_NAME; $pageDesc = $post ? ($post['excerpt'] ?: mb_substr(strip_tags($post['content']), 0, 200)) : ''; $robots = $post ? 'index, follow' : 'noindex, nofollow'; $canonical = $post ? '/blog/' . $post['slug'] : '/blog/'; } else { $pageTitle = 'Блог — ' . SITE_NAME; $pageDesc = 'Инженерный блог AegisOne Engineering: риск-инжиниринг, SLA, инциденты, аудит систем безопасности.'; $robots = 'index, follow'; $canonical = '/blog/'; } ?> <?= $pageTitle ?>

Инженерный блог AegisOne

Управление рисками, SLA, инциденты и инженерная экспертиза

← На главную

Поделиться: Telegram WhatsApp
prepare("SELECT slug,title FROM blog_posts WHERE published_atexecute([$post['published_at']]); $p = $prev->fetch(); $next = $pdo->prepare("SELECT slug,title FROM blog_posts WHERE published_at>? AND status='published' ORDER BY published_at ASC LIMIT 1"); $next->execute([$post['published_at']]); $n = $next->fetch(); ?>

Пост не найден

Возможно, он был удалён или ещё не опубликован.

← Все записи
prepare("SELECT COUNT(*) FROM blog_posts WHERE $where"); $countStmt->execute($params); $totalPosts = (int)$countStmt->fetchColumn(); $totalPages = max(1, (int)ceil($totalPosts / $perPage)); $offset = ($page - 1) * $perPage; $stmt = $pdo->prepare("SELECT bp.*, u.full_name AS author_name FROM blog_posts bp LEFT JOIN users u ON u.id=bp.author_id WHERE $where ORDER BY bp.published_at DESC LIMIT $perPage OFFSET $offset"); $stmt->execute($params); $posts = $stmt->fetchAll(); ?>
Категория: Все записи

Записей пока нет

Следите за обновлениями — мы регулярно публикуем новые статьи.

1): ?> Вперёд →