mkach - Админка

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->exec('SET NAMES utf8'); } catch (PDOException $e) { die('Connection failed'); } require_once 'logger.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_thread'])) { $threadId = $_POST['delete_thread']; try { $db->beginTransaction(); $stmt = $db->prepare('DELETE FROM posts WHERE thread_id = ?'); $stmt->execute([$threadId]); $stmt = $db->prepare('DELETE FROM threads WHERE thread_id = ?'); $stmt->execute([$threadId]); $db->commit(); logAdminAction('DELETE_THREAD', "Thread ID: $threadId"); $success = 'Тред успешно удален'; } catch (PDOException $e) { $db->rollBack(); $error = 'Ошибка при удалении треда'; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_post'])) { $postId = $_POST['delete_post']; if (!preg_match('/^\d{6}$/', $postId)) { $error = 'Неверный формат номера сообщения'; } else { try { $stmt = $db->prepare('SELECT COUNT(*) FROM posts WHERE post_id = ?'); $stmt->execute([$postId]); $exists = $stmt->fetchColumn(); if ($exists) { $stmt = $db->prepare('DELETE FROM posts WHERE post_id = ?'); $stmt->execute([$postId]); logAdminAction('DELETE_POST', "Post ID: $postId"); $success = 'Сообщение №' . $postId . ' успешно удалено'; } else { $error = 'Сообщение №' . $postId . ' не найдено'; } } catch (PDOException $e) { $error = 'Ошибка при удалении сообщения'; } } } try { $stmt = $db->prepare(' SELECT t.*, b.name as board_name, COUNT(p.id) as post_count FROM threads t JOIN boards b ON t.board_id = b.board_id LEFT JOIN posts p ON t.thread_id = p.thread_id GROUP BY t.id ORDER BY t.created_at DESC '); $stmt->execute(); $threads = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt = $db->prepare(' SELECT p.*, t.title as thread_title, b.board_id FROM posts p JOIN threads t ON p.thread_id = t.thread_id JOIN boards b ON t.board_id = b.board_id ORDER BY p.created_at DESC LIMIT 50 '); $stmt->execute(); $recentPosts = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { die('Database error'); } ?> mkach - Админка

mkach - Админка

Управление тредами

ID Доска Название Постов Создан Действия
//

Удаление сообщений

Последние сообщения

Тред Доска Сообщение Время
// 50 ? substr($message, 0, 50) . '...' : $message; ?>