home/aissorg/public_html/admin/php/home-aarti.php 0000644 00000021414 15116264774 0016102 0 ustar 00 prepare($query);
$stmt->bind_param("i", $id);
} else {
$query = "SELECT * FROM home_aarti WHERE is_active = 1 AND deleted_at IS NULL";
$stmt = $con->prepare($query);
}
$stmt->execute();
$result = $stmt->get_result();
$about_entries = [];
while ($row = $result->fetch_assoc()) {
// Fetch related images from about_images table
$images_query = "SELECT image_path FROM about_images WHERE about_id = ?";
$images_stmt = $con->prepare($images_query);
$images_stmt->bind_param("i", $row['id']);
$images_stmt->execute();
$images_result = $images_stmt->get_result();
$images = [];
while ($image_row = $images_result->fetch_assoc()) {
$images[] = $image_row['image_path'];
}
$row['images'] = $images;
$about_entries[] = $row;
}
echo json_encode(['success' => true, 'data' => $id ? ($about_entries[0] ?? null) : $about_entries]);
break;
case 'create':
$title = $_POST['title'] ?? '';
$description = $_POST['description'] ?? '';
$description2 = $_POST['description2'] ?? '';
$single_image = null;
$target_dir = "../assets/img/about/";
// Handle single image upload
if (!empty($_FILES['single_image']['name'])) {
$tmp_name = $_FILES['single_image']['tmp_name'];
if (is_uploaded_file($tmp_name)) {
$single_image = uniqid() . '_' . time() . '_' . basename($_FILES['single_image']['name']);
$target_file = $target_dir . $single_image;
move_uploaded_file($tmp_name, $target_file);
}
}
// Insert main about data
$query = "INSERT INTO home_aarti (title, description, description2, single_image, is_active) VALUES (?, ?, ?, ?, 1)";
$stmt = $con->prepare($query);
$stmt->bind_param("ssss", $title, $description, $description2, $single_image);
if ($stmt->execute()) {
$about_id = $stmt->insert_id;
// Handle multiple images upload
if (!empty($_FILES['multiple_images']['name']) && is_array($_FILES['multiple_images']['name'])) {
foreach ($_FILES['multiple_images']['name'] as $key => $name) {
$tmp_name = $_FILES['multiple_images']['tmp_name'][$key];
if (!empty($name) && is_uploaded_file($tmp_name)) {
$new_name = uniqid() . '_' . time() . '_' . basename($name);
$target_file = $target_dir . $new_name;
if (move_uploaded_file($tmp_name, $target_file)) {
$image_query = "INSERT INTO about_images (about_id, image_path) VALUES (?, ?)";
$image_stmt = $con->prepare($image_query);
$image_stmt->bind_param("is", $about_id, $new_name);
$image_stmt->execute();
} else {
error_log("Failed to move uploaded file: " . $name);
}
}
}
}
echo json_encode(['success' => true, 'message' => 'Aarti entry added successfully']);
} else {
echo json_encode(['success' => false, 'error' => $stmt->error]);
}
break;
case 'update':
$id = $_POST['id'] ?? 0;
$title = $_POST['title'] ?? '';
$description = $_POST['description'] ?? '';
$description2 = $_POST['description2'] ?? '';
$single_image = $_POST['existing_image'] ?? null;
$target_dir = "../assets/img/about/";
// Handle single image update
if (!empty($_FILES['single_image']['name'])) {
$tmp_name = $_FILES['single_image']['tmp_name'];
if (is_uploaded_file($tmp_name)) {
$single_image = uniqid() . '_' . time() . '_' . basename($_FILES['single_image']['name']);
$target_file = $target_dir . $single_image;
move_uploaded_file($tmp_name, $target_file);
}
}
// Update main aarti data
$query = "UPDATE home_aarti SET title=?, description=?, description2=?, single_image=?, updated_at=NOW() WHERE id=?";
$stmt = $con->prepare($query);
$stmt->bind_param("ssssi", $title, $description, $description2, $single_image, $id);
if ($stmt->execute()) {
// Fetch existing images
$existing_images_query = "SELECT image_path FROM about_images WHERE about_id = ?";
$existing_images_stmt = $con->prepare($existing_images_query);
$existing_images_stmt->bind_param("i", $id);
$existing_images_stmt->execute();
$existing_images_result = $existing_images_stmt->get_result();
$existing_images = [];
while ($row = $existing_images_result->fetch_assoc()) {
$existing_images[] = $row['image_path'];
}
// Handle new multiple images upload
$new_images = [];
if (!empty($_FILES['multiple_images']['name']) && is_array($_FILES['multiple_images']['name'])) {
foreach ($_FILES['multiple_images']['name'] as $key => $name) {
$tmp_name = $_FILES['multiple_images']['tmp_name'][$key];
if (!empty($name) && is_uploaded_file($tmp_name)) {
$new_name = uniqid() . '_' . time() . '_' . basename($name);
$target_file = $target_dir . $new_name;
if (move_uploaded_file($tmp_name, $target_file)) {
$new_images[] = $new_name;
}
}
}
}
// Combine and check limit
$all_images = array_merge($existing_images, $new_images);
if (count($all_images) > 3) {
echo json_encode(['success' => false, 'error' => 'You can only have up to 3 images.']);
return;
}
// Insert new images into DB
foreach ($new_images as $image_name) {
$image_query = "INSERT INTO about_images (about_id, image_path) VALUES (?, ?)";
$image_stmt = $con->prepare($image_query);
$image_stmt->bind_param("is", $id, $image_name);
$image_stmt->execute();
}
echo json_encode(['success' => true, 'message' => 'Aarti entry updated successfully']);
} else {
echo json_encode(['success' => false, 'error' => $stmt->error]);
}
break;
case 'delete_image':
$imageName = $_GET['image'] ?? '';
if (!empty($imageName)) {
$query = "DELETE FROM about_images WHERE image_path = ?";
$stmt = $con->prepare($query);
$stmt->bind_param("s", $imageName);
if ($stmt->execute()) {
$imagePath = "../assets/img/about/" . basename($imageName);
if (file_exists($imagePath)) unlink($imagePath);
echo json_encode(['success' => true, 'message' => 'Image deleted successfully.']);
} else {
echo json_encode(['success' => false, 'error' => 'Error deleting image from database.']);
}
} else {
echo json_encode(['success' => false, 'error' => 'Invalid request.']);
}
break;
case 'delete':
$id = $_GET['id'] ?? 0;
$query = "UPDATE home_aarti SET is_active = 0, deleted_at = NOW() WHERE id=?";
$stmt = $con->prepare($query);
$stmt->bind_param("i", $id);
if ($stmt->execute()) {
$image_delete_query = "DELETE FROM about_images WHERE about_id = ?";
$image_stmt = $con->prepare($image_delete_query);
$image_stmt->bind_param("i", $id);
$image_stmt->execute();
echo json_encode(['success' => true, 'message' => 'Aarti entry deleted successfully']);
} else {
echo json_encode(['success' => false, 'error' => $stmt->error]);
}
break;
default:
echo json_encode(['success' => false, 'error' => 'Invalid action']);
break;
}
?>