function addHotelRoomRatesNew() { try { $roomrates = new HotelRoomRates(); $roomrates->setValues($_REQUEST); $exRateRecord = $roomrates->getAllRatesForDates($roomrates->dateIn(), $roomrates->dateOut(), $roomrates->hotelRoomTypeId()); $exRateRecord1 = ""; $exRateRecord2 = ""; $arraySplit = array(); $room_rate_ids = array(); $allDatesArray2 = array(); $i = 1; $l = 1; foreach ($exRateRecord as $key => $row) { $in_date = $row['date_in']; $out_date = $row['date_out']; $exRoomControlArr[$i] = $row; $strstartdate = strtotime($in_date); $strenddate = strtotime($out_date); $dayDiff = ($strenddate - $strstartdate) / 86400; $j = 0; while ($j <= $dayDiff) { $nextDay = $strstartdate + $j * 86400; $allDatesArray2[$l] = $nextDay; $j++; $l++; } $room_rate_ids[$i] = $row['room_rate_id']; $i++; } if ($allDatesArray2 != "") { $sizeOfADA = sizeof($allDatesArray2); $strOfInputStart = strtotime($roomrates->dateIn()); $strOfRangeStart = $allDatesArray2[1]; $strOfInputEnd = strtotime($roomrates->dateOut()); $strOfRangeEnd = $allDatesArray2[$sizeOfADA]; $m = 1; $n = 1; $o = 1; if ($strOfInputStart < $strOfRangeStart) { $differenceOf = ($strOfRangeStart - $strOfInputStart) / 86400; $x = 0; $start = $strOfInputStart; while ($x < $differenceOf) { $nxday = $start + $x * 86400; array_push($allDatesArray2, $nxday); $x++; } if ($strOfInputEnd > $strOfRangeEnd) { $y = 1; $differenceOfB = ($strOfInputEnd - $strOfRangeEnd) / 86400; while ($y <= $differenceOfB) { $nxday2 = $strOfRangeEnd + $y * 86400; array_push($allDatesArray2, $nxday2); $y++; } } array_multisort($allDatesArray2); $arraySplit = splitArray($allDatesArray2, $m, $n, $o, $strOfInputStart, $strOfInputEnd); $roomrates->ratesDeleteByRateId($room_rate_ids); if (!addHotelRoomRates($roomrates)) { throw new Exception("Error"); new Exception("Error"); } if (array_key_exists(3, $arraySplit)) { $szOfArray = sizeof($arraySplit[3]); $fDate = date("Y-m-d", $arraySplit[3][1]); $tDate = date("Y-m-d", $arraySplit[3][$szOfArray]); $exRateRecord2 = $row; $exRateRecord2['date_in'] = $fDate; $exRateRecord2['date_out'] = $tDate; if (!addHotelRoomRates($exRateRecord2)) { throw new Exception("Error"); } } } else { if ($strOfInputEnd > $strOfRangeEnd) { $y = 1; $differenceOfB = ($strOfInputEnd - $strOfRangeEnd) / 86400; while ($y <= $differenceOfB) { $nxday2 = $strOfRangeEnd + $y * 86400; array_push($allDatesArray2, $nxday2); $y++; } } array_multisort($allDatesArray2); $arraySplit = splitArray($allDatesArray2, $m, $n, $o, $strOfInputStart, $strOfInputEnd); if (!$roomrates->ratesDeleteByRateId($room_rate_ids)) { throw new Exception("Error"); } if (array_key_exists(1, $arraySplit)) { $szOfArray = sizeof($arraySplit[1]); $fDate = date("Y-m-d", $arraySplit[1][1]); $tDate = date("Y-m-d", $arraySplit[1][$szOfArray]); $exRateRecord1 = $row; $exRateRecord1['date_in'] = $fDate; $exRateRecord1['date_out'] = $tDate; if (!addHotelRoomRates($exRateRecord1)) { throw new Exception("Error"); } if (!addHotelRoomRates($roomrates)) { throw new Exception("Error"); } if (array_key_exists(3, $arraySplit)) { $szOfArray = sizeof($arraySplit[3]); $fDate = date("Y-m-d", $arraySplit[3][1]); $tDate = date("Y-m-d", $arraySplit[3][$szOfArray]); $exRateRecord2 = $row; $exRateRecord2['date_in'] = $fDate; $exRateRecord2['date_out'] = $tDate; if (!addHotelRoomRates($exRateRecord2)) { throw new Exception("Error"); } } } else { $arraySplit = splitArray($allDatesArray2, $m, $n, $o, $strOfInputStart, $strOfInputEnd); if (!$roomrates->ratesDeleteByRateId($room_rate_ids)) { throw new Exception("Error"); } if (!addHotelRoomRates($roomrates)) { throw new Exception("Error"); } if (array_key_exists(3, $arraySplit)) { $szOfArray = sizeof($arraySplit[3]); $fDate = date("Y-m-d", $arraySplit[3][1]); $tDate = date("Y-m-d", $arraySplit[3][$szOfArray]); $exRateRecord2 = $row; $exRateRecord2['date_in'] = $fDate; $exRateRecord2['date_out'] = $tDate; if (!addHotelRoomRates($exRateRecord2)) { throw new Exception("Error"); } } } } } else { if (!addHotelRoomRates($roomrates)) { throw new Exception("Error"); } } $complete = new ProfileCompletion(); $complete->setHotelStepId($_REQUEST['hotel_step_id']); $complete->setHotelStep1(1); $complete->updateProfileCompletionStep('6'); Common::jsonSuccess("Room Rates Added Successfully!"); } catch (Exception $ex) { Common::jsonError("Error"); } }