<?php
ob_start();
$pageTitle = 'إدارة الفنادق';
ini_set('serialize_precision', '-1');
include 'init.php';
use classs\ManagerCars;
use classs\ManagerHotels;
use classs\ReservationsManager;
use classs\FileManager;
/* use src\ManagerCars;
use src\FileManager; */
$do = isset($_GET['do']) ? $_GET['do'] : '';
$department_id = 2;
if ($do === 'add') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1 ) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة فندق <i class="fa-solid fa-hotel"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert" method="post">
                        <div class="row">
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="name_hot" class="form-control" placeholder="إسم الفندق" required>
                                    <label for="name_hot" class="form-label">إسم الفندق</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="phone" class="form-control" placeholder="رقم الهاتف">
                                    <label for="phone" class="form-label">رقم الهاتف</label>
                                </div>
                            </div>
                            <div class="col-md-4 mb-4">
                                <div class="form-floating">
                                    <input type="text" name="email" class="form-control" placeholder="البريد الالكترونى">
                                    <label for="email" class="form-label">البريد الالكترونى</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="stars" class="form-control" placeholder="عدد النجوم">
                                    <label for="stars" class="form-label">عدد النجوم</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="country" class="form-control" placeholder="الدولة">
                                    <label for="country" class="form-label">الدولة</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="city" class="form-control" placeholder="المدينة">
                                    <label for="city" class="form-label">المدينة</label>
                                </div>
                            </div>
                            <div class="col-md-6 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="address" class="form-control" placeholder="العنوان">
                                    <label for="address" class="form-label">العنوان</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="time" name="time_in" class="form-control" placeholder="وقت الدخول">
                                    <label for="time_in" class="form-label">وقت الدخول</label>
                                </div>
                            </div>
                            <div class="col-md-4 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="link" class="form-control" placeholder="رابط الموقع الالكترونى">
                                    <label for="link" class="form-label">رابط الموقع الالكترونى</label>
                                </div>
                            </div>
                            <div class="col-md-6 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="disc" class="form-control" placeholder="الوصف">
                                    <label for="disc" class="form-label">الوصف</label>
                                </div>
                            </div>
                            
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="time" name="time_out" class="form-control" placeholder="وقت الخروج">
                                    <label for="time_out" class="form-label">وقت الخروج</label>
                                </div>
                            </div>
                            <!-- <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="cost_centers_id" id="cost_centers_id" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $agentsQuery = "SELECT * FROM cost_centers WHERE cc_lv = 1";
                                        $agentsResult = $con->query($agentsQuery);
                                        echo "<option value=''>اختر مركز التكلفة الرئيسي</option>";
                                        while ($agent = $agentsResult->fetch(PDO::FETCH_ASSOC)) {
                                            echo "<option value='{$agent['ID']}'>{$agent['cost_center_name']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="cost_centers_id" class="form-label">مركز التكلفة:</label>
                                </div>
                            </div> -->
                            <div class="col-md-2 mb-3">
                                <br>
                                <button type="submit" class="btn btn-primary" name="add_hotel">Add Hotel</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert') {
    // معالجة إضافة السيارة الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_hotel'])) {
        $ManagerHotels = new ManagerHotels($con);
        // استلام البيانات من الفورم
        $name_hot = filter_input(INPUT_POST, 'name_hot');
        $phone = filter_input(INPUT_POST, 'phone');
        $email = filter_input(INPUT_POST, 'email');
        $stars = filter_input(INPUT_POST, 'stars');
        $country = filter_input(INPUT_POST, 'country');
        $city = filter_input(INPUT_POST, 'city');
        $address = filter_input(INPUT_POST, 'address');
        $time_in = filter_input(INPUT_POST, 'time_in');
        $link = filter_input(INPUT_POST, 'link');
        $disc = filter_input(INPUT_POST, 'disc');
        $time_out = filter_input(INPUT_POST, 'time_out');
        // $cost_centers_id = filter_input(INPUT_POST, 'cost_centers_id');

        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name_hot)) {
            $formErrors[] = 'لا يجب أن يكون إسم الفندق <strong>فارغ</strong>';
        }
        $stars_options = ['1', '2', '3', '4', '5', '6', '7'];
        if (!in_array($stars, $stars_options)) {
            throw new Exception('قيمة غير صالحة لعدد النجوم.');
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                $con->beginTransaction();
                $lv1 = "";
                $lv2 = "";
                $lv3 = "";
                $lv4 = "";
                $lv5 = "";
                $lvacc = 3;
                $id_lv2 = 101 ;
                $id_lv1 = getId("level_acc", "ID", $id_lv2, "acc_up");
                $lv1 = getName("level_acc", "ID", $id_lv1, "lv1");
                $lv2 = getName("level_acc", "ID", $id_lv2, "lv2");
                $acc_up = $id_lv2;
                $account = $con->prepare("SELECT MAX(CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(lv3, '.', -1), '.', -1) AS UNSIGNED)) AS last_code_account FROM level_acc where lev_acc = 3 AND acc_up = $id_lv2 ");
                $account->execute();
                $result = $account->fetch(PDO::FETCH_ASSOC);
                $last_code_account = $result['last_code_account'];
                    if (!empty($last_code_account)) {
                        $lv3 = $last_code_account + 1;
                        $lv3 = $lv2.".".$lv3;
                    } else {
                        $lv3 = $lv2 . ".1";
                    }
                $lv = $lv3;

                if ($lvacc != 1){
                    $list_account = getId("level_acc", "ID", $id_lv1, "list_account");
                    $nature = getId("level_acc", "ID", $id_lv1, "nature_account");
                }
                $nameacc = $name_hot;
                // Insert Userinfo In Database
                $stmt = $con->prepare("INSERT INTO 
                level_acc(name_account, lev_acc, lv, lv1, lv2, lv3, lv4, lv5, acc_up, nature_account, list_account, user_id_add, DateInsert)
                            VALUES(:zname_account, :zlev_acc, :zlv, :zlv1, :zlv2, :zlv3, :zlv4, :zlv5, :zacc_up, :znature_account, :zlist_account, :zuser_id_add, now()) ");
                $stmt->execute(
                    array(
                    'zname_account' => $nameacc,
                    'zlev_acc' => $lvacc,
                    'zlv' => $lv,
                    'zlv1' => $lv1,
                    'zlv2' => $lv2,
                    'zlv3' => $lv3,
                    'zlv4' => $lv4,
                    'zlv5' => $lv5,
                    'zacc_up' => $acc_up,
                    'znature_account' => $nature,
                    'zlist_account' => $list_account,
                    'zuser_id_add' => $_SESSION['admin']
                    )
                );
                $id_level_acc = $con->lastInsertId();

                // $cost_center_code = getId("cost_centers", "ID", $cost_centers_id, "cost_center_code");
                // $new_cost_center_id = getNextCostCenterCode($con, $cost_center_code, $cost_centers_id, $name_hot);

                $result = $ManagerHotels->insertHotelData(0, $name_hot, $phone, $email, $stars, $country, $city, $address, $time_in, $link, $disc, $time_out, $sessionUser, $id_level_acc);
                $con->commit();
                if ($result) {
                    $theMsg = "تمت إضافة الفندق بنجاح!";
                    redirectlink($theMsg, $url = "hotels?do=all_hotels", $name = "عرض الفنادق", $seconds = 2);
                } else {
                    echo "حدث خطأ أثناء إضافة الفندق.";
                }
            } catch (PDOException $e) {
                $con->rollBack();
                echo "حدث خطأ فى السيرفر أثناء إضافة الفندق: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'edit') {
    if (checkadmin($_SESSION['admin'], $department_id, 4) == 1 ) {
        if (isset($_GET['id']) && is_numeric($_GET['id'])) {
            $car_id = $_GET['id'];

            $ManagerCars = new ManagerCars($con);
            $cars = $ManagerCars->getcarById($car_id);

            if ($cars != null) {
                // استخدم $reservationData لملء حقول النموذج
                ?>
                <div class="container mt-5">
                    <div class="card">
                        <div class="card-header">
                            <h3 class="card-title"><i class="fa-solid fa-bus fa-sm"></i> تعديل بيانات السيارة رقم <?php echo $cars['vehicle_plate_number']; ?> </h3>
                        </div>
                        <div class="card-body">
                            <form action="?do=update" method="post">
                                <input type="hidden" name="car_id" value="<?php echo $cars['ID']; ?>">
                                <div class="row">
                                    <div class="col-md-4 mb-3">
                                        <label for="name_car" class="form-label">اسم السيارة</label>
                                        <input type="text" name="name_car" value="<?php echo $cars['vehicle_model']; ?>" class="form-control">
                                    </div>
                                    <div class="col-md-3 mb-3">
                                        <label for="num_car" class="form-label">رقم السيارة</label>
                                        <input type="text" name="num_car" value="<?php echo $cars['vehicle_plate_number']; ?>" class="form-control">
                                    </div>
                                    <div class="col-md-3 mb-3">
                                        <label for="number_passengers" class="form-label">عدد الركاب</label>
                                        <input type="text" name="number_passengers" value="<?php echo $cars['seating_capacity']; ?>" class="form-control">
                                    </div>
                                    <div class="col-md-2 mb-3">
                                        <br>
                                        <button type="submit" class="btn btn-primary" name="edit_car">save</button>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>

                <?php
                // }
            } else {
                // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
                echo "خطأ: لا يوجدسيارة بهذا الرقم.";
                exit;
            }
        } else {
            // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
            echo "خطأ: يجب تحديد رقم السيارة.";
            exit;
        }
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'update') {
    // معالجة تعديل السيارة
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['edit_car'])) {

        $ManagerCars = new ManagerCars($con);

        // استلام البيانات من الفورم
        $car_id = $_POST['car_id'];
        $name_car           = $_POST['name_car'];
        $num_car            = $_POST['num_car'];
        $number_passengers  = $_POST['number_passengers'];
        // يمكنك إجراء عمليات التحقق هنا
        $formErrors = array();
        if (empty($name_car)) {
            $formErrors[] = 'لا يجب أن يكون إسم السيارة  <strong>فارغ</strong>';
        }
        if (empty($num_car)) {
            $formErrors[] = 'لا يجب أن يكون رقم السيارة <strong>فارغ</strong>';
        }
        if (empty($number_passengers)) {
            $formErrors[] = 'لا يجب أن يكون عدد الركاب <strong>فارغ</strong>';
        }
        // Loop Into Errors Array And Echo It
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }
        if (empty($formErrors)) {
            try {
                // إضافة الحجز باستخدام فئة ReservationsManager
                $result = $ManagerCars->updateCar($car_id, $name_car, $num_car, $number_passengers);
                // $result = $reservationsManager->addReservation($agent_id, $client_id, $arrival_date, $departure_date, $remarks);

                if ($result) {
                    $theMsg = "تم تحديث بيانات السيارة بنجاح!";
                    redirectlink($theMsg, $url = "cars?do=all_cars", $name = "عرض السيارات", $seconds = 0);
                } else {
                    echo "حدث خطأ أثناء تحديث البيانات.";
                }
            } catch (PDOException $e) {
                echo "حدث خطأ أثناء تعديل بيانات السيارة: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'delete') {
    if (checkadmin($_SESSION['admin'], $department_id, 5) == 1 ) {
        // معالجة حذف الحجز
        echo "<h3 class='text-center'>حذف</h3>";
        echo "<div class='container'>";
        // Check If Get Request id Is Numeric & Get The Integer Value Of It
        $id = isset($_GET['id']) && is_numeric($_GET['id']) ? intval($_GET['id']) : 0;
        // Select All Data Depend On This ID
        $check = checkItem('id', 'vehicles', $id);
        // If There's Such ID Show The Form
        if ($check > 0) {
            $stmt = $con->prepare("DELETE FROM vehicles WHERE ID = :zid");
            $stmt->bindParam(":zid", $id);
            $stmt->execute();
            $theMsg = "<div class='alert alert-success'>" . $stmt->rowCount() . ' تم الحذف بنجاح</div>';
            redirectlink($theMsg, $url = "cars?do=all_cars", $name = "عرض السيارات", $seconds = 0);
        } else {
            $theMsg = '<div class="alert alert-danger">برجاء إتباع رابط صحيح</div>';
            redirectHome($theMsg);
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectlink($theMsg, $url = "cars?do=all_cars", $name = "عرض السيارات", $seconds = 3);
    }
    echo '</div>';
} elseif ($do === 'all_hotels') {
    if (checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
        ?>
        <h1 class="input-group-text text-center">إدارة الفنادق</h1>
        <br>
        <?php
        $ManagerHotels = new ManagerHotels($con);
        $Hotels = $ManagerHotels->getAll();
        $msgres = "لا توجد بيانات.";
        if (!empty($Hotels)) {
            echo '<form id="discount_booking" action="?do=insert_discount_booking" method="post"></form>';
            echo '<form id="payment_percentage" action="?do=insert_payment_percentage" method="post">';
            echo '';
            echo "<table class='main-table text-center table table-bordered'>";
            echo '<tr>
                <td>اسم الفندق</td>
                <td>العنوان</td>
                <td>عدد النجوم</td>
                <td>الوصف</td>
                <td>البريد الإلكترونى</td>
                <td>رقم الهاتف</td>
                <td>الموقع الإلكترونى</td>
                <td>فرد مجانى على كل - <button form="discount_booking" type="submit" class="btn btn-success" name="save_discount_booking">حفظ</button></td>
                <td>نسبة الدفعة الاولى <button form="payment_percentage" type="submit" class="btn btn-success" name="save_payment_percentage">حفظ</button></td>
                <td>Control</td>
            </tr>';
            foreach ($Hotels as $reservation) {
                $maxWords = 30; // تحديد عدد الكلمات المطلوب عرضها
                // استخراج الكلمات من الوصف
                $descriptionWords = explode(' ', $reservation['description']);
                // احتفاظ بعدد معين من الكلمات
                $limitedDescription = implode(' ', array_slice($descriptionWords, 0, $maxWords));
                
                $discount_from = getId('hotel_discount_booking', 'id_hotel', $reservation['ID'], 'discount_from');
                $payment_percentage = getId('hotel_conditions', 'id_hotels', $reservation['ID'], 'payment_percentage');

                $input_discount_booking = '<div class="input-group mb-3"><input form="discount_booking" type="text" name="discount_booking['.$reservation["ID"].']" value="'.$discount_from.'" class="form-control form-control-sm" title="ادخل عدد الافراد" placeholder="عدد الافراد"><span class="input-group-text" id="basic-addon1">فرد</span></div>';
                $input_payment_percentage = '<div class="input-group mb-3"><input form="payment_percentage" type="text" name="payment_percentage['.$reservation["ID"].']" value="'.$payment_percentage.'" class="form-control form-control-sm" title="نسبة الدفعة الاولى للفندق" placeholder="النسبة"><span class="input-group-text" id="basic-addon1">%</span></div>';
                echo "<tr>
                    <td>{$reservation['hotel_name']}</td>
                    <td>{$reservation['location']}</td>
                    <td>{$reservation['stars']} <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-star-fill\" viewBox=\"0 0 16 16\">
                    <path d=\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"/>
                  </svg></td>
                    <td style=\"width: 300px; max-width: 300px;\">
                        <div class='short-description' style='display: inline'>{$limitedDescription}</div>
                        <div class='full-description' style='display: none;'>{$reservation['description']}</div>
                        <a class='btn btn-outline-info' onclick='toggleDescription(this)'>أكثر</a>
                    </td>
                    <td>{$reservation['contact_email']}</td>
                    <td>{$reservation['contact_phone']}</td>
                    <td>{$reservation['website_url']}</td>
                    <td>{$input_discount_booking}</td>
                    <td>{$input_payment_percentage}</td>";
                /* if (checkadmin($_SESSION['admin'], 2, 2) == 2 || checkadmin($_SESSION['admin'], 1, 0) == 0 || checkadmin($_SESSION['admin'], 2, 1) == 1) {
                    echo "<td>
                    <a href='?do=all_data_hotel&id=" . $reservation['ID'] . "' class='btn btn-primary'><i class=\"fa-solid fa-gear\"></i></i></i> </a>
                </td>";
                } */
                echo "</tr>";
                ?>
                <script>
                    function toggleDescription(button) {
                        var row = button.closest('tr');
                        var shortDescription = row.querySelector('.short-description');
                        var fullDescription = row.querySelector('.full-description');

                        if (shortDescription.style.display === 'none') {
                            shortDescription.style.display = 'inline';
                            fullDescription.style.display = 'none';
                            button.innerText = 'أكثر';
                        } else {
                            shortDescription.style.display = 'none';
                            fullDescription.style.display = 'inline';
                            button.innerText = 'أقل';
                        }
                    }
                </script>
                <?php
            }
            echo "</table>";
            echo "</form>";
            echo "</form>";
        } else {
            echo $msgres;
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectHome($theMsg);
    }
} elseif ($do === 'all_data_hotel') {
    if (checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
        if (isset($_GET['id']) && is_numeric($_GET['id'])) {
            $car_id = $_GET['id'];
            $ManagerCars = new ManagerCars($con);
            $carDatas = $ManagerCars->getcarById($car_id);
            // $file_number = explode("/", $reservationDatas['file_number']);
            ?>
            <h1 class="input-group-text text-center">بيان تحليل ايراد السيارة <?php echo $carDatas['vehicle_model']; ?> رقم  : <?php echo $carDatas['vehicle_plate_number']; ?>
            </h1>
            <form action="?do=all_data_car&id=<?=$car_id?>" method="post">
                    <div class="row">
                        <div class="form-group form-group-lg col-sm-3">
                            <div class="col-sm-12">
                                <label for="start_date" class="control-label">من تاريخ:</label>
                                <input type="date" name="start_date" class="form-control" value="<?php echo $start_date_default; ?>"
                                    required>
                            </div>
                        </div>
                        <div class="form-group form-group-lg col-sm-3">
                            <div class="col-sm-12">
                                <label for="end_date" class="control-label">الى تاريخ:</label>
                                <input type="date" name="end_date" class="form-control" value="<?php echo $end_date_default; ?>"
                                    required>
                            </div>
                        </div>
                        <div class="form-group form-group-lg col-sm-1">
                            <div class="col-sm-12">
                                <label></label>
                                <button type="submit" class="btn btn-primary form-control" name="view_cars">بحث</button>
                            </div>
                        </div>
                        <div class="form-group form-group-lg col-sm-1">
                            
                        </div>
                    </div>
                </form>
            <a href="?do=add_exp&id=<?=$car_id?>" class="btn btn-primary">
                <i class="fa fa-plus"></i> إضافة مصاريف
            </a>
            <a href="?do=add_rev&id=<?=$car_id?>" class="btn btn-primary">
                <i class="fa fa-plus"></i> أمر تشغيل جديد
            </a>
            <br>
            <?php
            if ($carDatas != null) {
                if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['view_cars'])) {
                    $start_date = $_POST['start_date'];
                    $end_date = $_POST['end_date'];
                    $carrevenues = $ManagerCars->getRecordsByIdCar($car_id, 5, $start_date, $end_date);
                    $carexpenses = $ManagerCars->getRecordsByIdCar($car_id, 4);
                } else {
                    /* $start_date = $start_date_default;
                    $end_date = $end_date_default; */
                    $carrevenues = $ManagerCars->getRecordsByIdCar($car_id, 5);
                    $carexpenses = $ManagerCars->getRecordsByIdCar($car_id, 4);
                }
                ?>
                <h1 class="input-group-text text-center">بيان تحليل ايراد السيارة
                </h1>
                <br>
                <?php
                echo "<table class='main-table text-center table table-bordered'>";
                echo "<tr>
                        <td>التاريخ</td>
                        <td>البيان</td>
                        <td>الشركة المستأجرة</td>
                        <td>اسم السائق</td>
                        <td>المبلغ</td>
                    </tr>";
                    $allrevamountUSD = 0;
                    foreach ($carrevenues as $carrevenue) {
                        $allrevamountUSD += $carrevenue['amountUSD'];
                        echo "<tr>
                            <td>{$carrevenue['date_operation']}</td>
                            <td>{$carrevenue['payan']}</td>
                            <td>{$carrevenue['id_operator']}</td>
                            <td>{$carrevenue['driver_name']}</td>
                            <td>\${$carrevenue['amountUSD']}</td>";
                        echo "</tr>";
                    }
                    $allrevamountUSD = (strpos($allrevamountUSD, '.') !== false) ? rtrim($allrevamountUSD, '0') : $allrevamountUSD . '.00';
                    echo "<tr>
                        <td>الإجمالى</td>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>\${$allrevamountUSD}</td>";
                    echo "</tr>";
                echo "</table>";
                ?>
                <h1 class="input-group-text text-center">بيان مصاريف السيارة
            </h1>
            <br>
            <?php
                echo "<table class='main-table text-center table table-bordered'>";
                echo "<tr>
                        <td>التاريخ</td>
                        <td>البيان</td>
                        <td>البند</td>
                        <td>السائق</td>
                        <td>المبلغ</td>
                    </tr>";
                $allexpamountUSD = 0;
                foreach ($carexpenses as $carexpense) {
                    $allexpamountUSD += $carexpense['amountUSD'];
                    echo "<tr>
                        <td>{$carexpense['date_operation']}</td>
                        <td>{$carexpense['payan']}</td>
                        <td>{$carexpense['id_operator']}</td>
                        <td>{$carexpense['driver_name']}</td>
                        <td>\${$carexpense['amountUSD']}</td>";
                    echo "</tr>";
                }
                $allexpamountUSD = (strpos($allexpamountUSD, '.') !== false) ? rtrim($allexpamountUSD, '0') : $allexpamountUSD . '.00';
                echo "<tr>
                        <td>الإجمالى</td>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>\${$allexpamountUSD}</td>";
                    echo "</tr>";
                echo "</table>";
            } else {
                // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
                echo "خطأ: لا يوجد سيارة بهذا الرقم.";
                exit;
            }
        } else {
            // رسالة خطأ أو إعادة توجيه إلى صفحة خطأ
            echo "خطأ: يجب تحديد رقم السيارة.";
            exit;
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectHome($theMsg);
    }
} elseif ($do === 'all_drivers') {
    if (checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
        ?>
        <h1 class="input-group-text text-center">عرض بيانات السيارات</h1>
        <form action="?do=all_file" method="post">
            <div class="row">
                
                <div class="form-group form-group-lg col-sm-1">
                </div>
                <div class="form-group form-group-lg col-sm-3">
                    <label></label>
                    <a href="?do=add" class="btn btn-warning form-control">
                        <i class="fa-solid fa-bus fa-xl"></i> إضافة سيارة جديد
                    </a>
                </div>
            </div>
        </form>
        <br>
        <?php
        $ManagerCars = new ManagerCars($con);
        
            $cars = $ManagerCars->getAll();
            $msgres = "No reservations found.";
        
        if (!empty($cars)) {
            echo "<table class='main-table text-center table table-bordered'>";
            echo "<tr>
                <td>اسم السيارة</td>
                <td>رقم السيارة</td>
                <td>سعة السيارة</td>
                <td>Control</td>
            </tr>";
            foreach ($cars as $car) {
                echo "<tr>
                    <td>{$car['vehicle_model']}</td>
                    <td>{$car['vehicle_plate_number']}</td>
                    <td>{$car['seating_capacity']} <i class='fa-solid fa-users-between-lines fa-xl'></i></td>";
                if ( checkadmin($_SESSION['admin'], $department_id, 2) == 1 ) {
                    echo "<td>
                    <a href='?do=all_data_car&id=" . $car['ID'] . "' class='btn btn-primary'><i class=\"fa-solid fa-gear\"></i></i></i> </a>
                    <a href='?do=edit&id=" . $car['ID'] . "' class='btn btn-success'><i class=\"fa-solid fa-user-pen\"></i></i> </a>
                    <a href='?do=delete&id=" . $car['ID'] . "' class='btn btn-danger confirm'><i class='fa-solid fa-user-xmark'></i></i> </a>
                </td>";
                }
                echo "</tr>";
            }
            echo "</table>";
        } else {
            echo $msgres;
        }
    } else {
        $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
        redirectHome($theMsg);
    }
} elseif ($do === 'insert_in_car') {
    // معالجة إضافة الحجز الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        if (isset($_POST['add_numper'])) {
            $FileManager = new FileManager($con);
            // استلام البيانات من الفورم
            $reservation_id = $_POST['reservation_id'];
            $id_persons = $_POST['id_persons'];
            $numper = $_POST['numper'];
            $age_person = $_POST['age_person'];
            // يمكنك إجراء عمليات التحقق هنا
            $formErrors = array();
            if (empty($reservation_id)) {
                $formErrors[] = 'لا يوجد <strong>رقم ملف</strong>';
            }
            if (empty($id_persons)) {
                $formErrors[] = 'برجاء إختر <strong>الشخص</strong>';
            }
            if (empty($numper)) {
                $formErrors[] = 'لا يجب أن يكون عدد الأفراد <strong>فارغ</strong>';
            }
            // Loop Into Errors Array And Echo It
            foreach ($formErrors as $error) {
                echo '<div class="alert alert-danger">' . $error . '</div>';
            }
            if (empty($formErrors)) {
                try {
                    $result = $FileManager->addNewNumberIndividuals($reservation_id, $id_persons, $numper, $age_person);
                    if ($result) {
                        $theMsg = "تمت إضافة الأشخاص بنجاح!";
                        redirectlink($theMsg, $url = "reservations?do=all_data_file&id=" . $reservation_id, $name = "عرض الملف", $seconds = 0);
                    } else {
                        echo "حدث خطأ أثناء الإضافة.";
                    }
                } catch (PDOException $e) {
                    echo "حدث خطأ أثناء إضافة الحجز: " . $e->getMessage();
                }
            }
        } elseif (isset($_POST['hotel_booking'])) {
            $FileManager = new FileManager($con);
            // استلام البيانات من الفورم
            $reservation_id = $_POST['reservation_id'];
            $id_hotels = $_POST['id_hotels'];
            $id_room_type = $_POST['id_room_type'];
            $rooms_numper = $_POST['rooms_numper'];
            $disc = $_POST['disc'];
            $check_in_date = $_POST['check_in_date'];
            $check_out_date = $_POST['check_out_date'];
            $price = $_POST['price'];
            // يمكنك إجراء عمليات التحقق هنا
            $formErrors = array();
            if (empty($reservation_id)) {
                $formErrors[] = 'لا يوجد <strong>رقم ملف</strong>';
            }
            if (empty($id_hotels)) {
                $formErrors[] = 'برجاء إختر <strong>الفندق</strong>';
            }
            if (empty($id_room_type)) {
                $formErrors[] = 'برجاء تحديد نوع<strong>الغرفة</strong>';
            }
            if (empty($rooms_numper)) {
                $formErrors[] = 'لا يجب أن يكون عدد الغرف <strong>فارغ</strong>';
            }
            if (empty($price)) {
                $formErrors[] = 'لا يجب أن يكون سعر الغرفة <strong>فارغ</strong>';
            }
            // Loop Into Errors Array And Echo It
            foreach ($formErrors as $error) {
                echo '<div class="alert alert-danger">' . $error . '</div>';
            }
            if (empty($formErrors)) {
                try {
                    // $RoomPrice_id = $FileManager->addRoomPrice($id_hotels, $id_room_type, $disc, $price);

                    $result = $FileManager->addHotelBooking($reservation_id, $id_hotels, $RoomPrice_id, $rooms_numper, $check_in_date, $check_out_date);
                    if ($result) {
                        $theMsg = "تمت إضافة الحجز بنجاح!";
                        redirectlink($theMsg, $url = "reservations?do=all_data_file&id=" . $reservation_id, $name = "عرض الملف", $seconds = 0);
                    } else {
                        echo "حدث خطأ أثناء الإضافة.";
                    }
                } catch (PDOException $e) {
                    echo "حدث خطأ أثناء إضافة الحجز: " . $e->getMessage();
                }
            }
        }

    }
} elseif ($do === 'add_driver') {
    if (checkadmin($_SESSION['admin'], $department_id, 3) == 1 ) {
        ?>
        <div class="container mt-5">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إضافة سائق <i class="fa-solid fa-bus"></i></h3>
                </div>
                <div class="card-body">
                    <form action="?do=insert_driver" method="post">
                        <div class="row">
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="name_driver" class="form-control" placeholder="<?= $lang['name_driver'] ?>">
                                    <label for="name_driver" class="form-label"><?= $lang['name_driver'] ?></label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="num_driver" class="form-control" placeholder="رقم الرخصة ?>">
                                    <label for="num_driver" class="form-label">رقم الرخصة</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <div class="form-floating">
                                    <input type="text" name="phone" class="form-control" placeholder="رقم الهاتف">
                                    <label for="phone" class="form-label">رقم الهاتف</label>
                                </div>
                            </div>
                            <div class="col-md-3 mb-3">
                                <div class="form-floating">
                                    <select name="car_id" class="form-select" required>
                                        <?php
                                        // Query to retrieve agents from the agents table
                                        $agentsQuery = "SELECT * FROM vehicles";
                                        $agentsResult = $con->query($agentsQuery);
                                        echo "<option value=''>اختر السيارة</option>";
                                        while ($agent = $agentsResult->fetch(PDO::FETCH_ASSOC)) {
                                            echo "<option value='{$agent['ID']}'>{$agent['vehicle_model']} - {$agent['vehicle_plate_number']}</option>";
                                        }
                                        ?>
                                    </select>
                                    <label for="car_id" class="form-label">السيارة:</label>
                                </div>
                            </div>
                            <div class="col-md-2 mb-3">
                                <br>
                                <button type="submit" class="btn btn-primary" name="add_driver">Add Driver</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    }
} elseif ($do === 'insert_payment_percentage') {
    // معالجة إضافة السيارة الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_payment_percentage'])) {
        
        $payment_percentage = $_POST['payment_percentage'];
        $formErrors = array();
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }

        if (empty($formErrors)) {
            try {
                foreach ($payment_percentage as $key => $value) {
                    $count = checkItem('id_hotels', 'hotel_conditions', $key);
                    if ($count > 0) {
                        $sql = "UPDATE hotel_conditions
                                SET payment_percentage = :payment_percentage
                                WHERE id_hotels = :id_hotels";
                        $stmt = $con->prepare($sql);
                        $stmt->bindParam(':payment_percentage', $value);
                        $stmt->bindParam(':id_hotels', $key);
                        $stmtret = $stmt->execute();
                        // echo 'تعديل <br>';
                    } else {
                        $hotel_conditions = "INSERT INTO hotel_conditions (id_hotels, payment_percentage) 
                                                            VALUES (:id_hotels, :payment_percentage)";
                        $hotel_conditionsStmt = $con->prepare($hotel_conditions);
                        $hotel_conditionsStmt->bindParam(':id_hotels', $key);
                        $hotel_conditionsStmt->bindParam(':payment_percentage', $value);
                        $stmtret = $hotel_conditionsStmt->execute();
                        // echo 'اضافة '.$value.' <br>';
                    }
                    // echo $count . '<br>';
                }

                if ($stmtret) {
                    $theMsg = "تمت إضافة النسب بنجاح!";
                    redirectlink($theMsg, $url = "hotels?do=all_hotels", $name = "عرض الفنادق", $seconds = 0);
                } else {
                    echo "حدث خطأ أثناء إضافة النسب.";
                }
            } catch (PDOException $e) {
                echo "حدث خطأ فى السيرفر أثناء إضافة النسب: " . $e->getMessage();
            }
        }
    }
} elseif ($do === 'insert_discount_booking') {
    // معالجة إضافة السيارة الجديد
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_discount_booking'])) {
        
        $discount_booking = $_POST['discount_booking'];
        $formErrors = array();
        foreach ($formErrors as $error) {
            echo '<div class="alert alert-danger">' . $error . '</div>';
        }

        if (empty($formErrors)) {
            try {
                foreach ($discount_booking as $key => $value) {
                    $count = checkItem('id_hotel', 'hotel_discount_booking', $key);
                    if ($count > 0) {
                        $sql = "UPDATE hotel_discount_booking
                                SET discount_from = :discount_from
                                WHERE id_hotel = :id_hotel";
                        $stmt = $con->prepare($sql);
                        $stmt->bindParam(':discount_from', $value);
                        $stmt->bindParam(':id_hotel', $key);
                        $stmtret = $stmt->execute();
                        echo 'تعديل <br>';
                    } else {
                        $hotel_conditions = "INSERT INTO hotel_discount_booking (id_hotel, discount_from) 
                                                            VALUES (:id_hotel, :discount_from)";
                        $hotel_conditionsStmt = $con->prepare($hotel_conditions);
                        $hotel_conditionsStmt->bindParam(':id_hotel', $key);
                        $hotel_conditionsStmt->bindParam(':discount_from', $value);
                        $stmtret = $hotel_conditionsStmt->execute();
                        echo 'اضافة '.$value.' <br>';
                    }
                    // echo $count . '<br>';
                }

                // if ($stmtret) {
                //     $theMsg = "تمت إضافة العدد بنجاح!";
                //     redirectlink($theMsg, $url = "hotels?do=all_hotels", $name = "عرض الفنادق", $seconds = 0);
                // } else {
                //     echo "حدث خطأ أثناء إضافة العدد.";
                // }
            } catch (PDOException $e) {
                echo "حدث خطأ فى السيرفر أثناء إضافة العدد: " . $e->getMessage();
            }
        }
    }
} else {
    $theMsg = '<div class="alert alert-danger">ليس لديك صلاحية الدخول الى هذا القسم</div>';
    redirectHome($theMsg);
}

include $tpl . 'footer.php';
?>