<?php
// Check if user is admin
if (!isset($_SESSION['is_admin']) || !$_SESSION['is_admin']) {
header("Location: ../index.php");
exit();
}
// Include database connection
require_once "../config/db.php";
// Check if form was submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Get movie ID and validate it
if (!isset($_POST['movie_id']) || !is_numeric($_POST['movie_id'])) {
$_SESSION['error'] = "Invalid movie ID.";
header("Location: ../index.php?page=movies");
exit();
}
$movie_id = mysqli_real_escape_string($dbc, $_POST['movie_id']);
// Get and sanitize form data
$name = mysqli_real_escape_string($dbc, $_POST['name']);
$releaseDate = mysqli_real_escape_string($dbc, $_POST['releaseDate']);
$length = (int)$_POST['length'];
$synopsis = mysqli_real_escape_string($dbc, $_POST['synopsis'] ?? '');
$imagePath = mysqli_real_escape_string($dbc, $_POST['imagePath']);
$kdmStart = !empty($_POST['kdmStart']) ? mysqli_real_escape_string($dbc, $_POST['kdmStart']) : NULL;
$kdmEnd = !empty($_POST['kdmEnd']) ? mysqli_real_escape_string($dbc, $_POST['kdmEnd']) : NULL;
// Handle image upload if a new image was provided
if (isset($_FILES['newImage']) && $_FILES['newImage']['size'] > 0) {
$upload_dir = "../assets/images/movies/";
// Create directory if it doesn't exist
if (!is_dir($upload_dir)) {
mkdir($upload_dir, 0755, true);
}
// Generate a unique filename
$file_extension = pathinfo($_FILES['newImage']['name'], PATHINFO_EXTENSION);
$new_filename = 'movie_' . $movie_id . '_' . time() . '.' . $file_extension;
$upload_path = $upload_dir . $new_filename;
// Move the uploaded file
if (move_uploaded_file($_FILES['newImage']['tmp_name'], $upload_path)) {
// Update the image path to the new file
$imagePath = 'assets/images/movies/' . $new_filename;
} else {
$_SESSION['error'] = "Failed to upload image.";
header("Location: ../index.php?page=moviedetail&id=$movie_id");
exit();
}
}
// Build the update query
$query = "UPDATE CINE_Film SET
name = '$name',
releaseDate = '$releaseDate',
length = $length,
synopsis = '$synopsis',
imagePath = '$imagePath'";
// Add KDM dates if provided
if ($kdmStart !== NULL) {
$query .= ", kdmStart = '$kdmStart'";
} else {
$query .= ", kdmStart = NULL";
}
if ($kdmEnd !== NULL) {
$query .= ", kdmEnd = '$kdmEnd'";
} else {
$query .= ", kdmEnd = NULL";
}
$query .= " WHERE pk_Film = $movie_id";
// Execute the query
if (mysqli_query($dbc, $query)) {
$_SESSION['success'] = "Movie details updated successfully.";
} else {
$_SESSION['error'] = "Error updating movie details: " . mysqli_error($dbc);
}
// Redirect back to the movie detail page
header("Location: ../index.php?page=moviedetail&id=$movie_id");
exit();
} else {
// If not a POST request, redirect to movies page
header("Location: ../index.php?page=movies");
exit();
}
?>