403Webshell
Server IP : 103.234.187.230  /  Your IP : 216.73.216.216
Web Server : Apache
System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/uatb2c.hellogtx.com/public/js/ng/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/uatb2c.hellogtx.com/public/js/ng/hotel-search-result.js
app.filter('sumOfValue', function () {
    return function (data, key) {
        if (angular.isUndefined(data) || angular.isUndefined(key))
            return 0;
        var sum = 0;
        angular.forEach(data, function (value) {
            sum = sum + parseInt(value[key], 10);
        });
        return sum;
    }
});

app.directive('checkImage', function () {
    return {
        link: function (scope, element, attrs) {
            element.bind('error', function () {
                element.attr('src', '/public/images/hotel_placeholder.png'); // set default image
            });
        }
    }
});


app.controller("HotelListingController", ['$scope', '$http', '$location', '$filter', '$window', '$timeout', function ($scope, $http, $location, $filter, $window, $timeout) {

    //var url = SITEURL+"public/data/dynamic/finalresultflight.json";
    var url = SITEURL + "hotels/index/gethotelsearch";
    $scope.caseData = null;
    $scope.loadingCar = true;
    $scope.loadingHotelMore = true;
    $scope.FilterloadingCar = false;
    $scope.retryInSecond = false;

    $scope.loadingHotel = true;
    $scope.FilterloadingHotel = true;
    $scope.totalHotel = 0;
    $scope.class_status = false;
    $scope.reverse = false;
    $scope.totalAmount = 'totalAmount';

    $scope.hotelName = [];
    $scope.hotelStars_ = [];
    $scope.hotelStars = [];
    $scope.hotelCategory = [];
    $scope.hotelMeal = [];
    $scope.hotelProperty = [];
    $scope.arrPriceUnique = [];
    $scope.resultSet = [];
    $scope.hotelPriceRange = [];

    var absUrl = $location.absUrl();
    var sURLVariables = absUrl.split('?');
    //////console.log(sURLVariables);

    //alert(url);

    $scope.gethotelsearchList = function () {
        var searchids = JSON.parse($('#searchidarr').val());
        var absUrl = $location.absUrl();

        var index = 1;
        angular.forEach(searchids, function (value, key) {
            $http({
                method: "POST",
                url: url,
                data: 'SearchQueryid=' + value,
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                    'X-Requested-With': 'XMLHttpRequest'
                }
            }).then(function successCallback(response) {
                console.log(response.data);

                if (response.data) {
                    $('#hotellistingDiv').show();
                    $scope.listHotel = response.data.searchResult;
                    $scope.resultSet = $scope.resultSetFilter = $scope.resultSet.concat($scope.listHotel);

                    $scope.loadingCar = false;
                    $scope.retryInSecond = false;
                    $scope.FilterloadingCar = false;
                    $scope.hotelPriceRange = $scope.hotelPriceRange.concat(response.data.hotelPriceRange);

                    $scope.hotelName = $scope.hotelName.concat(response.data.hotelName);
                    $scope.hotelStars_ = $scope.hotelStars_.concat(response.data.hotelStars);

                    $scope.hotelStars = [$scope.hotelStars_.flat().filter(arr => arr.length !== 0).reverse()];  // Reverse order

                    console.log($scope.hotelStars);
                    console.log("hotelStars====");
                    // $scope.hotelCategory = $scope.hotelCategory.concat(response.data.hotelCategory[0]);
                    $scope.hotelMeal = [...new Set($scope.hotelMeal.concat(response.data.hotelMeal[0]))];
                    $scope.hotelProperty = [...new Set($scope.hotelProperty.concat(response.data.hotelProperty[0]))];


                    $scope.MinPriceRange = Math.min.apply(null, $scope.hotelPriceRange);
                    $scope.MaxPriceRange = Math.max.apply(null, $scope.hotelPriceRange);

                    // $scope.MinPriceRange = response.data.MinPriceRange;
                    // $scope.MaxPriceRange = response.data.MaxPriceRange;

                    $('#priceRage').val($scope.MinPriceRange + '-' + $scope.MaxPriceRange);

                    $('.domestround').show();
                    $('#slide_amount').html('<span>' + response.data.CurrencyTitle + ' ' + $scope.MinPriceRange + '</span> <span class="rightprice">' + response.data.CurrencyTitle + ' ' + $scope.MaxPriceRange + '</span>');

                    $("#slider-range").slider({
                        range: true,
                        min: $scope.MinPriceRange,
                        max: $scope.MaxPriceRange,
                        values: [$scope.MinPriceRange, $scope.MaxPriceRange],
                        slide: function (event, ui) {
                            $("#slide_amount").html('<span>' + response.data.CurrencyTitle + ' ' + ui.values[0] + "</span> <span class='rightprice'>" + response.data.CurrencyTitle + ' ' + ui.values[1] + '</span>');

                            // Get values
                            var min = ui.values[0];
                            var max = ui.values[1];
                            $('#priceRage').val(min + '-' + max);
                            $scope.MinPriceRange = min;
                            $scope.MaxPriceRange = max;
                        }
                    });
                }
            }, function errorCallback(response) {

            }).finally(function () {
                $scope.orderby = 'averageRoomPrice';
                $scope.orderval = false;
                $scope.limit = 10;
                $scope.totalHotels = $scope.resultSet.length;
                if (searchids.length === index) {
                    $scope.loadingHotelMore = false;
                }
                index++;
            });
        });



        // $http({
        //     method: "POST",
        //     url: url,
        //     data: sURLVariables[1],
        //     headers: {
        //         'Content-Type': 'application/x-www-form-urlencoded',
        //         'X-Requested-With': 'XMLHttpRequest'
        //     }
        // }).then(function successCallback(response) {


        //     $scope.hotelName = response.data.hotelName;
        //     $scope.hotelStars = response.data.hotelStars;
        //     $scope.FilterStarRating = response.data.FilterStarRating;
        //     $scope.hotelCategory = response.data.hotelCategory;
        //     $scope.hotelMeal = response.data.hotelMeal;
        //     $scope.hotelProperty = response.data.hotelProperty;

        //     $scope.hotelPriceRange = response.data.hotelPriceRange;

        //     $scope.MinPriceRange = response.data.MinPriceRange;
        //     $scope.MaxPriceRange = response.data.MaxPriceRange;

        //     $('#priceRage').val($scope.MinPriceRange + '-' + $scope.MaxPriceRange);
        //     $('.domestround').show();
        //     $('#slide_amount').html('<span>' + response.data.CurrencyTitle + ' ' + $scope.MinPriceRange + '</span> <span class="rightprice">' + response.data.CurrencyTitle + ' ' + $scope.MaxPriceRange + '</span>');

        //     if(dvc === 'm'){
        //         $('.mobile_footer_bottomcontinuefixed').show();
        //     }
        //     $("#slider-range").slider({
        //         range: true,
        //         min: $scope.MinPriceRange,
        //         max: $scope.MaxPriceRange,
        //         values: [$scope.MinPriceRange, $scope.MaxPriceRange],
        //         slide: function (event, ui) {
        //             $("#slide_amount").html('<span>' + response.data.CurrencyTitle + ' ' + ui.values[0] + "</span> <span class='rightprice'>" + response.data.CurrencyTitle + ' ' + ui.values[1] + '</span>');

        //             // Get values
        //             var min = ui.values[0];
        //             var max = ui.values[1];
        //             $('#priceRage').val(min + '-' + max);
        //             $scope.MinPriceRange = min;
        //             $scope.MaxPriceRange = max;
        //         }
        //     });
        //     if (response.data.searchResult.length > 0) {
        //         $('#hotellistingDiv').show();
        //         // $('.filter-box').show();

        //         if(response.data.gtxagencysysid == 1){
        //             // $scope.flightlistOutbound = $scope.resultsetFullOut = $scope.listOutbound.concat($scope.flightlistOutbound);
        //             $scope.resultSet = $scope.resultSetFilter = response.data.searchResult.cancat($scope.resultSet);
        //         }else{
        //             $scope.resultSet = $scope.resultSetFilter = response.data.searchResult;
        //         }


        //     } else {
        //         $('.noresultfound').show();
        //     }

        //     //////console.log(response.data.searchResult.length);

        //     //$('#TempResultData').val(JSON.stringify(response.data.searchResult));
        //     //////console.log(response.data);
        //     if (response.data.retryInSecond > 0) {
        //         $scope.retryInSecond = true;
        //         $timeout($scope.gethotelsearchList(), 2000);
        //         if (response.data.searchResult.length == 0) {
        //             $scope.loadingCar = true;
        //             $scope.FilterloadingCar = true;
        //             $scope.retryInSecond = false;
        //         } else {
        //             $scope.loadingCar = false;
        //             $scope.FilterloadingCar = false;
        //         }
        //         //$scope.gethotelsearchList();
        //         //$scope.TempResultData = JSON.parse($('#TempResultData').val());

        //         //$scope.resultSet = $scope.resultSetFilter = $scope.TempResultData;
        //     } else {
        //         $scope.loadingCar = false;
        //         $scope.FilterloadingCar = false;
        //         $scope.retryInSecond = false;
        //     }

        // }, function errorCallback(response) {

        // }).finally(function () {
        //     // $scope.loadingCar = false;
        //     //$scope.FilterloadingCar = false;
        //     $scope.orderby = 'totalAmount';
        //     $scope.orderval = false;
        //     $scope.limit = 15; // total result
        //     $scope.totalHotels = $scope.resultSet.length; // total result
        //     ////console.log($scope.Cars);
        // });

    };

    $scope.gethotelsearchList();

    $scope.loadMoreNew = function () {
        if ($scope.FilterloadingCar === false) {
            if ($scope.limit + 10 < $scope.resultSet.length) {
                $scope.limit += 10;
            } else {
                $scope.limit = $scope.resultSet.length;
            }
        }
    };
    $scope.sortBy = function (averageRoomPrice) {
        $scope.reverse = ($scope.averageRoomPrice === averageRoomPrice) ? !$scope.reverse : false;
        $scope.averageRoomPrice = averageRoomPrice;
    };

    $scope.filterData = function () {
        // declare the variable here
        var filterSTR = { 'hotelName': [], 'hotelStars': [], 'hotelCategory': [], 'hotelMeal': [], 'hotelProperty': [], 'price': [] };
        angular.element('.filter-box input:checkbox').each(function () {
            if ($(this).is(":checked")) {

                if ($(this).hasClass('filter-hotelName')) {
                    filterSTR.hotelName.push($(this).val());
                } else if ($(this).hasClass('filter-hotelStars')) {
                    filterSTR.hotelStars.push($(this).val());
                } else if ($(this).hasClass('filter-hotelCategory')) {
                    filterSTR.hotelCategory.push($(this).val());
                } else if ($(this).hasClass('filter-hotelMeal')) {
                    filterSTR.hotelMeal.push($(this).val());
                } else if ($(this).hasClass('filter-hotelProperty')) {
                    filterSTR.hotelProperty.push($(this).val());
                } else if ($(this).hasClass('filter-price')) {
                    filterSTR.price.push($(this).val());
                }

            }
        });

        var filterprice = $('#priceRage').val();
        filterSTR.price.push(filterprice);
        // if filter has any value
        if ((filterSTR.hotelName.length > 0) || (filterSTR.hotelStars.length > 0) || (filterSTR.hotelCategory.length > 0) || (filterSTR.hotelMeal.length > 0) || (filterSTR.hotelProperty.length > 0) || (filterSTR.price.length > 0)) {
            // //console.log(filterSTR);
            $scope.resultSet = this.filterFromArray($scope.resultSetFilter, filterSTR);
        } else {
            $scope.resultSet = $scope.resultSetFilter;
            // //console.log($scope.resultSet);
        }
    };





    $scope.filterFromArray = function (data, filterSTR) {

        //////console.log(filterSTR);
        var resultsetFiltered = [];
        resultsetFiltered = $scope.applyHotelMealFilter(data, filterSTR.hotelMeal);
        resultsetFiltered = $scope.applyHotelPropertyFilter(resultsetFiltered, filterSTR.hotelProperty);
        resultsetFiltered = $scope.applyHotelStarsFilter(resultsetFiltered, filterSTR.hotelStars);
        resultsetFiltered = $scope.applyPriceRangeFilter(resultsetFiltered, filterSTR.price);
        //////console.log(filterSTR.price);

        /* resultsetFiltered = $scope.applyHotelNameFilter(resultsetFiltered, filterSTR.hotelName);
         resultsetFiltered = $scope.applyHotelStarsFilter(resultsetFiltered, filterSTR.hotelStars);
         resultsetFiltered = $scope.applyHotelCategoryFilter(resultsetFiltered, filterSTR.hotelCategory);
         resultsetFiltered = $scope.applyHotelPropertyFilter(resultsetFiltered, filterSTR.hotelProperty);
         resultsetFiltered = $scope.applyPriceRangeFilter(resultsetFiltered, filterSTR.price);*/
        //////console.log(filterSTR.price);
        return resultsetFiltered;
    };




    $scope.applyHotelStarsFilter = function (data, stararray) {
        //number of nights
        //////console.log(data);
        var resultsetFiltered = [];
        if (stararray.length == 0) {
            return data;
        }
        $.each(data, function (index, element) {
            if (stararray.length > 0) {
                $.each(stararray, function (indexinn, elementinn) {
                    if (elementinn == element.StarRating) {
                        resultsetFiltered.push(element);
                    }
                });
            }
        });
        return resultsetFiltered;
    };

    $scope.applyHotelPropertyFilter = function (data, nightArr) {
        //number of nights
        //////console.log(data);
        var resultsetFiltered = [];
        if (nightArr.length == 0) {
            return data;
        }
        $.each(data, function (index, element) {
            if (nightArr.length > 0) {

                $.each(nightArr, function (indexinn, elementinn) {

                    if (elementinn == element.HotelPropertyType) {
                        resultsetFiltered.push(element);
                    }
                });
            }
        });
        return resultsetFiltered;
    };

    $scope.applyHotelCategoryFilter = function (data, nightArr) {
        //number of nights
        //////console.log(data);
        var resultsetFiltered = [];
        if (nightArr.length == 0) {
            return data;
        }
        $.each(data, function (index, element) {
            if (nightArr.length > 0) {
                // ////console.log(element);
                $.each(nightArr, function (indexinn, elementinn) {
                    if (elementinn == element.seatingCapacity) {
                        resultsetFiltered.push(element);
                    }
                });
            }
        });
        return resultsetFiltered;
    };


    $scope.applyHotelMealFilter = function (data, nightArr) {
        var resultsetFiltered = [];
        if (nightArr.length == 0) {
            return data;
        }
        $.each(data, function (index, element) {
            if (nightArr.length > 0) {
                var HotelRoom = [];
                $.each(element.HotelRoomFaciality, function (indexing, HotelRoomFaciality) {
                    var checkexist = nightArr.includes(HotelRoomFaciality.HotelFaciality);
                    if (checkexist) {
                        HotelRoom.push(HotelRoomFaciality);
                    }
                });
                if (HotelRoom.length > 0) {
                    element['HotelRoomFaciality'] = HotelRoom;
                    resultsetFiltered.push(element);
                }
            }
        });
        ////console.log(resultsetFiltered);
        return resultsetFiltered;
    };



    $scope.applyPriceRangeFilter = function (data, priceArr) {

        //////console.log(data);

        var resultsetFiltered = [];
        if (priceArr.length == 0) {
            return data;
        }

        $.each(data, function (index, element) {

            var Ismatched = false;
            var PublishedFare = (Math.round(element.HotelRoomFaciality[0].HotelRoomPrice));
            //////console.log(element);
            // ////console.log(PublishedFare);
            // var totalAmount = (Math.round(element.totalAmount));

            if (priceArr.length > 0) {
                $.each(priceArr, function (indexinn, elementinn) {
                    // ////console.log(elementinn);
                    //////console.log(PublishedFare);
                    var elementinnSP = elementinn.split('-');
                    if (PublishedFare >= parseInt(elementinnSP[0]) && PublishedFare <= parseInt(elementinnSP[1])) {
                        Ismatched = true;
                        //resultsetFiltered.push(element);
                    }

                });
            }
            //////console.log(Ismatched);
            if (Ismatched) {
                resultsetFiltered.push(element);
            }


        });
        return resultsetFiltered;
    };



    $scope.applyHotelNameFilter = function (data, hotelnamearray) {

        var resultsetFiltered = [];
        if (hotelnamearray.length == 0) {
            return data;
        }
        $.each(data, function (index, element) {
            if (hotelnamearray.length > 0) {
                ////console.log(element);
                $.each(hotelnamearray, function (indexinn, elementinn) {
                    if (elementinn == element.vehicle) {
                        resultsetFiltered.push(element);
                    }
                });
            }
        });
        return resultsetFiltered;
    };





    $scope.RequestRoomInfo = function (val, index) {
        $('.hotel_booking').hide();
        $('.hotel_infoDIV_' + index).show();
        var flag = $('#flag_' + index).val();
        //        alert(flag);
        //        return false;
        //////console.log(val);
        $scope.loadingRoomInfo = true;
        $scope.ErrorRoomInfo = false;
        var url = SITEURL + "hotels/index/request-room-info";
        $http({
            method: "POST",
            url: url,
            data: { hotelData: val, TraceId: val.SearchHotelTraceId, flag: flag, index: index },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'X-Requested-With': 'XMLHttpRequest'
            }
        }).then(function successCallback(response) {

            $scope.loadingRoomInfo = false;
            //
            if (response.data.success == 1) {
                $('#RequestRoom_' + index).hide();
                $('#RequestRoomHide_' + index).show();
                $('.hotel_infoDIV_' + index).show();
                ////console.log(response.data);
                $scope.ArrRoomInfo = (response.data.ArrRoomInfo);
                ////console.log(response.data.ArrRoomInfo);
                $scope.flag++;
                $('#flag_' + index).val($scope.flag);
            } else {
                $scope.ErrorRoomInfo = true;
                $scope.ErrorMessage = response.data.ArrRoomInfo.Error.ErrorMessage;
            }

        });
    };

    $scope.HideRoom = function (val, index) {
        $('#RequestRoom_' + index).show();
        $('#RequestRoomHide_' + index).hide();
        $('.hotel_infoDIV_' + index).hide();
    };




    $scope.bookNow = function ($scope, data) {
        //////console.log(data);
        //var totalPrice = $('#totalamt'+ hotelindex).html();
        var url = SITEURL + "hotels/index/book-noow";
        //alert(totalPrice);
        var jsonString = JSON.stringify($scope.item);
        $http({
            method: "POST",
            url: url,
            data: { data: data },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'X-Requested-With': 'XMLHttpRequest'
            }
        }).then(function successCallback(response) {
            if (response.data.success) {

                if (dvc == 'm') {
                    $window.location.href = response.data.url;
                } else {
                    $window.location.href = response.data.url;
                    // $window.open(
                    //     response.data.url,
                    //     'mozillaTab',
                    //     '_blank'
                    // );
                }


                // $window.location.href = response.data.url;
            } else {
                alert(response.data.message);
            }
        }, function errorCallback(response) {
            alert(response.data.message);
        });
    };



    $scope.roomselect = function (hid, rid, selectedhotel, selectedRoomVal) {
        var url = SITEURL + "hotels/index/book-room-now";
        //alert(rid);
        $http({
            method: "POST",
            url: url,
            data: { hid: hid, rid: rid, selectedhotel: selectedhotel, selectedRoomVal: selectedRoomVal },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'X-Requested-With': 'XMLHttpRequest'
            }
        }).then(function successCallback(response) {
            if (response.data.success) {
                $window.location.href = response.data.url;
                // $window.open(
                //     response.data.url,
                //     '_blank'
                // );

                // $window.location.href = response.data.url;
            } else {
                alert(response.data.message);
            }
        }, function errorCallback(response) {
            alert(response.data.message);
        });


    }

    $scope.ViewMap = function (item, index) {
        var url = SITEURL + "hotel/hotel-view-map/" + item.SearchHotelTraceId + '/' + item.HotelId;
        $('#HotelMaps').modal('show');
        $http({
            method: "POST",
            url: url,
            data: { item: item, index: index, page: 'NA' },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'X-Requested-With': 'XMLHttpRequest'
            }
        }).then(function successCallback(response) {
            $('#HotelMapsDIV').html(response.data);
        });
    };

    $scope.Cancellation = function (HotelId, RoomId, id = null) {
        $('#cancelationPlolicy').modal('show');
        // $('#loadercancel').show();
        // $('#cancelationPlolicyDIV').html('');
        // var url = SITEURL + "hotel/hotel-cancelation-plolicy";
        // $http({
        //     method: "POST",
        //     url: url,
        //     data: { hotelId: HotelId, optionId: RoomId, rid: id, page: "search" },
        //     headers: {
        //         'Content-Type': 'application/x-www-form-urlencoded',
        //         'X-Requested-With': 'XMLHttpRequest'
        //     }
        // }).then(function successCallback(response) {
        //     $('#loadercancel').hide();
        //     $('#cancelationPlolicyDIV').html(response.data);

        // });

    };



}]);

Youez - 2016 - github.com/yon3zu
LinuXploit