| 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/tripsgateway/application/modules/detail/models/ |
Upload File : |
<?php
class Detail_Model_PackageMapper {
protected $_dbTable;
protected $objHelperGeneral;
public function __construct(){
$this->objHelperGeneral = Zend_Controller_Action_HelperBroker::getStaticHelper('General');
}
public function setDbTable($dbTable) {
if (is_string($dbTable)) {
$dbTable = new $dbTable();
}
if (!$dbTable instanceof Zend_Db_Table_Abstract) {
throw new Exception('Invalid table data gateway provided');
}
$this->_dbTable = $dbTable;
return $this;
}
public function getDbTable() {
if (null === $this->_dbTable) {
$this->setDbTable('Detail_Model_DbTable_Package');
}
return $this->_dbTable;
}
public function fetchDetails( $catId, $gtxId, $packageId , $market = 'B2C') {
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxId)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = array();
$Countries = '';
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$Countries = $row["Countries"];
$entries = $entry;
}
// echo "<pre>";print_r($entries['LongJsonInfo']['Countries']);exit;
$dayView = array();
foreach ($entries['LongJsonInfo'] as $itinerariesDayVise) {
foreach ($itinerariesDayVise['Itineraries']['Itinerary'] as $dayViewVal) {
$dayView[$dayViewVal['Day']]['day'][] = $dayViewVal['Day'];
$dayView[$dayViewVal['Day']]['day'][] = $dayViewVal['Title'];
$dayView[$dayViewVal['Day']]['day'][] = $dayViewVal['Program'];
$dayView[$dayViewVal['Day']]['City'][] = $dayViewVal['ItineraryItem'][0];
$dayView[$dayViewVal['Day']]['Hotel'][] = $dayViewVal['ItineraryItem'][1];
$dayView[$dayViewVal['Day']]['Activities'][] = $dayViewVal['ItineraryItem'][2];
$dayView[$dayViewVal['Day']]['SightSeeings'][] = $dayViewVal['ItineraryItem'][3];
$dayView[$dayViewVal['Day']]['Transfers'][] = (isset($dayViewVal['ItineraryItem'][4])) ? $dayViewVal['ItineraryItem'][4] : '';
}
}
// echo "<pre>";print_r($dayView);exit;
$dayViewNew = [];
foreach ($entries['LongJsonInfo'] as $itinerariesDayVise) {
foreach ($itinerariesDayVise['Itineraries']['Itinerary'] as $dayViewKey => $dayViewVal) {
$dayViewNew[$dayViewKey]['day'] = ['Day'=>$dayViewVal['Day'], 'Title'=>$dayViewVal['Title'], 'Program'=> $dayViewVal['Program']];
$dayViewNew[$dayViewKey]['City'][] = $dayViewVal['ItineraryItem'][0];
$dayViewNew[$dayViewKey]['Activities'][] = $dayViewVal['ItineraryItem'][2];
$dayViewNew[$dayViewKey]['SightSeeings'][] = $dayViewVal['ItineraryItem'][3];
$dayViewNew[$dayViewKey]['ItineraryId'] = $dayViewVal['ItineraryId'];
}
}
$itemArray = array();
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray["Terms"] = $rowItem["Terms"];
$itemArray["Name"] = $rowItem["Name"];
$itemArray["AllowMinPax"] = $rowItem["AllowMinPax"];
$itemArray["GroupSize"] = $rowItem["GroupSize"];
$itemArray["Countries"] = $Countries;
$itemArray["Inclusions"] = $rowItem["Inclusions"];
$itemArray["Itineraries"] = $rowItem["Itineraries"];
$itemArray["Cities"] = $rowItem['Cities']['City'];
// $itemArray["Categories"] = $rowItem['TourTypes']['TourType'][0]["Categories"]['Category'];
$itemArray["Categories"] = $rowItem['TourTypes']['MarketType'];
$itemArray["TourType"] = $rowItem['TourTypes']['MarketType'];
$itemArray["TransfersMaster"] = (isset($rowItem['Transfers'])) ? $rowItem['Transfers'] : null;
$itemArray["OtherServices"] = (isset($rowItem['OtherServices'])) ? $rowItem['OtherServices'] : null;
$itementries = $itemArray;
}
// echo "<pre>";print_r($itementries);exit;
$tourTypeArr = array();
/*
foreach ( $itementries['TourType'] as $tourKey => $tourVal) {
// echo '<pre>'; print_r($tourVal); die('ggggggggg');
// var_dump($tourVal['MarketTypeTitle']);
// var_dump($market);
// check the market type is b2b or b2c
if( $tourVal['MarketTypeTitle'] === $market ) {
$priceArrJsonInner = [];
foreach ($tourVal['TourType'] as $k => $v) {
// echo $v['TourTypeTitle'];
//echo $k;
$category = $v['Categories']['Category'];
if(is_array($category) && count($category)) {
$tempCategory= [];
foreach ($category as $keyCat => $valueCat) {
// $valueCat['Type'] = $keyCat.'SSSS'; // this is temporary code need to delete this line of code
// create hotel type/standard array whether in group or private tour
if( $k == 0) {
$hotelStandardArr[] = $valueCat['Type'] ; // create hotel type array for display radio button on view
}
$tempCategory[$valueCat['Type']] = [
'TPId'=> $valueCat['TPSysId'] ,
'SFP'=> $valueCat['SeletedForPackage'],
// 'price'=> $valueCat['PriceAdditional'] // this was old pattern
'price'=> $valueCat['MPType'][0]['PriceAdditional']
];
// echo '<pre>';print_r($valueCat); die;
if($keyCat==0){
$TPId = $valueCat['TPSysId'];
$defaultCategory = $valueCat['Type'];
$defaultCategoryId = $valueCat['CategoryId']; // set default category for package on load
}
}
}
$tourTypeArrayOfIds[] = $v['TourType']; // get the current loop package tour type id only to create radio button
// $tourTypeArr[$valueCat['CategoryId']][] = $valueCat['TPSysId']; // get the current loop package tour type id only to create radio button
$priceArrJsonInner[$v['TourTypeTitle'][0]] = $tempCategory;
}
}
// $priceArrJson = $priceArrJsonInner; // assign the inner created to outer loop variable
}
*
*/
/* get default category
* hotel standard array
* Tour type defualt
*
*/
$categoryDetails = $this->objHelperGeneral->getCategoryAndPriceArray ( $itementries['TourType'] , 'B2C' );
// $tourTypeArr = unserialize( CONST_TOURTYPE );
$tourTypeArr = $categoryDetails['priceArrJson'];
// echo "<pre>";print_r($tourTypeArr);exit;
// echo "<pre>";print_r($hotelStandardArr);exit;
$finalArray = array();
foreach ($itemArray["Cities"] as $finalData) {
$finalArray['city'][$finalData['CityId']] = $finalData['Title'];
$finalArray['Hotel'][] = $finalData['Hotels'];
$finalArray['Activities'][] = $finalData['Activities'];
$finalArray['SightSeeings'][] = $finalData['SightSeeings'];
}
$imageUrl = array();
// echo "<pre>";print_r($finalArray['Activities']);exit;
foreach ($finalArray['Activities'] as $ActivitieImage) {
$u=0;
foreach ($ActivitieImage['Activity'] as $ActivityImageURL) {
$imageUrl['Activity'][$u]['ImagePath'] = trim($ActivityImageURL['Image']);
$imageUrl['Activity'][$u]['CityName'] = trim($ActivityImageURL['CityId']);
$imageUrl['Activity'][$u]['Title'] = trim($ActivityImageURL['Title']);
$u++;
}
}
foreach ($finalArray['SightSeeings'] as $SightSeeingsImage) {
$u=0;
foreach ($SightSeeingsImage['SightSeeing'] as $SightSeeingImageURL) {
$imageUrl['SightSeeing'][$u]['ImagePath'] = trim($SightSeeingImageURL['Image']);
$imageUrl['SightSeeing'][$u]['CityName'] = trim($SightSeeingImageURL['CityId']);
$imageUrl['SightSeeing'][$u]['Title'] = trim($SightSeeingImageURL['Title']);
$u++;
}
}
foreach ($finalArray['Hotel'] as $hotelImage) {
foreach ($hotelImage['Hotel'] as $hotelImageURL) {
if(($hotelImageURL['Images'])) {
foreach ($hotelImageURL['Images'] as $ImageURL) {
$u=0;
foreach ($ImageURL as $finalImage) {
$imageUrl['Hotel'][$u]['ImagePath'] = trim($finalImage['URL']);
$imageUrl['Hotel'][$u]['CityName'] = $hotelImageURL['CityId'];
$imageUrl['Hotel'][$u]['Title'] = $hotelImageURL['Name'];
$u++;
}
}
}
}
}
$resultSetArray = array(
'tourType'=>$tourTypeArr,
'PackageType'=>$resultSet[0]['PackageType'],
'Nights'=>$resultSet[0]['Nights'],
'BookingValidUntil'=> $this->objHelperGeneral->changeDateFormat( $resultSet[0]['BookingValidUntil'] , '/' ),
'imageUrl' => $imageUrl,
'dayView' => $dayView,
'dayViewNew' => $dayViewNew,
'itementries' => $itementries,
'finalArray' => $finalArray
);
return $resultSetArray;
}
public function fetchHotelDetails($categoryId, $gtxID, $packageId, $hotelId) {
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxID)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = array();
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$itemArray = array();
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray["Cities"] = $rowItem['Cities']['City'];
}
$finalArray = array();
foreach ($itemArray["Cities"] as $finalData) {
$finalArray[] = $finalData['Hotels'];
}
$hotelArrayData = array();
foreach ($finalArray as $hotelDetailvalF) {
foreach ($hotelDetailvalF['Hotel'] as $hotelDetailval) {
if ($hotelDetailval['RefHotelId'] == $hotelId) {
$hotelArray['Brief'] = $hotelDetailval['Brief'];
$hotelArray['Name'] = $hotelDetailval['Name'];
$hotelArray['MainImg'] = trim($hotelDetailval['MainImg']);
$hotelArray['AccoAminities'] = $hotelDetailval['AccoAminities'];
$hotelArray['Location'] = $hotelDetailval['Location'];
$hotelArray['Images'] = $hotelDetailval['Images'];
$hotelArrayData[] = $hotelArray;
}
}
}
return $hotelArrayData[0];
}
public function fetchActivityDetails($categoryId, $gtxID, $packageId, $hotelId) {
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxID)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = array();
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$itemArray = array();
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray["Cities"] = $rowItem['Cities']['City'];
}
$finalArray = array();
foreach ($itemArray["Cities"] as $finalData) {
$finalArray[] = $finalData['Activities'];
}
$hotelArrayData = array();
foreach ($finalArray as $hotelDetailvalF) {
foreach ($hotelDetailvalF['Activity'] as $hotelDetailval) {
if ($hotelDetailval['RefActivityId'] == $hotelId) {
$hotelArray['Brief'] = $hotelDetailval['Description'];
$hotelArray['Title'] = $hotelDetailval['Title'];
$hotelArray['MainImg'] = trim($hotelDetailval['Image']);
$hotelArray['AccoAminities'] = "";
$hotelArray['Location'] = "";
$hotelArray['Images'] = "";
$hotelArrayData[] = $hotelArray;
}
}
}
return $hotelArrayData[0];
}
public function fetchSightSeeingDetails($categoryId, $gtxID, $packageId, $hotelId) {
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxID)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = array();
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$itemArray = array();
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray["Cities"] = $rowItem['Cities']['City'];
}
$finalArray = array();
foreach ($itemArray["Cities"] as $finalData) {
$finalArray[] = $finalData['SightSeeings'];
}
$hotelArrayData = array();
foreach ($finalArray as $hotelDetailvalF) {
foreach ($hotelDetailvalF['SightSeeing'] as $hotelDetailval) {
if ($hotelDetailval['RefSSId'] == $hotelId) {
$hotelArray['Brief'] = $hotelDetailval['Description'];
$hotelArray['Title'] = $hotelDetailval['Title'];
$hotelArray['MainImg'] = trim($hotelDetailval['Image']);
$hotelArray['AccoAminities'] = "";
$hotelArray['Location'] = "";
$hotelArray['Images'] = "";
$hotelArrayData[] = $hotelArray;
}
}
}
return $hotelArrayData[0];
}
public function fetchTransportDetails($categoryId, $gtxID, $packageId, $hotelId) {
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxID)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = array();
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$itemArray = array();
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray["Cities"] = $rowItem['Cities']['City'];
}
$finalArray = array();
foreach ($itemArray["Cities"] as $finalData) {
$finalArray[] = $finalData['SightSeeings'];
}
$hotelArrayData = array();
foreach ($finalArray as $hotelDetailvalF) {
foreach ($hotelDetailvalF['SightSeeing'] as $hotelDetailval) {
if ($hotelDetailval['RefSSId'] == $hotelId) {
$hotelArray['Brief'] = $hotelDetailval['Description'];
$hotelArray['Title'] = $hotelDetailval['Title'];
$hotelArray['MainImg'] = trim($hotelDetailval['Image']);
$hotelArray['AccoAminities'] = "";
$hotelArray['Location'] = "";
$hotelArray['Images'] = "";
$hotelArrayData[] = $hotelArray;
}
}
}
return $hotelArrayData[0];
}
// get opttion on day itinerary by type of options
public function fetchDayWiseHotelDetails($categoryId, $gtxID, $packageId, $day , $type = 'h')
{
if($type==='h') {
$arrayKey = 'Hotel';
$arrayKeyMaster = 'Hotels';
$ItineraryItemNumber = 1;
}
else if($type==='a') {
$arrayKey = 'Activity';
$arrayKeyMaster = 'Activities';
$ItineraryItemNumber = 2;
}
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxID)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = array();
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$dayView = array();
foreach ($entries['LongJsonInfo'] as $itinerariesDayVise) {
foreach ($itinerariesDayVise['Itineraries']['Itinerary'] as $dayViewVal) {
$dayView[$dayViewVal['Day']][$arrayKey][] = $dayViewVal['ItineraryItem'][$ItineraryItemNumber];
}
}
$itemArray1 = array();
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray1["Cities"] = $rowItem['Cities']['City'];
}
$finalArray = array();
foreach ($itemArray1["Cities"] as $finalData) {
$finalArray[] = $finalData[$arrayKeyMaster];
}
$itemArray = [];
foreach ($dayView[$day][$arrayKey] as $rowItem) {
// echo '<pre>';
// print_r($rowItem['Items']);
// echo '</pre>';
if($type === 'h') {
if($rowItem['Items'][0]['Id'] == $categoryId){
$itemArray[] = $rowItem['Items'][0]['Item'];
}
}
else {
$itemArray[] = $rowItem['Items'][0]['Item'];
}
}
$optionsArray = [ "itemArray" => $itemArray, "finalArray"=> $finalArray ];
// echo "<pre>";print_r($optionsArray);exit;
return $optionsArray;
}
// get opttion on day itinerary by type of options added By Ranvir
public function fetchDayWiseOptionsDetails($categoryId, $gtxID, $packageId, $day , $sid , $type = 'h')
{
if($type === 'h') {
$arrayKey = 'Hotel';
$arrayKeyMaster = 'Hotels';
$ItineraryItemNumber = 1;
}
else if($type === 'a') {
$arrayKey = 'Activity';
$arrayKeyMaster = 'Activities';
$ItineraryItemNumber = 2;
}
else if($type === 's') {
$arrayKey = 'SightSeeing';
$arrayKeyMaster = 'SightSeeings';
$ItineraryItemNumber = 3;
}
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxID)->where("PkgSysId=?", $packageId)->query()->fetchAll();
$entry = [];
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$dayView = [];
foreach ($entries['LongJsonInfo'] as $itinerariesDayVise) {
foreach ($itinerariesDayVise['Itineraries']['Itinerary'] as $dayViewVal) {
$dayView[$dayViewVal['Day']][$arrayKey][] = $dayViewVal['ItineraryItem'][$ItineraryItemNumber];
}
}
$itemArray1 = [];
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray1["Cities"] = $rowItem['Cities']['City'];
}
$finalArray = [];
foreach ($itemArray1["Cities"] as $finalData) {
$finalArray[] = $finalData[$arrayKeyMaster];
}
$itemArray = $arrayOfItems = [];
foreach ($dayView[$day][$arrayKey] as $rowItem) {
// echo '<pre>';
// print_r($rowItem['Items']);
// echo '</pre>';
if($type === 'h') {
// if($rowItem['Items'][0]['Id'] == $categoryId){
// $itemArray[] = $rowItem['Items'][0]['Item'];
// }
foreach($rowItem['Items'] as $key => $value ) {
if($value['Id'] == $categoryId) {
$itemArray[] = $value['Item'];
}
}
}
else {
// print_r($rowItem['Items'][0]['Item']);
$arrayOfItems = $this->objHelperGeneral->filterArrayByValueKeyPair( ['Id', $sid ], $rowItem['Items'][0]['Item']);
// if( $arrayOfItems[0]['Id'] == $sid){
// }
// print_r($arrayOfItems);
$itemArray[] = $arrayOfItems;
}
}
$optionsArray = [ "itemArray" => $itemArray, "finalArray"=> $finalArray ];
// echo "<pre>";print_r($itemArray);exit;
return $optionsArray;
}
// get options of transfers | added By Ranvir
public function fetchTransfersDetails( $packageid , $gtxid )
{
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxid )->where("PkgSysId=?", $packageid)->query()->fetchAll();
$entry = [];
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$itemArray = [];
foreach ($entries['LongJsonInfo'] as $rowItem) {
$itemArray["Transfers"] = $rowItem['Transfers'];
}
$finalArray = $itemArray1 = [];
foreach ($itemArray["Transfers"] as $rowItem) {
if( $rowItem['TransType'] === 'car' ) {
$itemArray1[] = [
'IsIncluded'=> $rowItem['IsIncluded'] ,
'FixTransSysId'=> $rowItem['FixTransSysId'] ,
'CityCovered'=> $rowItem['CityCovered'] ,
'VehSysId'=> $rowItem['VehSysId'] ,
'CostPerson'=> $rowItem['CostPerson'] ,
'IsGroup'=> $rowItem['IsGroup'] ,
'Capacity'=> $rowItem['Capacity'] ,
];
// $finalArray[] = $rowItem;
}
}
$optionsArray = [ "itemArray" => [$itemArray1], "finalArray"=> [$finalArray] ];
// echo "<pre>";print_r($optionsArray);exit;
return $optionsArray;
}
// get package category options here | added By Ranvir on 28 Aug 2017
public function fetchPackageCateogies( $packageid , $gtxid )
{
$resultSet = $this->getDbTable()->select()->where("GTXPkgId=?", $gtxid )->where("PkgSysId=?", $packageid)->query()->fetchAll();
$entry = [];
foreach ($resultSet as $row) {
$entry["LongJsonInfo"] = Zend_Json::decode($row["LongJsonInfo"], true);
$entries = $entry;
}
$tourtype = $category = [];
foreach ($entries['LongJsonInfo']['package']['TourTypes']['TourType'] as $key => $rowItem) {
$tourtype[$rowItem['TourType']] = ['TourTypeTitle' => $rowItem['TourTypeTitle'] , 'TourType' => $rowItem['TourType']];
if($key === 0) {
foreach ($rowItem['Categories']['Category'] as $value) {
$category[$value['CategoryId']] = ['Type' => $value['CategoryId'] , 'Title' => $value['Type'] ];
}
}
}
$optionsArray = [ "itemArray" => ['tourtype' => $tourtype , 'category' => $category ], "finalArray"=> [] ];
// echo "<pre>";print_r($optionsArray);exit;
return $optionsArray;
}
public function checkPackaageSysID($gtxId){
$select = $this->getDbTable()->select()
->from("TB_TBB2C_Packages_Master",array("PkgSysId"))
->where("GTXPkgId=?", $gtxId)->where("IsActive=?", '1')->where("IsPublish=?", '1')->where("IsMarkForDel=?", '0');
$result = $this->getDbTable()->fetchRow($select)->toArray();
return $result;
}
}