44 lines
1.3 KiB
PHP
Executable File
44 lines
1.3 KiB
PHP
Executable File
<?php
|
|
require_once 'config/config.php';
|
|
require_login();
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
$_SESSION['error'] = "Неверный метод запроса";
|
|
redirect('books.php');
|
|
}
|
|
|
|
if (!verify_csrf_token($_POST['csrf_token'] ?? '')) {
|
|
$_SESSION['error'] = "Ошибка безопасности";
|
|
redirect('books.php');
|
|
}
|
|
|
|
$chapter_id = $_POST['chapter_id'] ?? null;
|
|
$user_id = $_SESSION['user_id'];
|
|
|
|
if (!$chapter_id) {
|
|
$_SESSION['error'] = "Не указана глава для удаления";
|
|
redirect('books.php');
|
|
}
|
|
|
|
$chapterModel = new Chapter($pdo);
|
|
|
|
// Проверяем права доступа
|
|
if (!$chapterModel->userOwnsChapter($chapter_id, $user_id)) {
|
|
$_SESSION['error'] = "У вас нет доступа к этой главе";
|
|
redirect('books.php');
|
|
}
|
|
|
|
// Получаем информацию о главе перед удалением (для редиректа)
|
|
$chapter = $chapterModel->findById($chapter_id);
|
|
$book_id = $chapter['book_id'];
|
|
|
|
// Удаляем главу
|
|
if ($chapterModel->delete($chapter_id)) {
|
|
$_SESSION['success'] = "Глава успешно удалена";
|
|
} else {
|
|
$_SESSION['error'] = "Ошибка при удалении главы";
|
|
}
|
|
|
|
// Редирект обратно к списку глав книги
|
|
redirect("chapters.php?book_id=$book_id");
|
|
?>
|