deleteAnnouncement($announcement_id); set_message('Announcement deleted successfully!', 'success'); } catch (Exception $e) { set_message('Error deleting announcement: ' . $e->getMessage(), 'danger'); } } } else { // Handle photo upload $photoPath = $current_photo; // Default to current photo if not uploading new if (isset($_FILES['photo']) && $_FILES['photo']['error'] === UPLOAD_ERR_OK) { try { $photoPath = $announcement->handlePhotoUpload($_FILES['photo']); // If editing and a new photo is uploaded, delete the old one if ($action_type === 'edit' && !empty($current_photo) && $current_photo !== $photoPath) { unlink('../uploads/announcements/' . $current_photo); // Delete old file } } catch (Exception $e) { set_message('Photo upload error: ' . $e->getMessage(), 'danger'); header('Location: manage_announcements.php'); exit(); } } if (empty($title) || empty($description)) { set_message('Title and description cannot be empty.', 'danger'); } else { try { if ($action_type === 'add') { $announcement->addAnnouncement($title, $description, $photoPath, $status, $_SESSION['user_id']); set_message('Announcement added successfully!', 'success'); } elseif ($action_type === 'edit' && $announcement_id) { $announcement->updateAnnouncement($announcement_id, $title, $description, $photoPath, $status, $_SESSION['user_id']); set_message('Announcement updated successfully!', 'success'); } } catch (Exception $e) { set_message('Error: ' . $e->getMessage(), 'danger'); } } } header('Location: manage_announcements.php'); exit(); } // Fetch announcements for display $announcements = $announcement->getAllAnnouncements(); // Prepare data for editing if action is 'edit' $editAnnouncement = null; if ($action === 'edit' && $id) { $editAnnouncement = $announcement->getAnnouncementById($id); } ?>