Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/monara/public_html/test.athavaneng.com/themes.php on line 99
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231 Logout
prepare("INSERT INTO teledramas (title, description, youtube_playlist, cover_image) VALUES (:title, :description, :youtube_playlist, :cover_image)");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for teledrama insertion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':description' => $description,
':youtube_playlist' => $youtube_playlist,
':cover_image' => $cover_image
]);
if (!$teledrama_message) {
$teledrama_message = "Teledrama added successfully!";
}
} catch (Exception $e) {
$teledrama_message = "Error saving teledrama to database: " . htmlspecialchars($e->getMessage());
error_log("Teledrama database error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
if ($cover_image && file_exists($target_file)) {
unlink($target_file);
}
}
}
// Handle Banner Upload
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['banner_image'])) {
$target_dir = $_SERVER['DOCUMENT_ROOT'] . '/swarnawahini_web/uploads/banners/';
if (!file_exists($target_dir)) {
if (!mkdir($target_dir, 0777, true)) {
$banner_message = "Error: Failed to create banner upload directory.";
error_log("Banner upload failed: Could not create directory $target_dir", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
if (!is_writable($target_dir)) {
$banner_message = "Error: Banner upload directory is not writable.";
error_log("Banner upload failed: Directory $target_dir is not writable.", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} else {
$banner_image = basename($_FILES['banner_image']['name']);
$target_file = $target_dir . $banner_image;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if ($_FILES['banner_image']['error'] !== UPLOAD_ERR_OK) {
$upload_errors = [
UPLOAD_ERR_INI_SIZE => "File exceeds upload_max_filesize.",
UPLOAD_ERR_FORM_SIZE => "File exceeds MAX_FILE_SIZE in form.",
UPLOAD_ERR_PARTIAL => "File was only partially uploaded.",
UPLOAD_ERR_NO_FILE => "No file was uploaded.",
UPLOAD_ERR_NO_TMP_DIR => "Missing temporary folder.",
UPLOAD_ERR_CANT_WRITE => "Failed to write file to disk.",
UPLOAD_ERR_EXTENSION => "A PHP extension stopped the file upload."
];
$banner_message = "Upload error: " . ($upload_errors[$_FILES['banner_image']['error']] ?? "Unknown error.");
error_log("Banner upload error: " . $banner_message, 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} else {
$check = getimagesize($_FILES['banner_image']['tmp_name']);
if ($check === false || !in_array($imageFileType, ['jpg', 'jpeg', 'png', 'gif'])) {
$banner_message = "Invalid image file. Please upload JPG, PNG, or GIF.";
error_log("Banner upload failed: Invalid image file.", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} elseif (file_exists($target_file)) {
$banner_message = "Error: File already exists.";
error_log("Banner upload failed: File $target_file already exists.", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} elseif (move_uploaded_file($_FILES['banner_image']['tmp_name'], $target_file)) {
try {
$stmt = $conn->prepare("INSERT INTO banners (image_path) VALUES (:image_path)");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for banner insertion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':image_path' => $banner_image]);
$banner_message = "Banner uploaded successfully!";
} catch (Exception $e) {
$banner_message = "Error saving banner to database: " . htmlspecialchars($e->getMessage());
error_log("Banner database error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
if (file_exists($target_file)) {
unlink($target_file);
}
}
} else {
$banner_message = "Error moving uploaded file. Check server permissions.";
error_log("Banner upload failed: Unable to move file to $target_file, Error: " . $_FILES['banner_image']['error'], 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
}
}
// Handle Banner Deletion
if (isset($_GET['delete_banner']) && is_numeric($_GET['delete_banner'])) {
$id = (int)$_GET['delete_banner'];
try {
$stmt = $conn->prepare("SELECT image_path FROM banners WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for banner deletion query: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$banner = $stmt->fetch(PDO::FETCH_ASSOC);
if ($banner) {
$file_path = $_SERVER['DOCUMENT_ROOT'] . '/swarnawahini_web/uploads/banners/' . $banner['image_path'];
if (file_exists($file_path)) {
if (!unlink($file_path)) {
error_log("Failed to delete banner file: $file_path", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
$stmt = $conn->prepare("DELETE FROM banners WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for banner deletion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$banner_message = "Banner deleted successfully!";
} else {
$banner_message = "Banner not found.";
}
} catch (Exception $e) {
$banner_message = "Error deleting banner: " . htmlspecialchars($e->getMessage());
error_log("Banner deletion error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
// Handle Special Program Submission (Add/Edit)
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['special_program_title'])) {
$special_program_id = filter_input(INPUT_POST, 'special_program_id', FILTER_SANITIZE_NUMBER_INT);
$title = filter_input(INPUT_POST, 'special_program_title', FILTER_SANITIZE_STRING);
$youtube_url = filter_input(INPUT_POST, 'youtube_url', FILTER_SANITIZE_URL);
$video_id = '';
if (preg_match('/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/', $youtube_url, $match)) {
$video_id = $match[1];
}
if (!$video_id) {
$special_program_message = "Invalid YouTube URL. Please use a URL like https://www.youtube.com/watch?v=VIDEO_ID";
} else {
$thumbnail_url = "https://i.ytimg.com/vi/{$video_id}/hqdefault.jpg";
$headers = @get_headers($thumbnail_url);
if ($headers && strpos($headers[0], '200') === false) {
error_log("Thumbnail URL inaccessible: $thumbnail_url, Headers: " . implode(", ", $headers), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$thumbnail_url = 'default.jpg';
$special_program_message = "Thumbnail URL inaccessible. Using default image.";
}
try {
if ($special_program_id) {
$stmt = $conn->prepare("UPDATE special_programs SET title = :title, youtube_url = :youtube_url, thumbnail_url = :thumbnail_url WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for special program update: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':youtube_url' => $youtube_url,
':thumbnail_url' => $thumbnail_url,
':id' => $special_program_id
]);
$special_program_message = "Special program updated successfully!";
} else {
$stmt = $conn->prepare("INSERT INTO special_programs (title, youtube_url, thumbnail_url) VALUES (:title, :youtube_url, :thumbnail_url)");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for special program insertion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':youtube_url' => $youtube_url,
':thumbnail_url' => $thumbnail_url
]);
$special_program_message = "Special program added successfully!";
}
} catch (Exception $e) {
$special_program_message = "Error processing special program: " . htmlspecialchars($e->getMessage());
error_log("Special program database error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
}
// Handle Special Program Deletion
if (isset($_GET['delete_special_program']) && is_numeric($_GET['delete_special_program'])) {
$id = (int)$_GET['delete_special_program'];
try {
$stmt = $conn->prepare("DELETE FROM special_programs WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for special program deletion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$special_program_message = "Special program deleted successfully!";
} catch (Exception $e) {
$special_program_message = "Error deleting special program: " . htmlspecialchars($e->getMessage());
error_log("Special program deletion error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
// Handle Featured Program Submission (Add/Edit)
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['featured_program_title'])) {
$featured_program_id = filter_input(INPUT_POST, 'featured_program_id', FILTER_SANITIZE_NUMBER_INT);
$title = filter_input(INPUT_POST, 'featured_program_title', FILTER_SANITIZE_STRING);
$youtube_url = filter_input(INPUT_POST, 'youtube_url', FILTER_SANITIZE_URL);
$video_id = '';
if (preg_match('/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/', $youtube_url, $match)) {
$video_id = $match[1];
}
if (!$video_id) {
$featured_program_message = "Invalid YouTube URL. Please use a URL like https://www.youtube.com/watch?v=VIDEO_ID";
} else {
$thumbnail_url = "https://i.ytimg.com/vi/{$video_id}/hqdefault.jpg";
$headers = @get_headers($thumbnail_url);
if ($headers && strpos($headers[0], '200') === false) {
error_log("Thumbnail URL inaccessible: $thumbnail_url, Headers: " . implode(", ", $headers), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$thumbnail_url = 'default.jpg';
$featured_program_message = "Thumbnail URL inaccessible. Using default image.";
}
try {
if ($featured_program_id) {
$stmt = $conn->prepare("UPDATE featured_programs SET title = :title, youtube_url = :youtube_url, thumbnail_url = :thumbnail_url WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for featured program update: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':youtube_url' => $youtube_url,
':thumbnail_url' => $thumbnail_url,
':id' => $featured_program_id
]);
$featured_program_message = "Featured program updated successfully!";
} else {
$stmt = $conn->prepare("INSERT INTO featured_programs (title, youtube_url, thumbnail_url) VALUES (:title, :youtube_url, :thumbnail_url)");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for featured program insertion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':youtube_url' => $youtube_url,
':thumbnail_url' => $thumbnail_url
]);
$featured_program_message = "Featured program added successfully!";
}
} catch (Exception $e) {
$featured_program_message = "Error processing featured program: " . htmlspecialchars($e->getMessage());
error_log("Featured program database error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
}
// Handle Featured Program Deletion
if (isset($_GET['delete_featured_program']) && is_numeric($_GET['delete_featured_program'])) {
$id = (int)$_GET['delete_featured_program'];
try {
$stmt = $conn->prepare("DELETE FROM featured_programs WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for featured program deletion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$featured_program_message = "Featured program deleted successfully!";
} catch (Exception $e) {
$featured_program_message = "Error deleting featured program: " . htmlspecialchars($e->getMessage());
error_log("Featured program deletion error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
// Handle Programme Submission
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['programme_title'])) {
$programme_id = filter_input(INPUT_POST, 'programme_id', FILTER_SANITIZE_NUMBER_INT);
$title = filter_input(INPUT_POST, 'programme_title', FILTER_SANITIZE_STRING);
$description = filter_input(INPUT_POST, 'description', FILTER_SANITIZE_STRING);
$youtube_playlist = filter_input(INPUT_POST, 'youtube_playlist', FILTER_SANITIZE_STRING);
$cover_image = '';
// Define upload directory
$target_dir = $_SERVER['DOCUMENT_ROOT'] . '/swarnawahini_web/uploads/programmes/';
if (!file_exists($target_dir)) {
if (!mkdir($target_dir, 0777, true)) {
$programme_message = "Error: Failed to create programme upload directory.";
error_log("Programme upload failed: Could not create directory $target_dir", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
// Check directory writability
if (!is_writable($target_dir)) {
$programme_message = "Error: Programme upload directory is not writable.";
error_log("Programme upload failed: Directory $target_dir is not writable.", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} elseif (isset($_FILES['cover_image']) && $_FILES['cover_image']['error'] === UPLOAD_ERR_OK) {
$cover_image = basename($_FILES['cover_image']['name']);
$target_file = $target_dir . $cover_image;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// Validate image
$check = getimagesize($_FILES['cover_image']['tmp_name']);
if ($check === false || !in_array($imageFileType, ['jpg', 'jpeg', 'png', 'gif'])) {
$programme_message = "Invalid image file. Please upload JPG, PNG, or GIF.";
error_log("Programme upload failed: Invalid image file for $target_file", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} elseif (file_exists($target_file)) {
$programme_message = "Error: File already exists.";
error_log("Programme upload failed: File $target_file already exists.", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
} elseif (!move_uploaded_file($_FILES['cover_image']['tmp_name'], $target_file)) {
$programme_message = "Error uploading cover image.";
error_log("Programme upload failed: Unable to move file to $target_file, Error: " . $_FILES['cover_image']['error'], 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
try {
if ($programme_id) {
// Update existing programme
$stmt = $conn->prepare("UPDATE programmes SET title = :title, description = :description, youtube_playlist = :youtube_playlist, cover_image = :cover_image WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for programme update: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':description' => $description,
':youtube_playlist' => $youtube_playlist,
':cover_image' => $cover_image,
':id' => $programme_id
]);
$new_programme_id = $programme_id;
$programme_message = "Programme updated successfully!";
} else {
// Insert new programme
$stmt = $conn->prepare("INSERT INTO programmes (title, description, youtube_playlist, cover_image) VALUES (:title, :description, :youtube_playlist, :cover_image)");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for programme insertion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':title' => $title,
':description' => $description,
':youtube_playlist' => $youtube_playlist,
':cover_image' => $cover_image
]);
$new_programme_id = $conn->lastInsertId(); // Get the newly created ID
$programme_message = "Programme added successfully!";
}
// Update YouTube thumbnail for the programme
if (!empty($youtube_playlist)) {
$thumbnail = getYouTubeThumbnail($youtube_playlist, 'AIzaSyBAON_ChCgF5BEXX7ijp--GImeRmAHdUBY', $conn, $new_programme_id, 'programmes');
if ($thumbnail === 'default.jpg') {
error_log("Warning: Thumbnail fetch returned default.jpg for programme ID $new_programme_id", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
} catch (Exception $e) {
$programme_message = "Error saving programme to database: " . htmlspecialchars($e->getMessage());
error_log("Programme database error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
if ($cover_image && file_exists($target_file)) {
unlink($target_file);
}
}
}
// Handle Programme Deletion
if (isset($_GET['delete_programme']) && is_numeric($_GET['delete_programme'])) {
$id = (int)$_GET['delete_programme'];
try {
$stmt = $conn->prepare("SELECT cover_image FROM programmes WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for programme deletion query: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$programme = $stmt->fetch(PDO::FETCH_ASSOC);
if ($programme) {
$file_path = $_SERVER['DOCUMENT_ROOT'] . '/swarnawahini_web/uploads/programmes/' . $programme['cover_image'];
if (file_exists($file_path)) {
if (!unlink($file_path)) {
error_log("Failed to delete programme file: $file_path", 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
$stmt = $conn->prepare("DELETE FROM programmes WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for programme deletion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$programme_message = "Programme deleted successfully!";
} else {
$programme_message = "Programme not found.";
}
} catch (Exception $e) {
$programme_message = "Error deleting programme: " . htmlspecialchars($e->getMessage());
error_log("Programme deletion error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
// Handle Contact Message Deletion
if (isset($_GET['delete_contact']) && is_numeric($_GET['delete_contact'])) {
$id = (int)$_GET['delete_contact'];
try {
$stmt = $conn->prepare("DELETE FROM contact WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for contact deletion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $id]);
$contact_message = "Contact message deleted successfully!";
} catch (Exception $e) {
$contact_message = "Error deleting contact message: " . htmlspecialchars($e->getMessage());
error_log("Contact deletion error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
// Handle TV Schedule Submission
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['schedule_day'])) {
$day = filter_input(INPUT_POST, 'schedule_day', FILTER_SANITIZE_STRING);
$time = filter_input(INPUT_POST, 'schedule_time', FILTER_SANITIZE_STRING);
$program_name = filter_input(INPUT_POST, 'program_name', FILTER_SANITIZE_STRING);
$valid_days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
if (!in_array($day, $valid_days) || !preg_match('/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/', $time) || empty($program_name)) {
$schedule_message = "Invalid input. Ensure day, time (HH:MM), and program name are valid.";
} else {
try {
$stmt = $conn->prepare("INSERT INTO tv_schedule (day, time, program_name) VALUES (:day, :time, :program_name)");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for schedule insertion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([
':day' => $day,
':time' => $time,
':program_name' => $program_name
]);
$schedule_message = "Program added to schedule successfully!";
} catch (Exception $e) {
$schedule_message = "Error adding schedule: " . htmlspecialchars($e->getMessage());
error_log("Schedule database error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
}
}
// Handle TV Schedule Deletion
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_schedule_id'])) {
$delete_id = filter_input(INPUT_POST, 'delete_schedule_id', FILTER_VALIDATE_INT);
if ($delete_id !== false && $delete_id > 0) {
try {
$stmt = $conn->prepare("DELETE FROM tv_schedule WHERE id = :id");
if ($stmt === false) {
throw new Exception("Failed to prepare SQL statement for schedule deletion: " . json_encode($conn->errorInfo()));
}
$stmt->execute([':id' => $delete_id]);
$schedule_message = "Program deleted from schedule successfully!";
} catch (Exception $e) {
$schedule_message = "Error deleting schedule: " . htmlspecialchars($e->getMessage());
error_log("Schedule deletion error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
}
} else {
$schedule_message = "Invalid schedule ID.";
}
}
// Fetch all banners
try {
$banners = $conn->query("SELECT * FROM banners ORDER BY created_at DESC")->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$banner_message = "Error fetching banners: " . htmlspecialchars($e->getMessage());
error_log("Banner fetch error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$banners = [];
}
// Fetch all special programs
try {
$special_programs = $conn->query("SELECT * FROM special_programs ORDER BY created_at DESC")->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$special_program_message = "Error fetching special programs: " . htmlspecialchars($e->getMessage());
error_log("Special program fetch error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$special_programs = [];
}
// Fetch all featured programs
try {
$featured_programs = $conn->query("SELECT * FROM featured_programs ORDER BY created_at DESC")->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$featured_program_message = "Error fetching featured programs: " . htmlspecialchars($e->getMessage());
error_log("Featured program fetch error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$featured_programs = [];
}
// Fetch all programmes
try {
$programmes = $conn->query("SELECT * FROM programmes ORDER BY created_at DESC")->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$programme_message = "Error fetching programmes: " . htmlspecialchars($e->getMessage());
error_log("Programme fetch error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$programmes = [];
}
// Fetch all contact messages
try {
$contact_messages = $conn->query("SELECT * FROM contact ORDER BY created_at DESC")->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$contact_message = "Error fetching contact messages: " . htmlspecialchars($e->getMessage());
error_log("Contact fetch error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$contact_messages = [];
}
// Fetch all schedule entries
try {
$schedule_entries = $conn->query("SELECT * FROM tv_schedule ORDER BY day, time ASC")->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
$schedule_message = "Error fetching schedule entries: " . htmlspecialchars($e->getMessage());
error_log("Schedule fetch error: " . $e->getMessage(), 3, "/home/monara/public_html/swarnawahini_web/logs/php_errors.log");
$schedule_entries = [];
}
require $_SERVER['DOCUMENT_ROOT'] . '/swarnawahini_web/components/header.php';
?>