File: /home/cafsindia/allyindian_com/backend/application/controllers/Package_ticket_04Mar2019.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Secure_Controller.php");
class Package_ticket extends Secure_Controller
{
public function __construct(){
parent::__construct('package_ticket');
$this->load->model('Package_ticket_model');
$this->load->model('Email_model');
$this->load->model('Sms_model');
}
public function index(){
if(!$this->Appconfig->isAppvalid()){
redirect('config');
}
$data['table_headers']="";
$pack_data=$this->Package_ticket_model->get_packages();
$pack_info[""] = "--- Select Package ---";
foreach($pack_data as $row){
$pack_info[$this->xss_clean($row['package_id'])] = $this->xss_clean($row['package_title']."-".$row['package_title2']);
}
$data['package_info']=$pack_info;
$this->load->view('package_ticket/manage',$data);
}
public function get_package_data(){
$package = $this->input->post('package');
$result = $this->Package_ticket_model->get_package_data($package);
$tr_line = "";
$i = 1;
foreach ($result as $rslt){
$date = $rslt['date_info'];
$p_date = date("Y-m-d",strtotime($rslt['date_info']));
$today = date("Y-m-d");
$pack_info = $rslt['pack_info'];
foreach ($pack_info as $pack){
$tripid = $pack['tripid'];
$tripcode = $pack['tripcode'];
$seat_capacity = $pack['seat_capacity'];
$package_id = $pack['trippackid'];
$booked = $this->Package_ticket_model->get_booked_count($package_id,$date,$tripid);
$cancelled = $this->Package_ticket_model->get_cancelled_count($package_id,$date,$tripid);
$blocked = $this->Package_ticket_model->get_blocked_count($package_id,$date,$tripid);
$total = $booked + $blocked;
$available = $seat_capacity - $total;
$url = site_url('package_ticket');
$style = "style='padding: 3px 8px;margin-right: 4px;width: 20%;'";
if($p_date > $today){
$btn = "<span><a href='$url/availability/$package_id/$date/$tripid' $style type='button' class='btn btn-success btn-sm'>Availability</a></span><span><a href='$url/block_seats/$package_id/$date/$tripid' $style type='button' class='btn btn-danger btn-sm'>Block Seats</a></span><span><a href='$url/search_customer/$package_id/$date/$tripid' $style type='button' class='btn btn-info btn-sm'>Book Seats</a></span>";
}else{
$btn = "<span><button style='background-color: #3E3E3E;border: 1px solid #3E3E3E;padding: 3px 8px;margin-right: 4px;'' type='button' class='btn btn-warning btn-sm' onclick=feedback('$package_id','$p_date','$tripid')><i class='fa fa-comments' aria-hidden='true'></i> Feedback</button></span><span><button style='background-color: #3E3E3E;border: 1px solid #3E3E3E;padding: 3px 8px;margin-right: 4px;'' type='button' class='btn btn-warning btn-sm' onclick=feedback('$package_id','$p_date','$tripid')><i class='fa fa-comments' aria-hidden='true'></i> Feedback</button></span><span><button style='background-color: #3E3E3E;border: 1px solid #3E3E3E;padding: 3px 8px;margin-right: 4px;'' type='button' class='btn btn-warning btn-sm' onclick=feedback('$package_id','$p_date','$tripid')><i class='fa fa-comments' aria-hidden='true'></i> Feedback</button></span>";
}
$tr_line .= "<tr>
<td style='text-align:center;'>$i</td>
<td style='text-align:center;'>$tripcode</td>
<td style='text-align:center;'>$date</td>
<td style='text-align:center;'>$seat_capacity</td>
<td style='text-align:center;cursor: pointer;' onclick=get_ticket_info($package_id,'$p_date',$tripid,'booked')>$booked</td>
<td style='text-align:center;'>$blocked</td>
<td style='text-align:center;cursor: pointer;' onclick=get_ticket_info($package_id,'$p_date',$tripid,'cancelled')>$cancelled</td>
<td style='text-align:center;'>$available</td>
<td style='text-align:center;'>$btn<span><button $style type='button' onclick=send_campaign($package_id,'$p_date',$tripid) class='btn btn-warning btn-sm'><i class='fa fa-paper-plane-o' aria-hidden='true'></i>Send Sms</button></span><span><a href='$url/view_passengers/$package_id/$date/$tripid' type='button' class='btn btn-default btn-sm'><i class='fa fa-pencil-square-o' aria-hidden='true'></a></i></span></td>
</tr>";
$i++;
}
}
echo json_encode(array('success' => TRUE, 'package_data' => $tr_line));
}
public function block_seats($package_id,$date,$tripid){
$data['vehicle_data'] = $this->Package_ticket_model->get_vehicle_data($package_id,$tripid);
$data['package_date'] = $date;
$data['trip_id'] = $tripid;
$data['blocked_data'] = $this->Package_ticket_model->get_block_seatdata($package_id,$date,$tripid);
$this->load->view("package_ticket/block_seats",$data);
}
public function availability($package_id,$date,$tripid){
$data['vehicle_data'] = $this->Package_ticket_model->get_vehicle_data($package_id,$tripid);
$data['package_date'] = $date;
$data['trip_id'] = $tripid;
$this->load->view("package_ticket/view_seat_layout",$data);
}
public function view_passengers($package_id,$date,$tripid){
$data['table_headers']="";
$this->load->view("package_ticket/view_passengers",$data);
}
public function search_customer($package_id,$date,$tripid){
$data['package_id'] = $package_id;
$data['package_date'] = $date;
$data['trip_id'] = $tripid;
$data['blocked_data'] = $this->Package_ticket_model->get_block_seatdata($package_id,$date);
$this->load->view("package_ticket/search_customer",$data);
}
public function book_ticket($cust_id,$package_id,$date,$tripid,$custmobile){
$this->session->set_userdata('custmobile', $custmobile);
$data['vehicle_data'] = $this->Package_ticket_model->get_vehicle_data($package_id,$tripid);
$bp_info[""] = "--- Select Boarding Point ---";
$boarding_data = $this->Package_ticket_model->get_boarding($package_id,$tripid);
foreach($boarding_data as $row){
$bp_info[$this->xss_clean($row['boarding_id'])] = $row['dep_time']."-".$row['boarding_name'];
}
$data['bp_info'] = $bp_info;
$bank_info[""] = "--- Select Bank ---";
$bank_data = $this->Package_ticket_model->get_banks();
foreach($bank_data as $row){
$bank_info[$this->xss_clean($row['bank_name'])] = $row['bank_name'];
}
$data['bank_info'] = $bank_info;
$tariff_info[""] = "--- Select Tariff Type ---";
$boarding_data = $this->Package_ticket_model->get_tariff($package_id,$tripid);
foreach($boarding_data as $row){
$tariff_info[$this->xss_clean($row['pcostid'])."|".$this->xss_clean($row['pamount'])] = $this->xss_clean($row['package_type'])."-".$this->xss_clean($row['pamount']);
}
$data['tariff_info'] = $tariff_info;
$data['package_date'] = $date;
$data['trip_id'] = $tripid;
$data['cust_id'] = $cust_id;
$data['blocked_data'] = $this->Package_ticket_model->get_block_seatdata($package_id,$date);
$this->load->view("package_ticket/book_ticket",$data);
}
public function save_booked_seat_temp(){
$cust_id = $this->input->post('cust_id');
$package_date = $this->input->post('package_date');
$package_id = $this->input->post('package_id');
$trip_id = $this->input->post('trip_id');
$status = $this->input->post('status');
$seat_no = $this->input->post('seat_no');
$seat_data = $this->Package_ticket_model->save_booked_seat_temp($cust_id,$package_id,$seat_no,$status,$package_date,$seat_data,$trip_id);
if($seat_data){
echo json_encode(array('success' => true, 'seat_data'=>$seat_data));
}else{
echo json_encode(array('success' => false, 'seat_data'=>$seat_data));
}
}
public function get_customer_data(){
$search_by = $this->input->post('search_by');
$search_text = $this->input->post('search_text');
$cust_data = $this->Package_ticket_model->get_customer_data($search_by,$search_text);
echo json_encode(array('success' => true, 'cust_data'=>$cust_data));
}
public function get_seat_data(){
$vehicle_id = $this->input->post('vehicle_id');
$package_date = $this->input->post('package_date');
$package_id = $this->input->post('package_id');
$trip_id = $this->input->post('trip_id');
$seat_data = $this->Package_ticket_model->get_vehicle_seat_data($vehicle_id,$package_date,$package_id,$trip_id);
echo json_encode(array('success' => true, 'seat_data'=>$seat_data));
}
public function save_blocked_seat(){
$package_id = $this->input->post('package_id');
$seat_no = $this->input->post('seat_no');
$status = $this->input->post('status');
$package_date = $this->input->post('package_date');
$trip_id = $this->input->post('trip_id');
$seat_data = $this->Package_ticket_model->save_blocked_seat($package_id,$seat_no,$status,$package_date,$seat_data,$trip_id);
if($seat_data){
echo json_encode(array('success' => true, 'seat_data'=> $seat_data));
}else{
echo json_encode(array('success' => false, 'seat_data'=> $seat_data));
}
}
public function update_blocked_seat(){
$id = $this->input->post('id');
$blocked_remarks = $this->input->post('blocked_remarks');
$status = $this->input->post('status');
$package_id = $this->input->post('package_id');
$package_date = $this->input->post('package_date');
$trip_id = $this->input->post('trip_id');
$seat_data = $this->Package_ticket_model->update_blocked_seat($id,$blocked_remarks,$status,$package_id,$package_date,$trip_id);
if($seat_data){
echo json_encode(array('success' => true, 'seat_data'=>$seat_data));
}else{
echo json_encode(array('success' => false, 'seat_data'=>$seat_data));
}
}
public function save_order(){
$seat_nos = $this->input->post('seat_nos');
$pack_disc = $this->input->post('pack_disc');
$admin_disc = $this->input->post('admin_disc');
$custid = $this->input->post('cust_id');
$admin_discount = $this->input->post('pass_discount');
$order_data = array(
'orderdate' => date('Y-m-d h:i:s'),
'packid' => $this->input->post('package_id'),
'doj' => date("Y-m-d", strtotime($this->input->post('package_date'))),
'custid' => $this->input->post('cust_id'),
'nopass' => count($this->input->post('seat_nos')),
'tariffamt' => $this->input->post('tariff'),
'ticketamt' => $this->input->post('total_tariff'),
'orderstat' => 2,
'discountamt' => $this->input->post('discount'),
'finalamt' => $this->input->post('total_amt'),
'paidamt' => $this->input->post('paid'),
'balamt' => $this->input->post('bal'),
'trans_charge' => $this->input->post('additional'),
'tot_charges' => $this->input->post('charges'),
'boarding' => $this->input->post('boarding'),
'otripid' => $this->input->post('trip_id'),
'paytype' => $this->input->post('paid_by'),
'bank' => $this->input->post('bank'),
'chno' => $this->input->post('no'),
'chdate' => $this->input->post('date'),
'bookedby' => $this->session->userdata('emp_id'));
$pass_data = array(
'pass_name' => $this->input->post('pass_name'),
'pass_mobile' => $this->input->post('pass_mobile'),
'pass_gender' => $this->input->post('pass_gender'),
'pass_discount' => $this->input->post('pass_discount'),
'pass_age' => $this->input->post('pass_age'));
$order_id = $this->Package_ticket_model->save_order($order_data,$seat_nos,$pass_data,$pack_disc,$admin_disc,$admin_discount);
if($order_id){
echo json_encode(array('success' => TRUE,'order_id'=>$order_id,'message' => 'Success'));
$cust_data = $this->Package_ticket_model->get_custmobile($custid);
$this->Sms_model->send_sms($order_id,$cust_data->custmobile,"booked");
}else{
echo json_encode(array('success' => FALSE,'message' => 'Please Try After Sometime...'));
}
}
public function clear_temp_data($cust_id){
$cust_id = $this->input->post('cust_id');
$data = $this->Package_ticket_model->clear_temp_data($cust_id);
if($data){
echo json_encode(array('success' => true, 'message'=>'success'));
}
}
public function get_customer_numbers(){
$package_id = $this->input->post('package_id');
$package_date = $this->input->post('date');
$trip_id = $this->input->post('tripid');
$number_data = $this->Package_ticket_model->get_numbers($package_id,$package_date,$trip_id);
if($number_data){
echo json_encode(array('success' => true, 'number_data'=>$number_data));
}
}
public function send_sms_campaign(){
$numbers = $this->input->post('numbers');
$smstext = $this->input->post('smstext');
$sms_url = $this->Appconfig->get('sms_url');
$sms_id = $this->Appconfig->get('sms_id');
$sms_pwd = $this->Appconfig->get('sms_pwd');
$url = $sms_url."workingkey=$sms_pwd&sender=".urlencode($sms_id)."&to=".urlencode($numbers)."&message=".urlencode($smstext);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_exec($ch);
curl_close($ch);
if($ch){
echo json_encode(array('success' => true, 'message'=>"SMS Sent Successfully"));
}else{
echo json_encode(array('success' => false, 'message'=>"SMS Sent Successfully"));
}
}
//Passengers Edit
public function view_passengers_data(){
$search_by = $this->input->post('search_by');
$search_text = $this->input->post('search_text');
$result = $this->Package_ticket_model->view_passengers_data($search_by,$search_text);
$tr_line = "";
$i = 1;
foreach ($result as $rslt){
$passid = $rslt['passid'];
$orderid = $rslt['ticketorderid'];
$pack_id = $rslt['packid'];
$seatno = $rslt['seatno'];
$passname = $rslt['passname'];
$gender = $rslt['passgender'];
$passage = $rslt['passage'];
$mobile = $rslt['passmobile'];
$boarding = $rslt['boarding'];
$url = site_url('Package_ticket');
$style = "style='padding: 3px 8px;margin-right: 4px;'";
$tr_line .= "<tr>
<td style='text-align:center;'>$i</td>
<td style='text-align:center;'>$seatno</td>
<td style='text-align:center;'>$passname</td>
<td style='text-align:center;'>$gender</td>
<td style='text-align:center;'>$passage</td>
<td style='text-align:center;'>$mobile</td>
<td style='text-align:center;'><button $style class='btn btn-default btn-sm' onclick=edit_passenger($passid,'$passname','$gender','$passage','$mobile','$pack_id','$boarding','$orderid')><i class='fa fa-pencil-square-o' aria-hidden='true'></i></button></td>
</tr>";
$i++;
}
echo "<table id='detail_list' class='table table-hover table-striped col-style'>
<thead>
<tr style='font-weight:bold;text-align:center !important;background:#d84f57;'>
<th style='text-align:center !important;'>SNo</th>
<th style='text-align:center !important;'>Seat No</th>
<th style='text-align:center !important;'>Passenger Name</th>
<th style='text-align:center !important;'>Age</th>
<th style='text-align:center !important;'>Gender</th>
<th style='text-align:center !important;'>Mobile</th>
<th style='text-align:center !important;'>Operations</th>
</tr>
</thead>
<tbody id='package_data'>
$tr_line
</tbody>
</table>";
}
public function get_boarding_data(){
$packid = $this->input->post('packid');
$boarding = $this->input->post('boarding');
$boarding_data = $this->Package_ticket_model->get_boarding($packid,$boarding);
$option = "<option value =''>--- Select Boarding ---</option>";
$opt = "";
foreach ($boarding_data as $board){
$board_id = $board['boarding_id'];
$board_name = $board['boarding_name'];
$dep_time = $board['dep_time'];
if($boarding === $board_id){
$opt = "selected";
}else{
$opt = "";
}
$option .= "<option value ='$board_id' $opt>$dep_time - $board_name</option>";
}
echo json_encode(array('success' => true, 'option'=>$option));
}
public function update_passenger(){
$passid = $this->input->post('passid');
$boarding = $this->input->post('boarding');
$orderid = $this->input->post('orderid');
$pass_data = array(
'passname' => $this->input->post('pass_name'),
'passmobile' => $this->input->post('pass_mobile'),
'passgender' => $this->input->post('pass_gender'),
'passage' => $this->input->post('pass_age'));
$data = $this->Package_ticket_model->update_passenger($passid,$pass_data,$boarding,$orderid);
if($data){
echo json_encode(array('success' => true, 'message'=>'Successfully Updated'));
}else{
echo json_encode(array('success' => false, 'message'=>'Failed'));
}
}
public function save_irumudi(){
$custid = $this->input->post('custid');
$trip_date = $this->input->post('trip_date');
$packid = $this->input->post('packid');
$passtripid = $this->input->post('passtripid');
$orderid = $this->input->post('orderid');
$pass_data = array(
'pass_name' => $this->input->post('pass_name'),
'pass_mobile' => $this->input->post('pass_mobile'),
'pass_gender' => $this->input->post('pass_gender'),
'pass_age' => $this->input->post('pass_age'),
'irumudi_amount' => $this->input->post('irumudi_amount'),
'order_id' => $orderid,
'trip_id' => $passtripid,
'cust_id' => $custid,
'dep_date' => $trip_date,
'package_id' => $packid,
'created_by' => $this->session->userdata('emp_id'),
'created_date' => date('Y-m-d h:i:s')
);
$pass_result = $this->Package_ticket_model->save_irumudi($pass_data,$packid,$custid,$passtripid,$orderid);
if($pass_result){
echo json_encode(array('success' => true, 'pass_result'=> $pass_result));
}else{
echo json_encode(array('success' => false, 'pass_result'=>$pass_result));
}
}
public function get_irumudi_data(){
$custid = $this->input->post('custid');
$trip_date = $this->input->post('trip_date');
$packid = $this->input->post('packid');
$passtripid = $this->input->post('passtripid');
$orderid = $this->input->post('orderid');
$pass_result = $this->Package_ticket_model->get_irumudi_data($packid,$custid,$passtripid,$orderid);
if($pass_result){
echo json_encode(array('success' => true, 'pass_result'=> $pass_result));
}else{
echo json_encode(array('success' => false, 'pass_result'=>$pass_result));
}
}
}
?>