web_php/hotel_booking/admin/ajax/room.php

282 lines
No EOL
10 KiB
PHP

<?php
require('../components/utils.php');
require('../components/db_config.php');
adminLogin();
if(isset($_POST['add_room'])){
$accommodation = filteration(json_decode($_POST['accommodation']));
$additional_accomm = filteration(json_decode($_POST['additional_accomm']));
$frm_data = filteration($_POST);
$flag = 0;
$q1 = "INSERT INTO `rooms`(`name`, `area`, `price`, `quantity`, `adult`, `children`, `detail`) VALUES (?, ?, ?, ?, ?, ?, ?)";
$values = [$frm_data['name'], $frm_data['area'], $frm_data['price'], $frm_data['quantity'], $frm_data['adult'], $frm_data['children'], $frm_data['detail']];
if(insert($q1, $values, 'siiiiis')){
$flag = 1;
}
$room_id = mysqli_insert_id($con);
$q2 = "INSERT INTO `room_accommodation`(`room_id`, `accommodation_id`) VALUES (?, ?)";
if($stmt = mysqli_prepare($con, $q2)){
foreach($accommodation as $a){
mysqli_stmt_bind_param($stmt, 'ii', $room_id, $a);
mysqli_stmt_execute($stmt);
}
mysqli_stmt_close($stmt);
} else{
$flag = 0;
die('Query cannot be prepared - insert');
}
//room additional accommodation
$q3 = "INSERT INTO `room_additionalAccom`(`room_id`, `additionalAccom_id`) VALUES (?, ?)";
if($stmt = mysqli_prepare($con, $q3)){
foreach($additional_accomm as $a){
mysqli_stmt_bind_param($stmt, 'ii', $room_id, $a);
mysqli_stmt_execute($stmt);
}
mysqli_stmt_close($stmt);
} else{
$flag = 0;
die('Query cannot be prepared - insert');
}
if($flag){
echo 1;
} else{
echo 0;
}
}
if(isset($_POST['get_all_rooms'])){
$res = select("SELECT * FROM `rooms` WHERE `removed`=?", [0], 'i');
$i = 1;
$data = "";
while($row = mysqli_fetch_assoc($res)){
if($row['status']==1){
$status = "
<button onclick='toggleStatus($row[id], 0)' class='btn-third'>Active</button>
";
} else{
$status = "
<button onclick='toggleStatus($row[id], 1)' class='btn-cancel'>Inactive</button>
";
}
$data.="
<tr>
<td>$i</td>
<td>$row[name]</td>
<td>$row[area] sq.ft.</td>
<td>
<span style='font-weight:600;'>Adult:</span> $row[adult]</span><br>
<span style='font-weight:600;'>Children:</span> $row[children]
</td>
<td>$$row[price]</td>
<td>$row[quantity]</td>
<td>$status</td>
<td>
<button type='button' onclick='edit_room($row[id])' class='btn-third' data-bs-toggle='modal' data-bs-target='#edit-room'><i class='bx bxs-edit'></i></button>
<button type='button' onclick=\"room_images($row[id], '$row[name]')\" class='btn-fourth' data-bs-toggle='modal' data-bs-target='#room-image'><i class='bx bx-image-add' ></i></button>
<button type='button' onclick='remove_room($row[id])' class='btn-cancel'><i class='bx bx-trash' ></i></button>
</td>
</tr>
";
$i++;
}
echo $data;
}
//edit
if(isset($_POST['get_room'])){
$frm_data = filteration($_POST);
$res1 = select("SELECT * FROM `rooms` WHERE `id`=?", [$frm_data['get_room']], 'i');
$res2 = select("SELECT * FROM `room_accommodation` WHERE `room_id`=?", [$frm_data['get_room']], 'i');
$res3 = select("SELECT * FROM `room_additionalAccom` WHERE `room_id`=?", [$frm_data['get_room']], 'i');
$roomdata = mysqli_fetch_assoc($res1);
$accommodation = [];
$additional_accomm = [];
if(mysqli_num_rows($res2)>0){
while($row = mysqli_fetch_assoc($res2)){
array_push($accommodation, $row['accommodation_id']);
}
}
if(mysqli_num_rows($res3)>0){
while($row = mysqli_fetch_assoc($res3)){
array_push($additional_accomm, $row['additionalAccom_id']);
}
}
$data = ["roomdata" => $roomdata, "accommodation" => $accommodation, "additional_accomm" => $additional_accomm];
$data = json_encode($data);
echo $data;
}
if(isset($_POST['edit_room'])){
$accommodation = filteration(json_decode($_POST['accommodation']));
$additional_accomm = filteration(json_decode($_POST['additional_accomm']));
$frm_data = filteration($_POST);
$flag = 0;
$q1 = "UPDATE `rooms` SET `name`=?,`area`=?,`price`=?,`quantity`=?,`adult`=?,`children`=?,`detail`=? WHERE `id`=?";
$values = [$frm_data['name'], $frm_data['area'], $frm_data['price'], $frm_data['quantity'], $frm_data['adult'], $frm_data['children'], $frm_data['detail'], $frm_data['room_id']];
if(update($q1, $values, 'siiiiisi')){
$flag = 1;
}
$delete_accommodation = delete("DELETE FROM `room_accommodation` WHERE `room_id`=?", [$frm_data['room_id']], 'i');
$delete_additionalAccomm = delete("DELETE FROM `room_additionalAccom` WHERE `room_id`=?", [$frm_data['room_id']], 'i');
if(!($delete_accommodation && $delete_additionalAccomm)){
$flag = 0;
}
$q2 = "INSERT INTO `room_accommodation`(`room_id`, `accommodation_id`) VALUES (?, ?)";
if($stmt = mysqli_prepare($con, $q2)){
foreach($accommodation as $a){
mysqli_stmt_bind_param($stmt, 'ii', $frm_data['room_id'], $a);
mysqli_stmt_execute($stmt);
}
$flag = 1;
mysqli_stmt_close($stmt);
} else{
$flag = 0;
die('Query cannot be prepared - insert');
}
//room additional accommodation
$q3 = "INSERT INTO `room_additionalAccom`(`room_id`, `additionalAccom_id`) VALUES (?, ?)";
if($stmt = mysqli_prepare($con, $q3)){
foreach($additional_accomm as $a){
mysqli_stmt_bind_param($stmt, 'ii', $frm_data['room_id'], $a);
mysqli_stmt_execute($stmt);
}
$flag = 1;
mysqli_stmt_close($stmt);
} else{
$flag = 0;
die('Query cannot be prepared - insert');
}
if($flag){
echo 1;
} else{
echo 0;
}
}
if(isset($_POST['toggleStatus'])){
$frm_data = filteration($_POST);
$q = "UPDATE `rooms` SET `status`=? WHERE `id`=?";
$values = [$frm_data['value'], $frm_data['toggleStatus']];
if(update($q, $values, 'ii')){
echo 1;
} else{
echo 0;
}
}
//upload image
if(isset($_POST['add_image'])){
$frm_data = filteration($_POST);
$img_r = uploadImage($_FILES['image'], ROOMS_FOLDER);
if($img_r == 'inv_img'){
echo $img_r;
}
else if($img_r == 'inv_size'){
echo $img_r;
}
else if($img_r == 'upd_failed'){
echo $img_r;
}
else{
$q = "INSERT INTO `room_images`(`room_id`, `image`) VALUES (?, ?)";
$values = [$frm_data['room_id'], $img_r];
$res = insert($q, $values, 'is');
echo $res;
}
}
if(isset($_POST['get_room_images'])){
$frm_data = filteration($_POST);
$res = select("SELECT * FROM `room_images` WHERE `room_id`=?", [$frm_data['get_room_images']], 'i');
$path = ROOM_IMG_PATH;
while($row = mysqli_fetch_assoc($res)){
if($row['upload']==1){
$upload_btn = "<i class='bx bx-check-double' style='color: green; font-size: 30px;'></i>";
} else{
$upload_btn = "<i onclick='upload_image($row[sr_no], $row[room_id])' class='bx bx-check' style='font-size: 30px;'></i>";
}
echo <<< data
<tr>
<td><img src='$path$row[image]' class="img-fluid"/></td>
<td class="text-center">$upload_btn</td>
<td class="text-center">
<button onclick='remove_image($row[sr_no], $row[room_id])' class='btn-cancel'><i class='bx bx-trash' ></i></button>
</td>
</tr>
data;
}
}
if(isset($_POST['remove_image'])){
$frm_data = filteration($_POST);
$values = [$frm_data['image_id'], $frm_data['room_id']];
$pre_q = "SELECT * FROM `room_images` WHERE `sr_no`=? AND `room_id`=?";
$res = select($pre_q, $values, 'ii');
$img = mysqli_fetch_assoc($res);
if(deleteImage($img['image'], ROOMS_FOLDER)){
$q = "DELETE FROM `room_images` WHERE `sr_no`=? AND `room_id`=?";
$res = delete($q, $values, 'ii');
echo $res;
} else{
echo 0;
}
}
if(isset($_POST['upload_image'])){
$frm_data = filteration($_POST);
$pre_q = "UPDATE `room_images` SET `upload`=? WHERE `room_id`=?";
$pre_values = [0, $frm_data['room_id']];
$pre_res = update($pre_q, $pre_values, 'ii');
$q = "UPDATE `room_images` SET `upload`=? WHERE `sr_no`=? AND `room_id`=?";
$values = [1, $frm_data['image_id'], $frm_data['room_id']];
$res = update($q, $values, 'iii');
echo $res;
}
//remove rooms
if(isset($_POST['remove_room'])){
$frm_data = filteration($_POST);
$res1 = select("SELECT * FROM `room_images` WHERE `room_id`=?", [$frm_data['room_id']], 'i');
while($row = mysqli_fetch_assoc($res1)){
deleteImage($row['image'], ROOMS_FOLDER);
}
$res2 = delete("DELETE FROM `room_images` WHERE `room_id`=?", [$frm_data['room_id']], 'i');
$res3 = delete("DELETE FROM `room_accommodation` WHERE `room_id`=?", [$frm_data['room_id']], 'i');
$res4 = delete("DELETE FROM `room_additionalAccom` WHERE `room_id`=?", [$frm_data['room_id']], 'i');
$res5 = update("UPDATE `rooms` SET `removed`=? WHERE `id`=?", [1, $frm_data['room_id']], 'ii');
if($res2 || $res3 || $res4 || $res5){
echo 1;
} else{
echo 0;
}
}
?>