File: /home/cafsindia/allyindian_com/backend/customers/availability.php
<?php
require_once('./sbltt_lib/sblttObject.php');
$url = "http://". $_SERVER['SERVER_NAME'];
$sbltt_session = sblttObject::newObject('sbltt_session');
$is_customer = false;
$sbltt_session->startSession();
$libObject = $sbltt_session->is_session_exist();
$customer_obj = sblttObject::newObject('sbltt_customer');
if(!$libObject){
header("Location: ./login.php?mode=index");
exit(0);
}
$is_customer = $libObject->is_customer();
if($is_customer){
header( "Location: ./login.php?mode=index");
exit(0);
}
if(isset($_GET['package_id'])){
$package_id = $_GET['package_id'];
}
if(isset($_GET['package_date'])){
$package_date = $_GET['package_date'];
}
//Set Session value
if(isset($_SESSION['package_id'])){
$sbltt_session->set_value("package_id",$package_id);
}else{
$sbltt_session->add_value("package_id",$package_id);
}
if(isset($_SESSION['package_date'])){
$sbltt_session->set_value("package_date",$package_date);
}else{
$sbltt_session->add_value("package_date",$package_date);
}
//Get values from Session
$ses_package_id = $sbltt_session->get_value('package_id');
$ses_package_date = $sbltt_session->get_value('package_date');
$trip_id = $sbltt_session->get_value('trip_id');
$discount = $sbltt_session->get_value('discount');
$package_info = $customer_obj->get_package_info();
$package_info = json_decode($package_info);
$package = $package_info->result;
?>
<!DOCTYPE html>
<html>
<head>
<title>SBLTT Customer </title>
<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0"/>
<meta name="Description" content="Book online bus tickets in India. Find best prices and discounts on all Volvo, AC,semi Sleeper and sleeper buses in India."/>
<meta name="Keywords" content="Bus ,Booking ,Online , Tours ,Travels ,volvo , Sleeper"/>
<meta name="robots" content="index,follow"/>
<!-- STYLE SHEET -START -->
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="./asset/bootstrap.min.css">
<link rel="stylesheet" href="./asset/css/style.css">
<link rel="stylesheet" href="./asset/bootstrap-datepicker-master/dist/css/bootstrap-datepicker.min.css">
<link rel="stylesheet" href="../dist/toaster/toastr.css">
<link rel="stylesheet" href="./asset/fonts/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="../dist/select2/dist/css/select2.min.css"/>
<style type="text/css">
/* enable absolute positioning */
i #loginshow{
float: right !important;
margin-top: -23px !important;
margin-right: 6px !important;
}
</style>
<head>
<body>
<!-- NAVBAR -START -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sbltt_nav_menu" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#" style="color:#FFFFFF;">
<img src="asset/images/sbltt_batch.png" style="margin-top:-13px;" alt="SBLTT LOGO">
</a>
</div>
<div class="collapse navbar-collapse" id="sbltt_nav_menu">
<ul class="nav navbar-nav navbar-right nav-pills">
<li><a href="http://www.sblt.co.in/#home">Home</a></li>
<li class="active"><a href="#package_tab" role="tab" data-toggle="tab">Package</a></li>
</ul>
</div>
</div>
</nav>
<!-- NAVBAR -END -->
<!-- MAIN COINTAINER - START -->
<div class="container-fluid" style="margin-top:58px;padding: 0px;">
<div class="tab-content ">
<!-- PACKAGE SEARCH CONTENT - START -->
<div role="tabpanel" class="tab-pane active" id="package_tab" style='padding: 5px'>
<div class='col-md-12 package_search'>
<h3>Check Seat Availability</h3>
<div style="text-align:center;">
<div class="form-group">
<select class="form-control" id="package">
<option value="">--- Select Package --- </option>
<?php
foreach ($package as $key) {
$dep_date = explode(",",$key->dep_date);
$date_count = count($dep_date);
$can_show = false;
for($i=0;$i<$date_count;$i++){
$check_date = $dep_date[$i];
$date_now = new DateTime();
$date_now = $date_now->format("Y-m-d");
$date2 = new DateTime($check_date);
$date2 = $date2->format("Y-m-d");
if($date_now <= $date2) {
$can_show = true;
}
}
if($can_show){
$title = $key->package_title." ".$key->package_title2." ".$key->package_title3;
$package_id = $key->package_id;
echo "<option value='$package_id'>$title</option>";
}
}
?>
</select>
</div>
<div class="form-group">
<select class="form-control" id="package_date">
</select>
</div>
<button id="search_btn" type="button" class="btn btn-default">Search Package</button>
</div>
</div>
<div class='col-md-12' id="seat_availability" style="padding:0px;">
</div>
</div>
<!-- PACKAGE SEARCH CONTENT - END -->
</div>
<div class='row mg0'>
<div class='col-md-12 sb_center'>
<p class='md15'>Copyright © <?php echo date("Y");?> SBLTT | Powered by .<a href="https://cafsinfotech.com/">CAFS INFOTECH</a></p>
</div>
</div>
</div>
<!-- MAIN COINTAINER - END-->
<!-- HDDEN INPUT - START-->
<input type="hidden" id="trip_id_hid" value="" />
<!-- HDDEN INPUT - END-->
<!--PRINT TICKET MODAL START-->
<div class="modal fade" id="printmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Ticket Details</h4>
</div>
<div class="modal-body" >
<div>
<table style='width:100%;text-align:center;margin-bottom:15px;'>
<tr>
<td><?php echo "Date and Time : ".date("d-M-Y h:i:s"); ?></td>
<td><button style="margin-left: 10px;" type="button" class="btn btn-danger" onclick="print()">Print</button></td>
</tr>
</table>
</div>
<div id="print">
</div>
</div>
</div>
</div>
</div>
<!--PRINT TICKET MODAL END -->
<!-- SCRIPT -START -->
<script src="./asset/jquery.min.js"></script>
<script src="./asset/bootstrap.min.js"></script>
<script src="./asset/js/jquery.validate.min.js"></script>
<script src="./asset/bootstrap-datepicker-master/dist/js/bootstrap-datepicker.min.js"></script>
<script src="../dist/toaster/toastr.js"></script>
<!-- Multiselect Plugin -->
<script src="../dist/jquery-typeahead/dist/jquery.typeahead.min.js"></script>
<script src="../dist/select2/dist/js/select2.full.min.js"></script>
<!-- Multiselect Plugin End -->
<script src="../dist/auto_fill/auto_fill.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var package_id = "<?php echo $ses_package_id;?>";
var package_date = "<?php echo $ses_package_date;?>";
var sel_package_date = "<?php echo date("d-M-Y",strtotime($ses_package_date));?>";
$('#custdob').datepicker({
format: 'dd-mm-yyyy',
endDate: new Date(),
autoclose: true,
});
if((package_id !== "") && (package_date !== "")){
var frm = "get_package_date";
$("#package_date").html("<option><i class='fa fa-spinner fa-spin'></i> Loading...</option>");
$.ajax({
type: "POST",
url: "bend/availability_callback.php",
data:{frm:frm,package_id:package_id},
success: function(data){
var rslt = JSON.parse(data);
var datearray = rslt.result[0].dep_date.split(',');
var today = new Date();
var option = "<option value=''>--- Departure Date ---";
for(i = 0; i < datearray.length; i++){
var newdate = new Date(datearray[i]);
if(newdate >= today)
option += "<option value='"+datearray[i]+"'>"+datearray[i]+"</option>";
}
$("#package_date").html(option);
get_trip_details(package_id,sel_package_date);
},
});
}
//Get Trip Dates
$("#package").change(function(e){
var package_id = $("#package").val();
var frm = "get_package_date";
$("#package_date").html("<option><i class='fa fa-spinner fa-spin'></i> Loading...</option>");
if(package_id){
$.ajax({
type: "POST",
url: "bend/availability_callback.php",
data:{frm:frm,package_id:package_id},
success: function(data){
var rslt = JSON.parse(data);
var datearray = rslt.result[0].dep_date.split(',');
var today = new Date();
var option = "<option value=''>--- Departure Date ---";
for(i = 0; i < datearray.length; i++){
var newdate = new Date(datearray[i]);
if(newdate >= today)
option += "<option value='"+datearray[i]+"'>"+datearray[i]+"</option>";
}
$("#package_date").html(option);
},
});
}
});
//Search Package
$("#search_btn").click(function(e){
var package_id = $("#package").val();
var package_date = $("#package_date").val();
if(package_id === ""){
toastr.warning('Please Select Package');
return false;
}
if(package_date === ""){
toastr.warning('Please Select Date');
return false;
}
get_trip_details(package_id,package_date);
});
});
function clicked(trip_id){
$('#formsubmit'+trip_id).tooltip({
position: { of: '#formsubmit'+trip_id, my: 'left center', at: 'left center' }
});
$("#formsubmit"+trip_id).focus();
}
function get_trip_details(package_id,package_date){
if(package_id){
$("#search_btn").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#search_btn').attr('disabled','disabled');
var frm = "get_package_data";
$('#package').val(package_id);
$('#package_date').val(package_date);
$.ajax({
type: "POST",
url: "bend/availability_callback.php",
data:{frm:frm,package_id:package_id,package_date:package_date},
success: function(data){
$("#seat_availability").html(data);
$('#search_btn').attr('disabled',false);
$("#search_btn").html("Search Package");
},
});
}
}
function get_seat_layout(vehicle_id,trip_id){
$('.panel-collapse').removeClass('in');
//$('.panel-collapse').html('');
//$('#seat_layout'+trip_id).addClass('loader');
$('#showtime'+trip_id).html("00:00");
$('input:checkbox').removeAttr('checked');
$('#boarding'+trip_id).val("");
$('#tariff'+trip_id).val("");
$('#seats'+trip_id).html("0");
$('#tariff_amt'+trip_id).html("0");
$('#discount'+trip_id).html("0");
$('#fares'+trip_id).html("0");
$('#trip_id_hid').val(trip_id);
var frm = "get_seat_layout";
if(vehicle_id){
$.ajax({
type: "POST",
url: "bend/availability_callback.php",
data:{frm:frm,vehicle_id:vehicle_id,trip_id:trip_id},
success: function(data){
if(data){
$('#seat_layout'+trip_id).html(data);
get_seat_data(vehicle_id,trip_id);
}
},
});
}
}
//Get Vehicle Seats
function get_seat_data(vehicle_id,trip_id){
var frm = "get_vehicle_data";
if(vehicle_id){
$.ajax({
type: "POST",
url: "bend/availability_callback.php",
data:{frm:frm,vehicle_id:vehicle_id,trip_id:trip_id},
success: function(data){
var rslt = JSON.parse(data);
for(i = 0; i < rslt.seat_data.length; i++){
var vehicle_lower = rslt.seat_data[i].vehicle_lower;
var vehicle_upper = rslt.seat_data[i].vehicle_upper;
var blocked = rslt.seat_data[i].blocked;
var booked = rslt.seat_data[i].booked;
// console.log(blocked);
// console.log(booked);
if(vehicle_lower){
vehicle_lower = vehicle_lower.split(",");
$.each(vehicle_lower,function(i){
var lower = vehicle_lower[i].split('_');
//get number and Letters from string
var num = lower[1];
var type = lower[0];
var seatno_lower_id = "seatnolower"+trip_id+"_"+num;
var seatno = "seat_no"+trip_id+"_"+num;
//Only for Place Seat no on seat
var seat = "seat"+trip_id+"_"+num;
var title_lower = "Seat No :"+num;
if(seatno_lower_id){
document.getElementById('seatno_lower'+trip_id).setAttribute('id',seatno_lower_id);
document.getElementById('seat_no'+trip_id).setAttribute('id',seatno);
document.getElementById('seat'+trip_id).setAttribute('id',seat);
document.getElementById(seatno_lower_id).setAttribute('title', title_lower);
}
$("input[id="+seatno+"]").val(num);
$("span[id="+seat+"]").text(num);
if(blocked){
var blocked_array=blocked.split(',');
}
if(booked){
var booked_array =booked.split(',');
}
//Change the seat layout like sleeper or seater
if(type === "S"){
if(jQuery.inArray(num, blocked_array)!='-1'){
$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);
$('#'+seatno_lower_id).addClass('booked').removeClass('available');
}else
if(jQuery.inArray(num, booked_array)!='-1'){
$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);
$('#'+seatno_lower_id).addClass('booked').removeClass('available');
}else{
$('#'+seatno_lower_id).addClass('available').removeClass('blocked');
}
}else
if(type === "SL"){
if(jQuery.inArray(num, blocked_array)!='-1') {
$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);
$('#'+seatno_lower_id).addClass('booked_sl').removeClass('available_sl');
}else
if(jQuery.inArray(num, booked_array)!='-1'){
$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
$('#seatnolower'+trip_id+'_'+num).prop('disabled', true);
$('#'+seatno_lower_id).addClass('booked_sl').removeClass('available_sl');
}else{
$('#'+seatno_lower_id).addClass('available_sl').removeClass('booked_sl');
}
}
});
}
if(vehicle_upper){
vehicle_upper = vehicle_upper.split(",");
$.each(vehicle_upper,function(i){
var upper = vehicle_upper[i].split('_');
//get number and Letters from string
var unum = upper[1];
var type = upper[0];
var seatno_upper_id = "seatnoupper"+trip_id+"_"+unum;
var seatno = "seat_no"+trip_id+"_"+unum;
var seat = "seat"+trip_id+"_"+unum;
var title_upper = "Seat No :"+unum;
document.getElementById('seatno_upper'+trip_id).setAttribute('id',seatno_upper_id);
document.getElementById('seat_no'+trip_id).setAttribute('id',seatno);
document.getElementById('seat'+trip_id).setAttribute('id',seat);
document.getElementById(seatno_upper_id).setAttribute('title', title_upper);
$("input[id="+seatno+"]").val(unum);
$("span[id="+seat+"]").text(unum);
//Change the seat layout like sleeper or seater
if(blocked){
var blocked_array=blocked.split(',');
}
if(booked){
var booked_array =booked.split(',');
}
if(type === "S"){
if (jQuery.inArray(unum, blocked_array)!='-1') {
$('#seat_no'+trip_id+'_'+unum).prop('disabled', true);
$('#seatnoupper'+trip_id+'_'+unum).prop('disabled', true);
$('#seatnoupper'+trip_id+'_'+unum).addClass('booked').removeClass('available');
}else
if(jQuery.inArray(num, booked_array)!='-1'){
$('#seat_no'+trip_id+'_'+num).prop('disabled', true);
$('#seatnoupper'+trip_id+'_'+num).prop('disabled', true);
$('#'+seatno_upper_id).addClass('booked').removeClass('available');
}else{
$('#'+seatno_upper_id).addClass('available').removeClass('booked');
}
}else
if(type === "SL"){
if (jQuery.inArray(unum, blocked_array)!='-1') {
$('#seat_no'+trip_id+'_'+unum).prop('disabled', true);
$('#seatnoupper'+trip_id+'_'+unum).prop('disabled', true);
$('#seatnoupper'+trip_id+'_'+unum).addClass('booked_sl').removeClass('available_sl');
}else
if(jQuery.inArray(unum, booked_array)!='-1'){
$('#seat_no'+trip_id+'_'+unum).prop('disabled', true);
$('#seatnoupper'+trip_id+'_'+unum).prop('disabled', true);
$('#'+seatno_upper_id).addClass('booked_sl').removeClass('available_sl');
}else{
$('#'+seatno_upper_id).addClass('available_sl').removeClass('booked_sl');
}
}
});
}
$('#seat_layout'+trip_id).removeClass('loader');
}
},
});
}
}
function pack_info(){
var package_id = $("#package").val();
var frm = "get_package_details";
if(package_id){
$.ajax({
type: "POST",
url: "bend/availability_callback.php",
data:{frm:frm,package_id:package_id},
success: function(data){
$('#printmodal').modal('show');
$('#print').html(data);
$('.modal-title').text("Package Information");
$('.modal-footer').hide();
},
});
}
}
function formsubmit(){
var package_id = '<?php echo $_GET['package_id']; ?>';
var package_date = '<?php echo $_GET['package_date']; ?>';
var url = '<?php echo $url; ?>';
window.location= url+"/backend/customers/login.php?package_id="+package_id+"&package_date="+package_date;
}
</script>
<!-- SCRIPT -END -->
</body>
</html>