prepare(" INSERT INTO objectives (title, description, image, status, sort_order, created_at) VALUES (?, ?, ?, ?, ?, NOW()) "); $stmt->execute([$title, $description, $image, $status, $sort_order]); $message = 'Objective added successfully!'; } else { $stmt = $db->prepare(" UPDATE objectives SET title = ?, description = ?, image = ?, status = ?, sort_order = ? WHERE id = ? "); $stmt->execute([$title, $description, $image, $status, $sort_order, $id]); $message = 'Objective updated successfully!'; } $action = 'list'; } catch (Exception $e) { $error = 'Error: ' . $e->getMessage(); } break; case 'delete': try { $delete_id = $_POST['id']; // Get image path before deleting $stmt = $db->prepare("SELECT image FROM objectives WHERE id = ?"); $stmt->execute([$delete_id]); $objective = $stmt->fetch(); // Delete record $stmt = $db->prepare("DELETE FROM objectives WHERE id = ?"); $stmt->execute([$delete_id]); // Delete associated image if (!empty($objective['image']) && file_exists('../img/objectives/' . $objective['image'])) { unlink('../img/objectives/' . $objective['image']); } $message = 'Objective deleted successfully!'; } catch (Exception $e) { $error = 'Error deleting: ' . $e->getMessage(); } break; } } } // Get objective data for editing $objective_data = null; if ($action === 'edit' && $id > 0) { $stmt = $db->prepare("SELECT * FROM objectives WHERE id = ?"); $stmt->execute([$id]); $objective_data = $stmt->fetch(); if (!$objective_data) { $error = 'Objective not found!'; $action = 'list'; } } // Get objectives list $objectives_list = []; if ($action === 'list') { $stmt = $db->prepare("SELECT * FROM objectives ORDER BY sort_order ASC, created_at DESC"); $stmt->execute(); $objectives_list = $stmt->fetchAll(); } include 'includes/header.php'; ?>