<?php

 // Begin
/*use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'C:/Workspace/phpmailer/vendor/autoload.php';*/
// end

 require(APPPATH.'libraries/REST_Controller.php');


defined('BASEPATH') OR exit('No direct script access allowed');
header('Content-Type: text/html; charset=utf-8');

 // Allow from any origin
	if (isset($_SERVER['HTTP_ORIGIN'])) {
        //header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    // cache for 1 day
    }

	// Access-Control headers are received during OPTIONS requests
	if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

		if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
			header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

		if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
			header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

		exit(0);
	}



	class Webservices extends REST_Controller{
		public function __construct(){
			parent::__construct();
			$this->load->model('Webservice_model');
        	$this->load->helper('access');

		}







#####################################user registration #############################################



	// public function user_registration_post(){
		
	// 	$postdata = file_get_contents("php://input");
 //    	$request = json_decode($postdata,true);
 
 //    	$result = $this->Webservice_model->user_reg($request);

 //    	if($result['status']=='success'){
 //    		$result = array('status'=>'success','message' =>'Registered Successfully','data'=>'');
 //    	} else {   		
 //    		$result = array('status'=>'error','message' =>$result['message'],'data'=>'');
 //    	}

 //    	$this->response($result);

    	
	// }



	public function user_registration_post(){
		
	
		
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
    	//$this->load->helper('string'); 
		//$request['otp'] = mt_rand(0000, 9999);
		
 
    	$result = $this->Webservice_model->user_reg($request);

    	 
		 
		// $body = "OTP for Tukkibi account signup is:".$request['otp'];
		 $email = $request['email'];
		// $name = $data['first_name'].' '.$data['last_name']; 
		// $sub = 'OTP Verification';
		// $this->send_mail($email,$sub,$body,$name);

    	if($result['status']=='success'){
    		$result = array('status'=>'success','message' =>'Registered Successfully','data'=>$email);
    	} else {   		
    		$result = array('status'=>'error','message' =>$result['message'],'data'=>'');
    	}

    	$this->response($result);

    	
	}
	
	public function verify_get($req_id=null){
	    if($this->db->where('req_id',$req_id)->get("users")->num_rows()>0){
	        $this->db->where('req_id',$req_id)->update("users",array("email_is_verified"=>1,"req_id"=>""));
	        echo "Verification Successfully";
	    } else {
	            echo "Invalid Verification code";
	    }
	    
	}



##################################### Login #######################################################


	public function do_login_post(){

		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata,true);
	

		$result = $this->Webservice_model->login($request);
		header('Content-type: application/json');
		if($result){
			//if($result['email_is_verified'] == '1'){
				$result1 = $this->Webservice_model->player_id_insert($request);
				print json_encode(array('status' => 'success','message'=>'Login Successfully','data'=>$result));
			/*}else{
				print json_encode(array('status' => 'error','message'=>'Email is not Verified. Please Verify'));
			}*/
		}else{
			print json_encode(array('status' => 'error','message'=>'Unknown Credential! Try Again','data'=>''));
		}

	}

##################################### Facebook Login #################################################

	public function google_login_post(){
		// 'fb_login');die();
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata,true);
	// var_dump($request);
	//	die();
	

		$result = $this->Webservice_model->google_login($request);
		header('Content-type: application/json');
		if($result){
		//	$result1 = $this->Webservice_model->player_id_insert($request);
			print json_encode(array('status' => 'success','message'=>'Login Successfully','data'=>$result));
		}else{
			print json_encode(array('status' => 'error','message'=>'Unknown Credential! Try Again','data'=>''));
		}

	}

	public function get_cars_details_post(){
        $postdata = file_get_contents("php://input");
        $request = json_decode($postdata,true);
        $result = $this->Webservice_model->get_cars_details($request);
        if($result){
		  $response=array('status' => 'success','data'=>$result);
        }else{
           $response=array('status' => 'error','data'=>''); 
        }
        print json_encode($response);
    }
	
public function fb_login_post(){
		// 'fb_login');die();
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata,true);
		// var_dump($request);
	

		$result = $this->Webservice_model->fb_login($request);
		header('Content-type: application/json');
		if($result){
		//	$result1 = $this->Webservice_model->player_id_insert($request);
			print json_encode(array('status' => 'success','message'=>'Login Successfully','data'=>$result));
		}else{
			print json_encode(array('status' => 'error','message'=>'Unknown Credential! Try Again','data'=>''));
		}

	}


##################################### Forgot password ###############################################

	
		public function forgot_password_post() {
			

			 $data = json_decode(file_get_contents("php://input")); 
			 //$res = $this->phpmailer();
			$res = $this->Webservice_model->forgetpassword($data); 
			 
			

			   	if($res){
    		$result = array( 'status' => 'success','message'=>'New Password is Sent To Your Email','data'=>'');
    	} else {   		
    		$result = array( 'status' => 'error','message' =>'Sorry. Invalid email.','data'=>'');
    	}

    	$this->response($result);

		}


##################################### Change password ################################################

	
		public function change_password_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
			
			if($request){
				$result = $this->Webservice_model->change_password($request);
			
			if($result){
				print json_encode(array('status' => 'success','message'=>'Password changed successfully'));
			} else {
				print json_encode(array('status' => 'error','message'=>'Password mismatch'));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}
			

	}



##################################### Biography Update ################################################

	public function update_biography_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
			
			if($request){
				$result = $this->Webservice_model->update_bio($request);
			
			if($result){
				print json_encode(array('status' => 'success','message'=>'Biography Updated successfully','data'=>$result));
			} else {
				print json_encode(array('status' => 'error','message'=>'Oops! Something Went wrong','data'=>''));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Oops! Something Went wrong','data'=>''));
		}
			

	}


##################################### Profile Update ###############################################


	public function update_profile_post(){
		
		
		
			$postdata = file_get_contents("php://input");

			
			$request = json_decode($postdata,true);
			if($request){
			$result = $this->Webservice_model->update_profile($request);
			if($result){
				print json_encode(array('status' => 'success','message'=>'Profile Updated Successfully','data'=>$result));
			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		}else{
				print json_encode(array('status' => 'error','code'=>'209','message'=>'Something Went wrong'));
		}
			
	
		}



##################################### Profile Pic upadate ###########################################



// 		public function update_profile_picture_post(){

//              if(is_uploaded_file($_FILES['image']['tmp_name'])){ 
//              	$uploads_dir = './assets/uploads/profile_pic/';
//              	$tmp_name = $_FILES['image']['tmp_name'];
//              	$pic_name = $_FILES['image']['name']; 
//              	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
//              	move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
// 			$request = $_POST;		
// 			//$request['image'] = $uploads_dir.$pic_name;	
// 			$request['image'] = base_url().$uploads_dir.$pic_name;	
			

// 			$result = $this->Webservice_model->photo_uploads($request);
			
// 			if($result){
// 				print json_encode(array('status' => 'success','message'=>'Profile Photo Updated Succesfully','data'=>$result));

// 			} else {
// 				print json_encode(array('status' => 'error','data'=>''));
// 			}
// 		} else {
// 			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
// 		}


// }





			public function update_profile_picture_post(){

             if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
             	$uploads_dir = './assets/uploads/profile_pic/';	
             	$tmp_name = $_FILES['file']['tmp_name'];
             	$pic_name = $_FILES['file']['name']; 
             	$path_parts = pathinfo($_FILES["file"]["name"]);
		     	$extension = $path_parts['extension'];
			    $pic_name = 'tukkibi'.'_'.time().".".$extension;
             	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
             	move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
			$request = $_POST;		
	//	$request['file'] = $uploads_dir.$pic_name;	
			$request['file'] = $uploads_dir.$pic_name;	
		//$request['file'] = $uploads_dir.$pic_name;

			$result = $this->Webservice_model->photo_uploads($request);
			
			if($result){
				print json_encode(array('status' => 'success','message'=>'Profile Photo Updated Succesfully','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		} else {
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}


}






########################################################################################################





		public function update_preference_post(){
		
		
		
			$postdata = file_get_contents("php://input");
			
			$request = json_decode($postdata,true);
			if($request){
			$result = $this->Webservice_model->update_pref($request);
			if($result){
				print json_encode(array('status' => 'success','message'=>'Preferences Updated Successfully','data'=>''));
			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		}else{
				print json_encode(array('status' => 'error','code'=>'209','message'=>'Something Went wrong'));
		}
			
	
		}

######################################################################################


		public function get_preference_post(){
		

           $postdata = file_get_contents("php://input");

	 		$request = json_decode($postdata,true);

			if($request) {

			$result = $this->Webservice_model->get_pref($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>array('chattiness'=>$result->chattiness,'smoking'=>$result->smoking,'music'=>$result->music,'pets'=>$result->pets)));

				//print json_encode(array('status' => 'success','data'=>array('is_deaf'=>filter_var ($result['is_deaf'], FILTER_VALIDATE_BOOLEAN),'is_flash_required_for_requests'=>filter_var ($result['is_flash_required_for_requests'], FILTER_VALIDATE_BOOLEAN))));
			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		} else {
			print json_encode(array('status' => 'error','code'=>'209','message'=>'Something Went wrong'));
		}
		
	}


###################################################################################################


		public function get_users_car_list_post(){
		

           $postdata = file_get_contents("php://input");

	 		$request = json_decode($postdata,true);

			if($request) {

			$result = $this->Webservice_model->get_users_car_list($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

				//print json_encode(array('status' => 'success','data'=>array('is_deaf'=>filter_var ($result['is_deaf'], FILTER_VALIDATE_BOOLEAN),'is_flash_required_for_requests'=>filter_var ($result['is_flash_required_for_requests'], FILTER_VALIDATE_BOOLEAN))));
			} else {
				print json_encode(array('status' => 'success','data'=>''));

			}
		} else {
			print json_encode(array('status' => 'error','code'=>'209','message'=>'Something Went wrong'));
		}
		
	}





		public function get_cars_and_colors_post(){
		

           $postdata = file_get_contents("php://input");

	 		$request = json_decode($postdata,true);

			//if($request) {

			$result = $this->Webservice_model->get_cars_and_colors($request);
			if($result){
				// $result);
				print json_encode(array('status' => 'success','data'=>$result));

				//print json_encode(array('status' => 'success','data'=>array('is_deaf'=>filter_var ($result['is_deaf'], FILTER_VALIDATE_BOOLEAN),'is_flash_required_for_requests'=>filter_var ($result['is_flash_required_for_requests'], FILTER_VALIDATE_BOOLEAN))));
			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		// } else {
		// 	print json_encode(array('status' => 'error','code'=>'209','message'=>'Something Went wrong'));
		// }
		
	}

	

	public function add_users_car_post(){

 		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata,true);
		if($request) {

			$result = $this->Webservice_model->add_users_car($request);
			if($result){
				//print json_encode(array('status' => 'success');
					print json_encode(array('status' => 'success','message'=>'Car added successfully','data'=>''));

				//print json_encode(array('status' => 'success','data'=>array('is_deaf'=>filter_var ($result['is_deaf'], FILTER_VALIDATE_BOOLEAN),'is_flash_required_for_requests'=>filter_var ($result['is_flash_required_for_requests'], FILTER_VALIDATE_BOOLEAN))));
			} else {
				print json_encode(array('status' => 'error','message'=>'Something Went wrong','data'=>''));
			}
		} else {
			print json_encode(array('status' => 'error','message'=>'Something Went wrong','data'=>''));
		}
	}

	////****************14-08-2017************************////
	///////////////offer ride///////////
	public function offer_ride_post(){
	 		$postdata = file_get_contents("php://input");
    		$request = json_decode($postdata,true);
			if($request) {
				
	/////////////////////////duration and time calculation//////////////////////////
				$from = $request['source'];
				$remFrom = str_replace(',', '', $from); //Remove Commas
				$from = urlencode($remFrom);
				$to = $request['destination'];
				$remTo = str_replace(',', '', $to); //Remove Commas
				$to = urlencode($remTo);
				$data = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?&key=AIzaSyA30TEywZIiq6dv6l-JKezQWrEnLeoCiTc&origins=$from&destinations=$to&language=en-EN&sensor=false");
				$data = json_decode($data, true);
				
				if($data['rows'][0]['elements'][0]['status']=='ZERO_RESULTS'){
					$response=array('status' => 'error','message'=>'No Routes Found!!!');

				}else{
                $time = $data['rows'][0]['elements'][0]['duration']['text']; //Text for String and Value for INT
				$distance = $data['rows'][0]['elements'][0]['distance']['text'];//Text for String and Value for INT
				$settings= $this->Webservice_model->getkm_charge();
				$kmcharge=$distance *($settings->kmcharge);
				$km_price = $this->Webservice_model->getrate($request['user_id']);
				//$data['avg_rate']=round($km_price,'3');
				if($request['round_trip']!=0){
					$date=$request['rtrn_time'];					
					$totaltime=date("H:i:s ", strtotime("$date + $time"));
					$request['reached_time_rtrn']=$totaltime;

				}
				$date=$request['detour_time'];					
				$totaltime=date("H:i:s ", strtotime("$date + $time"));
				$request['reached_time']=$totaltime;
	/////////////////////////////////////////////////////////////////////////////////////////
                $cardetails= $this->Webservice_model->car_offer_select($request['user_id']);
				if($cardetails){
					if($request['round_trip']== true){	
						$result1 = $this->Webservice_model->offer_departure($request);
						$dep_id= $result1;
						$result2 = $this->Webservice_model->offer_return($request);
						$rtrn_id=$result2;
						$roundtripdata=array($dep_id,$rtrn_id);
						$check='round';
							if($result1 && $result2){
								$response=array('status' => 'success','data'=>$roundtripdata,'check'=>$check,'km_price'=>$kmcharge);
							}else{
								$response=array('status' => 'error','message'=>'Error Occured','data'=>'');
							}
					}else{
						$result = $this->Webservice_model->offer_departure($request);
						$data=array($result);
						$check='';
						if($result){
							$response=array('status' => 'success','message'=>'','data'=>$data,'check'=>$check,'km_price'=>$kmcharge);
						}else{
							$response=array('status' => 'error','message'=>'Error Occured','data'=>'');
						}
						
					}
				}else{
					 $response=array('status' => 'carerror','message'=>'No car Found!!! Please Add car','data'=>'');

				}
			}

		}else {
				$response=array('status' => 'error','message'=>'Error Occured','data'=>'');
		}
		print json_encode($response);	

	}
	public function offer_ride_update_post(){
		$postdata = file_get_contents("php://input");		
    	$request = json_decode($postdata,true);
	

		/****************************************/
		$ride_list = $request['insert_id'];
		
		$i = 0;
		foreach($ride_list as $ride_id){
		    ++$i;
			$request['ride_id'] = $ride_id;
// 			$reached_time= $this->Webservice_model->get_reached_time($request);
// 			//var_dump($reached_time);
// 			if($reached_time){
// 			$request['reached_time']=$reached_time->reached_time;
// 			}else{
// 			    $request['reached_time']='14:00:00';
// 			}
			//var_dump($request['reached_time']);
		
			$carexist= $this->Webservice_model->car_exist($request,$i);
			//echo $this->db->last_query();
			// $carexist);
			if($carexist){
			    $response=array('status' => 'error','message'=>'No car Available','data'=>'');
			}else{
				$result = $this->Webservice_model->offer_update($request);
				if($result){
					$check_notification=$this->Webservice_model->check_notification_updates($result->users_id);
						if($check_notification){
							$subject="Offerride";
							$user_id =$result->users_id;
							$page= 'confirm_mails/confirm_mail_offer';
							$this->email_send($result,$subject,$user_id,	$page);	
						}
					$result_ride = $this->Webservice_model->result_ride($result);
					if($result_ride){
						$res = $this->send_alert($result_ride);
						$response=array('status' => 'success','message'=>'Ride Offered successfully','data'=>'');
					} else {
						$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
					}
				} else {
					$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
				}

			}	
					
		}
		print json_encode($response);


		/****************************************/




		
	
		/*if($request) {
			
			if($result){
				
				$result_ride = $this->Webservice_model->result_ride($result);
				// $ride_id=array();
				// foreach($result as $newdata){
					
				// 	$ride_id[]=$newdata->id;
					
				// }
				if($result_ride){
					$res= $this->send_alert($result_ride);
				}

				$response=array('status' => 'success','message'=>'Updated successfully','data'=>'');

			}else{
			 $response=array('status' => 'error','message'=>'Error Occured','data'=>'');	
			}

		}else{
			$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
		print json_encode($response);*/

	}
	public function send_alert($result){
		
		foreach($result as  $key => $value){

			$id = $key;

			foreach($value as  $rs){
				$content = array(
				"en" => 'Ride alert for newride '
				);
				$headings = array(
								"en" => 'Ride'
								);
								// var_dump(array($result['player_id']));
					// var_dump($content);
					$type='ride_alert';
					//die;	
				$include_player_ids  = array($rs->player_id);
			
				$res= $this->send_Message($content,$headings,$include_player_ids,$result,$type,$id);
				$return = $res;
			}
		}
	}

	public function list_offer_ride_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request) {
			$result = $this->Webservice_model->offer_list($request);
			if($result){
				$response=array('status' => 'success','data'=>$result);

			}else{
				 $response=array('status' => 'Warning','message'=>'No offer Data To show','data'=>'');

			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
				print json_encode($response);

	}
	public function find_ride_post(){
	    $postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request){
				
			$result = $this->Webservice_model->get_find_ride($request);
			if($result){
				
					$from = $request['source'];
					$remFrom = str_replace(',', '', $from); //Remove Commas
					$from = urlencode($remFrom);
					$to = $request['destination'];
					$remTo = str_replace(',', '', $to); //Remove Commas
					$to = urlencode($remTo);
					$data = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?&key=AIzaSyA30TEywZIiq6dv6l-JKezQWrEnLeoCiTc&origins=$from&destinations=$to&language=en-EN&sensor=false");
					$data = json_decode($data, true);
					$time = $data['rows'][0]['elements'][0]['duration']['text']; //Text for String and Value for INT
					$distance = $data['rows'][0]['elements'][0]['distance']['text'];//T
			$settings= $this->Webservice_model->getkm_charge();
// 			echo $this->db->last_query();
// 			 $settings);
// 			die;
			$kmcharge=$distance *($settings->kmcharge);
				foreach($result as $data){
					$data->rate=$this->Webservice_model->getrate($data->users_id);
					 $data->rate->avgrate=round($data->rate->avgrate,'3');
					
				}
				// $result['avgrate']=$data->rate;
				$response=array('status' => 'success','data'=>$result,'time'=>$time,'charge'=>$kmcharge);
				
			}else{
				
				 $response=array('status' => 'failed','data'=>'');		
			}

		}else{
			$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');

		}
			print json_encode($response);


	}
	public function find_ride_detailed_post(){
	   $postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		// var_dump($request);
		if($request){
			$result = $this->Webservice_model->find_ride_details($request);
			$user_count= $this->Webservice_model->offer_ride_count($request);
		
		
			if($result){
				$from = $result->source;
					$remFrom = str_replace(',', '', $from); //Remove Commas
					$from = urlencode($remFrom);
					$to = $result->destination;
					$remTo = str_replace(',', '', $to); //Remove Commas
					$to = urlencode($remTo);
					$data = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?&key=AIzaSyA30TEywZIiq6dv6l-JKezQWrEnLeoCiTc&origins=$from&destinations=$to&language=en-EN&sensor=false");
					$data = json_decode($data, true);
					$time = $data['rows'][0]['elements'][0]['duration']['text']; //Text for String and Value for INT
					$distance = $data['rows'][0]['elements'][0]['distance']['text'];//T
					$kmdetails=array('distance'=>$distance,'time'=>$time);
					
				
					$response=array('status' => 'success','data'=>$result,'kmdetails'=>$kmdetails,'user_count'=>$user_count);
			}else{
				 $response=array('status' => 'error','message'=>'Error Occured','data'=>'');

			}
		

		}else{
			$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');

		}
		print json_encode($response);


	}
	public function find_ride_filter_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request){
			$result = $this->Webservice_model->find_ride_filter($request);
		    // echo $this->db->last_query();

			if($result){
				
				foreach($result as $data){
					$data->rate= $this->Webservice_model->find_ride_filter_rate($data->users_id);
					 $data->rate->avgrate=round($data->rate->avgrate,'3');
                //     $data);
				}
              $response=array('status' => 'success','data'=>$result);
			}else{
                 $response=array('status' => 'error','message'=>'No ride Found','data'=>'');
			}

		}else{
				$response=array('status' => 'error','message'=>'Please fill the fields','data'=>'');	
		}
		print json_encode($response);

	}
	public function car_offer_select_post(){
		
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		// var_dump($request);
		if($request){
			$result = $this->Webservice_model->car_offer_select($request);
			// echo $this->db->last_query();
			if($result){
              $response=array('status' => 'success','data'=>$result);
			}else{
                 $response=array('status' => 'error','message'=>'No car Found!!! Please Add car','data'=>'');
			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	
		}
		print json_encode($response);

	}
	public function booking_details_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request){
				$result = $this->Webservice_model->booking_details($request);
				$this->db->select('users_id');
				$ride_data = $this->db->get_where('ride',array('id'=>$request['ride_id']))->row();
				
				$this->db->select('first_name,email');
				$user_data = $this->db->get_where('users',array('id'=>$ride_data->users_id))->row();

				$data['email'] = $user_data->email;
				$data['name'] = $user_data->first_name;
				$data['subject'] = 'New Ride Request';
				$data['msg'] = 'Hi '.$data['name'] .', You Have a new Ride Request';
				$this->send_mails($data);
				if($result){
					  $response=array('status' => 'success','data'=>$result);

				}else{
					 $response=array('status' => 'error','message'=>'No ride Found','data'=>$result);
					
				}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	
		}
		print json_encode($response);

	}
	public function book_ride_details_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
	
			if($request){
				
				$result = $this->Webservice_model->booking_ride_details($request);
				if($result){
					  $response=array('status' => 'success','data'=>$result);

				}else{
					 $response=array('status' => 'Warning','message'=>'No More Booking Found','data'=>'');
					
				}

			}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	
			}
			print json_encode($response);
}

public function send_mails($data){

    $settings = $this->db->get_where('settings',array('id'=>'1'))->row();

    $this->load->library('email');
    $config = Array(
      'protocol' => 'smtp',
      'smtp_host' => $settings->smtp_host,
      'smtp_port' => 587,
        'smtp_user' => $settings->smtp_username, // change it to yours
        'smtp_pass' => $settings->smtp_password, // change it to yours
        'smtp_timeout'=>20,
        'mailtype' => 'html',
        'charset' => 'utf-8',
        'wordwrap' => TRUE
      );

 $this->email->initialize($config);// add this line

 $subject = 'New Mail';
 $this->email->from($settings->admin_email);
 $this->email->to($data['email']);
 $this->email->subject($data['subject']);
 $this->email->message($data['msg']);  
 $this->email->send();
 //echo $this->email->print_debugger();
 return "EmailSend";

}



	public function get_help_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
			$result = $this->Webservice_model->help($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}

	

		public function get_terms_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
			$result = $this->Webservice_model->terms($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}
	

	public function get_license_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
			$result = $this->Webservice_model->license($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}


	public function get_privacy_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
			$result = $this->Webservice_model->privacy($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}





	public function get_countries_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
			$result = $this->Webservice_model->get_country($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}


##################################################################################################

	// public function save_notification_post(){
		

 //         	 $postdata = file_get_contents("php://input");
	//  	     $request = json_decode($postdata,true);
	 	     
	// 		$result = $this->Webservice_model->save_notification($request);
	// 		if($result){
	// 			print json_encode(array('status' => 'success','data'=>$result));

	// 		} else {
	// 			print json_encode(array('status' => 'error','data'=>''));
	// 		}
		
		
	// }




	public function save_notification_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
	 	     
			$result = $this->Webservice_model->save_notification($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}

##################################################################################################
       	public function notifysave_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
	 	     
			$result = $this->Webservice_model->notifysave($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}

	



	// 	public function notifysave_post(){
		

    //      	 $postdata = file_get_contents("php://input");
	//  	     $request = json_decode($postdata,true);
	 	     
	// 		$result = $this->Webservice_model->notifysave($request);
	// 		if($result){
	// 			print json_encode(array('status' => 'success','data'=>$result));

	// 		} else {
	// 			print json_encode(array('status' => 'error','data'=>''));
	// 		}
		
		
	// }



##################################################################################################

	public function get_notification_post(){
		
           
         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
			$result = $this->Webservice_model->get_notification($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'success','data'=>''));
			}
		
		
	}

##################################################################################################



	// public function save_adhar_info_post(){
		
			
	// 		$postdata = file_get_contents("php://input");

	// 		$request = json_decode($postdata,true);
			
	// 		if($request){
	// 			$result = $this->Webservice_model->save_adhar_info($request);
			
	// 		if($result){
	// 			print json_encode(array('status' => 'success','message' => 'Adhar Info Updated'));
	// 		} else {
	// 			print json_encode(array('status' => 'error'));
	// 		}
	
	// 	}else{
	// 		print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
	// 	}
			

	// }





	public function save_adhar_info_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
			
			if($request){
				$result = $this->Webservice_model->save_adhar_info($request);
			
			if($result){
				print json_encode(array('status' => 'success','message' => 'Adhar Info Updated'));
			} else {
				print json_encode(array('status' => 'error'));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}
			

	}





	

	
##################################################################################################

	






	// public function save_pan_info_post(){
		
			
	// 		$postdata = file_get_contents("php://input");

	// 		$request = json_decode($postdata,true);
			
	// 		if($request){
	// 			$result = $this->Webservice_model->save_pan_info($request);
			
	// 		if($result){
	// 			print json_encode(array('status' => 'success','message' => 'PanCard Info Updated'));
	// 		} else {
	// 			print json_encode(array('status' => 'error'));
	// 		}
	
	// 	}else{
	// 		print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
	// 	}
			

	// }






		public function save_pan_info_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
			
			if($request){
				$result = $this->Webservice_model->save_pan_info($request);
			
			if($result){
				print json_encode(array('status' => 'success','message' => 'PanCard Info Updated'));
			} else {
				print json_encode(array('status' => 'error'));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}
			

	}


##################################################################################################

	// public function save_passport_info_post(){
		
			
	// 		$postdata = file_get_contents("php://input");

	// 		$request = json_decode($postdata,true);
			
	// 		if($request){
	// 			$result = $this->Webservice_model->save_passport_info($request);
			
	// 		if($result){
	// 			print json_encode(array('status' => 'success','message' => 'Passport Info Updated'));
	// 		} else {
	// 			print json_encode(array('status' => 'error'));
	// 		}
	
	// 	}else{
	// 		print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
	// 	}
			

	// }







		public function save_passport_info_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
			
			if($request){
				$result = $this->Webservice_model->save_passport_info($request);
			
			if($result){
				print json_encode(array('status' => 'success','message' => 'Passport Info Updated'));
			} else {
				print json_encode(array('status' => 'error'));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}
			

	}
	
		public function save_goverment_info_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
// 			 $request);
// 			die;
			
			if($request){
				$result = $this->Webservice_model->save_goverment_info($request);
			
			if($result){
				print json_encode(array('status' => 'success','message' => 'Goverment Id Updated'));
			} else {
				print json_encode(array('status' => 'error'));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}
			

	}




##################################################################################################

	public function add_number_post(){
		
			
			$postdata = file_get_contents("php://input");

			$request = json_decode($postdata,true);
			
			if($request){
				$result = $this->Webservice_model->add_number($request);
			
			if($result){
				print json_encode(array('status' => 'success','data'=>$result,'message' => 'Phone Number Updated'));
			} else {
				print json_encode(array('status' => 'error'));
			}
	
		}else{
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}
			

	}

##################################################################################################






	public function get_document_post(){
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata,true);
		$array = array(1,2,3);
		for($i=0;$i<count($array);++$i){
			$rs = $this->db->where('user_id',$request)->where("type",$array[$i])->get("verification");
			$no_count = $rs->num_rows();
			if($no_count>0){
				$res = $rs->row();
				$status = $res->status;
			} else {
				$status = 0;
			}
			$data = array("status"=>$status);
			$result[] = $data;
		}
		print json_encode(array('status' => 'success','data'=>$result));
	}
      public function sendmessage_post(){
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		
		if($request){
			$result = $this->Webservice_model->get_booked_data($request);
			$this->Webservice_model->booked_push_data($result);
		
			$content = array(
			"en" => 'New ride alert'
			);
			$headings = array(
							"en" => 'Ride'
							);
							
						
			$include_player_ids  = array($result->player_id);
            $type='booked';
			$res= $this->send_Message($content,$headings,$include_player_ids,$result,$type);
			$return["allresponses"] = $res;
			$return = json_encode($return);
			
		// print("\n\nJSON received:\n");
	    print($return);
		// print("\n");
	

		}else{
			$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
			 print json_encode($response);

		}

	

	 

	}


	public function send_Message($content,$headings,$include_player_ids,$result,$type,$id=null){
	
		
		$fields = array(
			'app_id' => "7c692b68-a71f-4c8d-b639-635e9dc4b7de",
			
	      	'data' => array("type" => "ride alert",
	      	                "result" => (isset($result) && !empty($result))?$result:'',
							  "ride_id"=>$id,
							  "push_type"=>$type
	      	              ),
			'contents' => $content,
			'include_player_ids' => $include_player_ids,
			'headings' =>$headings
			
		);
		// var_dump($fields);
			
		$fields = json_encode($fields);
	    
	    // print("\nJSON sent:\n");
	    // print($fields);
		
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications");
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8',
												   'Authorization: Basic NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj'));
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
		curl_setopt($ch, CURLOPT_HEADER, FALSE);
		curl_setopt($ch, CURLOPT_POST, TRUE);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

		$response = curl_exec($ch);
		curl_close($ch);
		
		return $response;
	}
/*	public function similar_ride_alert_post(){
		
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		
			if($request){
				$result = $this->Webservice_model->similar_ride_alert($request);
			
			if($result){
				$response=array('status' => 'success','message' => 'ride alert table updated');
			} else {
				$response=array('status' => 'error');
			}
	
		}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
		}
		print json_encode($response);

			



	}*/
	
		public function similar_ride_alert_post(){
		
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		
			if($request){
				$result = $this->Webservice_model->similar_ride_alert($request);
			
			if($result){
				$response=array('status' => 'success','message' => 'Ride alert created successfully');
			} else {
				$response=array('status' => 'error', 'message'=>'Error!! Try Again');
			}
	
		}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
		}
		print json_encode($response);

			



	}
	public function rate_ride_data_post(){
		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
 	
			if($request){
			    $checkrater=$this->Webservice_model->rate_ride_check($request);
			 //   	echo $this->db->last_query();
			    if($checkrater){
			 	$result = $this->Webservice_model->rate_ride_update($request,$checkrater->id);
			 		 	if($result){
			 	    $response=array('status' => 'success','message' => 'Rated Successfully');
			 	    
			 	}else{
			 	     $response=array('status' => 'error');	
			 	    
			 	}
			        
			    }else{
				 $this->db->where('id',$request->create_user); 
                 $query = $this->db->get('users');
                 $rs = $query->row();
				$result = $this->Webservice_model->rate_ride($request);

					if($result){
                      $check_notification=$this->Webservice_model->check_notification_rate($request->owner);
					  
					  if($check_notification->email_new_rating == 1){
							$request->create_user_name= $rs->first_name;
							$subject="Rated";
							$user_id =$request->owner;
							$page='confirm_mails/confirm_mail_rate';
							$this->email_send($request,$subject,$user_id,$page);
                        
					  }if($check_notification->push_ratings == 1){
							$request->create_user_name= $rs->first_name;
						    $this->send_rating_alert($request);
					  }
                       $response=array('status' => 'success','message' => 'Rated Successfully');
					}else{
					 $response=array('status' => 'error');	
					}}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);
		


	}

##################################################################################################

// 	public function passport_upload_post(){

//              if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
//              	$uploads_dir = './assets/uploads/profile_pic/';
//              	$tmp_name = $_FILES['file']['tmp_name'];
//              	$pic_name = $_FILES['file']['name']; 
//              	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
//              	move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
// 			$request = $_POST;		
// 			//$request['image'] = $uploads_dir.$pic_name;	
// 			$request['file'] = base_url().$uploads_dir.$pic_name;	
			

// 			$result = $this->Webservice_model->passport_uploads($request);
			
// 			if($result){
// 				print json_encode(array('status' => 'success','message'=>'Profile Photo Updated Succesfully','data'=>$result));

// 			} else {
// 				print json_encode(array('status' => 'error','data'=>''));
// 			}
// 		} else {
// 			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
// 		}


// }



public function passport_upload_post(){
        

             if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
             	$uploads_dir = './assets/uploads/profile_pic/';
             	$tmp_name = $_FILES['file']['tmp_name'];
             	$pic_name = $_FILES['file']['name']; 
             	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
             	$result = move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
			/*$request = $_POST;	
			 $_POST);
			die();
			//$request['image'] = $uploads_dir.$pic_name;	
			$request['file'] = base_url().$uploads_dir.$pic_name;	*/
			

		//	$result = $this->Webservice_model->passport_uploads($request);
			
			if($result){
				print json_encode(array('status' => 'success','message'=>'Profile Photo Updated Succesfully','data'=>$pic_name));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		} else {
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}


}


public function goverment_upload_post(){
        

             if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
             	$uploads_dir = './assets/uploads/profile_pic/';
             	$tmp_name = $_FILES['file']['tmp_name'];
             	$pic_name = $_FILES['file']['name'];
                $path_parts = pathinfo($_FILES["file"]["name"]);
		    	$extension = $path_parts['extension'];
			   $pic_name = 'tukkibi'.'_'.time().".".$extension;
            //  		$request['file'] = base_url().$uploads_dir.$pic_name;
             	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
             	$result = move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
			/*$request = $_POST;	
			 $_POST);
			die();
			//$request['image'] = $uploads_dir.$pic_name;	
			$request['file'] = base_url().$uploads_dir.$pic_name;	*/
			

		//	$result = $this->Webservice_model->passport_uploads($request);
			
			if($result){
				print json_encode(array('status' => 'success','message'=>'Profile Photo Updated Succesfully','data'=>base_url().$uploads_dir.$pic_name));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		} else {
			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
		}


}










##################################################################################################
      public function getrate_find_ride_post(){
		  $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
			if($request){
				$result=$this->Webservice_model->getrate($request);
			
			
					if($result){
						$result->avgrate=round($result->avgrate,'3');
                       $response=array('status' => 'success','data'=>$result);
					}else{
					 $response=array('status' => 'error');	
					}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);
		


	  }
	  
##################################################################################################
   public function approve_booking_post(){
	
	    $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		
		if($request){
				$result=$this->Webservice_model->approve_ride($request);
					if($result){
					   //var_dump($request->user_id);
					 $check_notification=$this->Webservice_model->check_notification_rideaccept($request->user_id);
			   	       	if($check_notification){
			   	       	    	$this->approve_send_alert($request);
			   	            	
			   	       	    
			   	       	}
					    
					    
					 $newresult=$this->Webservice_model->booking_aproval($request);
                       $response=array('status' => 'success','data'=>$result);
					}else{
					 $response=array('status' => 'error');	
					}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);
		



   }

   public function update_ride_status_post(){
   		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);

		$result=$this->Webservice_model->update_ride_status($request);
		
		if($result){
           $response=array('status' => 'success');
		}else{
		 $response=array('status' => 'error');	
		}
		print json_encode($response);
	

   }

   public function update_booking_status_post(){
   		$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);

		$result=$this->Webservice_model->update_booking_status($request);
		
		if($result){
           $response=array('status' => 'success');
		}else{
		 $response=array('status' => 'error');	
		}
		print json_encode($response);
	

   }
   #################################################################################################
  public function reject_booking_post(){
	   $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
				$result=$this->Webservice_model->reject_ride($request);
				
					if($result){
					    	$this->reject_send_alert($request);
                       $response=array('status' => 'success','data'=>$result);
					}else{
					 $response=array('status' => 'error');	
					}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);
		



  }
  ##############################################################################################
  public function delete_offer_ride_post(){
	  	 $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
				$result=$this->Webservice_model->delete_offer_ride($request);
				
					if($result){
                       $response=array('status' => 'success','data'=>$result);
					}else{
					 $response=array('status' => 'error');	
					}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);

  }

  	  public function deletebooking_post(){
	  	 $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
				$result=$this->Webservice_model->deletebooking($request);
				
					if($result){
                       $response=array('status' => 'success','data'=>$result);
					}else{
					 $response=array('status' => 'error');	
					}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);

  }


  #################################################################################################
  public function  email_send($data,$subject,$user_id,$page) {
	
     $this->db->where('id',$user_id); 
     $query = $this->db->get('users');
     $rs = $query->row();
		if($rs){
			 $username = $rs->first_name;  
			 $this->load->library('email');
				$config = Array(
						'protocol' => 'smtp',
						'smtp_host' => 'mail.techlabz.in',
						'smtp_port' => 587,
						'smtp_user' => 'no-reply@techlabz.in', // change it to yours
						'smtp_pass' => 'k4$_a4%eD?Hi', // change it to yours
						'smtp_timeout'=>20,
						'mailtype' => 'html',
						'charset' => 'iso-8859-1',
						'wordwrap' => TRUE
					);
				$this->email->initialize($config);// add this line
				$subject = 'New Mail';
				$this->email->from('no-reply@techlabz.in');
				$this->email->to($rs->email);
				$this->email->subject($subject);
				$msg=$this->load->view($page,$data,true);
				// var_dump($msg);
				$this->email->message($msg);
				$res = $this->email->send();
				//$rs = $this->email->print_debugger();
				

			
		}
	    

	 }
	 ##################################################################################################
	 	 	public function send_rating_alert($result){
				 $this->db->where('id',$result->owner); 
                 $query = $this->db->get('users');
                 $rs = $query->row();
			
			$content = array(
				"en" => $result->create_user_name.'rated you'
				);
			$headings = array(
								"en" => 'Rating'
								);		
			$type='rating_alert';	
			$include_player_ids  = array($rs->player_id);
			

				$res= $this->send_Message($content,$headings,$include_player_ids,$result,$type);
					$return = $res;
			
	
 

	}
	###################################################################################################################
	  public function report_ride_insert_post(){
	  	 $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
				$result=$this->Webservice_model->report_ride_insert($request);
				
					if($result){
                       $response=array('status' => 'success','data'=>$result,'message'=>'Report the ride Successfully');
					}else{
					 $response=array('status' => 'error','message'=>'Error!Try Again');	
					}

			}else{
			$response=array('status' => 'error','message'=>'Something Went wrong');
			}
			print json_encode($response);

  }
  ##################################################################################################################################
      public function offer_ride_count_details_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request) {
			$result = $this->Webservice_model->offer_ride_count_details($request);
			if($result){
				$response=array('status' => 'success','data'=>$result);

			}else{
				 $response=array('status' => 'Warning','message'=>'Error Occured','data'=>'');

			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
				print json_encode($response);
		  
	  }
	  ################################################################################################
	  public function booking_ride_count_details_post(){
		  $postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request) {
			$result = $this->Webservice_model->booking_ride_count_details($request);
			if($result){
				$response=array('status' => 'success','data'=>$result);

			}else{
				 $response=array('status' => 'error','message'=>'Error Occured','data'=>'');

			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
				print json_encode($response);

	  }
 
	  #####################################################################################################
	  	public function offer_history_ride_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request) {
			$result = $this->Webservice_model->offer_history_ride($request);
			if($result){
				$response=array('status' => 'success','data'=>$result);

			}else{
				 $response=array('status' => 'Warning','message'=>'No More Data To show','data'=>'');

			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
				print json_encode($response);

		  }
		  ########################################################################################################

		  public function booking_ride_history_post(){
			  $postdata = file_get_contents("php://input");
    	      $request = json_decode($postdata,true);
	
			if($request){
				
				$result = $this->Webservice_model->booking_ride_history($request);
				if($result){
					  $response=array('status' => 'success','data'=>$result);

				}else{
					 $response=array('status' => 'Warning','message'=>'No More Booking Found','data'=>'');
					
				}

			}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	
			}
			print json_encode($response);

		  }


     ########################################################################################################################

	 public function user_detail_update_post(){
		   $postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		 
		   if($request){
				
				$result = $this->Webservice_model->user_location_update($request);
				if($result){
					  $response=array('status' => 'success','data'=>$result);

				}else{
					 $response=array('status' => 'Warning','message'=>'location updated','data'=>'');
					
				}

			}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	
			}
			print json_encode($response);


	 }
	 ########################################################################################################
	 
	 public function ridestart_push_post(){
		  $postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		
		  
				if($request){
				$result= $this->Webservice_model->ridestart_push($request);
				if($result){
					foreach($result as  $key => $value){
				
					
			     $content = array(
					"en" => 'Ride start after 30 minutes'
					);
				$headings = array(
									"en" => 'Ride start'
									);		
				$type='ride_start';	
				$include_player_ids  = array($value->player_id);
				$res= $this->send_Message($content,$headings,$include_player_ids,$result,$type);
				$return = $res;
				$response=$return;
	 				 				 
				}

				}else{
						$response=array('status' => 'error','message'=>'error','data'=>'');	
					}
					

	}else{
		$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	
					}
	 print json_encode($response);

	}
	####################################################################################################################
	// 		public function get_number(){
		
	// 			echo "jhbr";
 //         	 $postdata = file_get_contents("php://input");
	//  	     $request = json_decode($postdata,true);
	 	     
	// 		$result = $this->Webservice_model->get_number($request);
	// 		if($result){
	// 			print json_encode(array('status' => 'success','data'=>$result));

	// 		} else {
	// 			print json_encode(array('status' => 'error','data'=>''));
	// 		}
		
		
	// }





	public function get_number_post(){
		

         	 $postdata = file_get_contents("php://input");
	 	     $request = json_decode($postdata,true);
	 	     
			$result = $this->Webservice_model->get_number($request);
			if($result){
				print json_encode(array('status' => 'success','data'=>$result));

			} else {
				print json_encode(array('status' => 'error','data'=>''));
			}
		
		
	}




// 		public function test_upload_post(){

//              if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
//              	$uploads_dir = './assets/uploads/profile_pic/';	
//              	$tmp_name = $_FILES['file']['tmp_name'];
//              	$pic_name = $_FILES['file']['name']; 
//              	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
//              	move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
// 			$request = $_POST;		
// 			//$request['image'] = $uploads_dir.$pic_name;	
// 			$request['file'] = base_url().$uploads_dir.$pic_name;	
			

// 			$result = $this->Webservice_model->test($request);
			
// 			if($result){
// 				print json_encode(array('status' => 'success','message'=>'Profile Photo Updated Succesfully','data'=>$result));

// 			} else {
// 				print json_encode(array('status' => 'error','data'=>''));
// 			}
// 		} else {
// 			print json_encode(array('status' => 'error','message'=>'Something Went wrong'));
// 		}


// }


	public function update_carphoto_post(){

			// print json_encode(array('status' => 'error','data'=>$_FILES));
			// die();

         if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
         	$uploads_dir = './assets/uploads/profile_pic/';	
         	$tmp_name = $_FILES['file']['tmp_name'];
         	$pic_name = $_FILES['file']['name']; 
         	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
         	move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
         	

        
		$request = $_POST;		
		//$request['image'] = $uploads_dir.$pic_name;	
		$request['file'] = base_url().$uploads_dir.$pic_name;	
	//$request['file'] = $uploads_dir.$pic_name;

		$result = $this->Webservice_model->carphoto_uploads($request);
		
		if($result){
			print json_encode(array('status' => 'success','message'=>'Car Photo Updated Succesfully','data'=>$result));

		} else {
			print json_encode(array('status' => 'error','data'=>''));
		}
	} else {
		print json_encode(array('status' => 'error','message'=>'Something Went wrrong'));
	}


}


	public function car_details_start_post(){
           $postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		 
		   if($request){
			   $result=$this->Webservice_model->cardetails_startride($request);
			   	if($result){
                     $response=array('status' => 'success','data'=>$result);
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);
		
	}
	#############################################################################################################################
	public function cotravellers_list_post(){
		$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		   if($request){
			   $result=$this->Webservice_model->cotravellers_list($request);
			 //  echo $this->db->last_query();
			   	if($result){
					  
                     $response=array('status' => 'success','data'=>$result);
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);

	}
	##############################################################################################
	public function payment_cash_post(){
		$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		   if($request){
			   $result=$this->Webservice_model->payment_cash($request);
			   	if($result){
					  
                     $response=array('status' => 'success','data'=>'');
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);

	}
	#####################################################################################################

		public function check_redeem_code_post(){
		$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		
		   if($request){
			   $result=$this->Webservice_model-> check_redeem_code($request);
			   	if($result){
					  
                     $response=array('status' => 'success','data'=>'');
				   }else{
					  $response=array('status' => 'error','message'=>'Code is not valid','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);

	}
	#############################################################################################
	public function yourride_car_edit_post(){
		$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		   if($request){
			   $result=$this->Webservice_model->yourride_car_edit($request);
			   	if($result){
					  
                     $response=array('status' => 'success','data'=> $result);
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);


	}
	###################################################################################################
        	public function offer_edit_post(){
		$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		    if($request){
		        $car_edit_exist=$this->Webservice_model->car_edit_exist($request);
		        if($car_edit_exist){
		             $response=array('status' => 'error','message'=>'No car Available','data'=>'');
		            
		        }else{
		             $result=$this->Webservice_model->offer_edit($request);
		            
			   	if($result){
			   	   $result_ride = $this->Webservice_model->result_edit_ride($request);
			   	 //  var_dump($result_ride);
			   	   if($result_ride){
			   	       	$check_notification=$this->Webservice_model->check_notification_offer_updates($request['users_id']);
			   	       	if($check_notification){
			   	            		$subject="Offerride Updations";
									$user_id =$request['users_id'];
									$page= 'confirm_mails/confirm_mail_offerupdate.php';
							$this->email_send($result,$subject,$user_id,	$page);										
									
			   	       	    
			   	       	}
			   	       	
			   	       $res = $this->send_alert($result_ride);
			   	        $response=array('status' => 'success','data'=>'');
			   	   }

					  
                    
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }
		            
		        }
			  

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);

	}
	#################################################################################################################
	public function drivertrack_map_post(){
		$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		    if($request){
			   $result=$this->Webservice_model->drivertrack_map($request);
			   	if($result){
					  
                     $response=array('status' => 'success','data'=> $result);
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);
     
	}
	public function drivertrack_location_post(){
			$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		    if($request){
			   $result=$this->Webservice_model->drivertrack_location($request);
			   	if($result){
					  
                     $response=array('status' => 'success','data'=> $result);
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);
     

	}
	#################################################################################################################
	public function chatuserdetails_post(){
			$postdata = file_get_contents("php://input");
    	   $request = json_decode($postdata,true);
		    if($request){
			   $result=$this->Webservice_model->chatuserdetails($request);
			   	if($result){
					  
                     $response=array('status' => 'success','data'=> $result);
				   }else{
					  $response=array('status' => 'error','message'=>'error','data'=>'');	 
				   }

		   }else{
			   $response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
		   }
		   print json_encode($response);

	}
	################################################################################################################
// 		public function update_carphoto_post(){

// 				print json_encode(array('status' => 'error','data'=>$_FILES));
// 				die();

//              if(is_uploaded_file($_FILES['file']['tmp_name'])){ 
//              	$uploads_dir = './assets/uploads/profile_pic/';	
//              	$tmp_name = $_FILES['file']['tmp_name'];
//              	$pic_name = $_FILES['file']['name']; 
//              	$pic_name = str_replace(' ', '_', mt_rand().$pic_name);
//              	move_uploaded_file($tmp_name, $uploads_dir.$pic_name);
             	

            
// 			$request = $_POST;		
// 			//$request['image'] = $uploads_dir.$pic_name;	
// 			$request['file'] = base_url().$uploads_dir.$pic_name;	
// 		//$request['file'] = $uploads_dir.$pic_name;

// 			$result = $this->Webservice_model->carphoto_uploads($request);
			
// 			if($result){
// 				print json_encode(array('status' => 'success','message'=>'Car Photo Updated Succesfully','data'=>$result));

// 			} else {
// 				print json_encode(array('status' => 'error','data'=>''));
// 			}
// 		} else {
// 			print json_encode(array('status' => 'error','message'=>'Something Went wrrong'));
// 		}


// }


public function end_ride_update_post(){
				$postdata = file_get_contents("php://input");
				$request = json_decode($postdata,true);
				// var_dump($request);die;
				 if($request){
					$result=$this->Webservice_model->end_ride_update($request);
						if($result){
						   
						  $response=array('status' => 'success','data'=> $result);
						}else{
						   $response=array('status' => 'error','message'=>'error','data'=>'');	 
						}
	 
				}else{
					$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
				}
				print json_encode($response);
	 
		 }
		  public function get_push_notification_details_post(){
			$postdata = file_get_contents("php://input");
			$request = json_decode($postdata,true);
			if($request){
				$response=$this->Webservice_model->get_push_notification_details($request);

			}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
			}
			print json_encode($response);
		 }
		 
		 
		 function get_ride_info_post(){
           	$postdata = file_get_contents("php://input");
			$request = json_decode($postdata,true);
			if($request){
				
				$this->db->select('ride.*,car_details.car_image');
				$this->db->where('ride.id',$request);
                $this->db->from('ride');
                $this->db->join('car_details','ride.car_id=car_details.id','left');
				 $result = $this->db->get()->row();
                $response=array('status' => 'success','data'=>$result);
			}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');
			}
			print json_encode($response);         
         }
         
         
         
		 public function reject_send_alert($request){
			 $res=$this->Webservice_model->reject_send_details($request);

		
					$content = array(
					"en" => 'Ride Rejected '
					);
					$headings = array(
									"en" => 'Ride'
									);
									// var_dump(array($result['player_id']));
						// var_dump($content);
						$type='ride_reject_alert';
						//die;	
					$include_player_ids  = array($res->player_id);
				$id='';
	
					$ress= $this->send_Message($content,$headings,$include_player_ids,$res,$type,$id);
					$data['email'] = $res->email;
					$data['subject'] = 'Booking Rejected';
					$data['msg'] = 'Hi '.$res->first_name.', Your Request is Rejected.';
					$this->send_mails($data);
						$return = $ress;
					//	print($return);
				//	$return = json_encode($return);
			
	
		
	
		 
	
		}
		
		
				 public function approve_send_alert($request){
			 $res=$this->Webservice_model->approve_send_details($request->booking_id);
			 //print_r($res->email);exit();
		
					$content = array(
					"en" => 'Ride Accepted '
					);
					$headings = array(
									"en" => 'Ride'
									);
									// var_dump(array($result['player_id']));
						// var_dump($content);
						$type='ride_approve_alert';
						//die;	
					$include_player_ids  = array(isset($res->device_id) && !empty($res->device_id)? $res->device_id : '');
				$id='';
	
					$ress= $this->send_Message($content,$headings,$include_player_ids,$res,$type,$id);
					$data['email'] = $res->email;
					$data['subject'] = 'Booking Approved';
					$data['msg'] = 'Hi '.$res->first_name.', Your Request is Approved.';
					$this->send_mails($data);
						$return = $ress;
					//	print($return);
				//	$return = json_encode($return);
			
	
		
	
		 
	
		}
		#######################################################################
			  public function booking_history_count_details_post(){
		  $postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request) {
			$result = $this->Webservice_model->booking_history_count_details($request);
			if($result){
				$response=array('status' => 'success','data'=>$result);

			}else{
				 $response=array('status' => 'error','message'=>'Error Occured','data'=>'');

			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
				print json_encode($response);

	  }
	  ##########################################################################
	  	      public function offer_history_count_details_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
		if($request) {
			$result = $this->Webservice_model->offer_history_count_details($request);
			if($result){
				$response=array('status' => 'success','data'=>$result);

			}else{
				 $response=array('status' => 'Warning','message'=>'Error Occured','data'=>'');

			}

		}else{
				$response=array('status' => 'error','message'=>'Something Went Wrong','data'=>'');	

		}
				print json_encode($response);
		  
	  }
	  
	  
	  ##########################################################################
	   public function car_active_check_post(){
        $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
    		if($request){
    		   $result=$this->Webservice_model->car_active_check($request);
    		   if($result){
    		        $response=array('status' => 'success','data'=>$result);
    		       
    		   }else{
    		       $response=array('status' => 'error','message'=>"Booking with this car!!Not allowed to Edit");
    		       
    		   }
    		}
       print json_encode($response);
     }
     
     ##########################################################################
     
       public function edit_users_car_post(){
        $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
		   $result=$this->Webservice_model->edit_users_car($request);
		   if($result){
		        $response=array('status' => 'success','data'=>$result,'message'=>'Updated Car details Successfully');
		       
		   }else{
		       $response=array('status' => 'error','message'=>"Not Updated!!Try Again");
		   }
		    
		}else{
		    $response=array('status' => 'error','message'=>'Something Went wrong'); 
		}
		  print json_encode($response);
         
     }
     
     ###########################################################################
     
        public function get_verification_details_post(){
        $postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
		   $result=$this->Webservice_model->get_verification_details($request);
		  //echo $this->db->last_query();
		   if($result){
		       $result->verify_status=$result->status;
		        $response=array('status' => 'success','data'=>$result,'message'=>'sucess');
		       
		   }else{
		       $response=array('status' => 'error','message'=>"failure");
		   }
		    
		}else{
		    $response=array('status' => 'error','message'=>'Something Went wrong'); 
		}
		  print json_encode($response);
         
     }
     /*********************otp_anju************************/


    public function otp_verify(){
    	$postdata = file_get_contents("php://input");
		$request = json_decode($postdata);
		if($request){
		   	$result=$this->Webservice_model->otp_verify($request);
		   	if($result){

		       $response=array('status' => 'success','data'=>$result,'message'=>'success');
		       
		   	}else{
		       $response=array('status' => 'error','message'=>"failure");
		   	}
		}else{
		    $response=array('status' => 'error','message'=>'Something Went wrong'); 
		}
		  print json_encode($response);
     }

    

/********send mail ***************/
  public function send_mail($email,$sub,$body,$name){

    $mail = new PHPMailer(true); 
    $mail->SMTPDebug = 2;                                 
      $mail->isSMTP();                                      
      $mail->Host = 'email-smtp.eu-west-1.amazonaws.com'; 
      $mail->SMTPAuth = true;                               
      $mail->Username = 'AKIAJSARUYNQ6JILLDEA';                 
      $mail->Password = 'AlGnHXKNoQRCrIqZzXUzdRPR94ENkLO3TXfSqIKBlpSA';                           
      $mail->SMTPSecure = 'tls';                            
      $mail->Port = 587;                                    
     // $data->email = 'adarsh.techware@gmail.com';


       //Recipients
      $mail->setFrom('no-reply@ipakkie.com', 'Ipakkies Mailer');
	  //$mail->setFrom('nyhasinas@gmail.com', 'Ipakkie Mailer');
      // $mail->addAddress('anju.techware@gmail.com', 'Rila User');     // Add a recipient
       $mail->addAddress($email,$name); 
      //Content
      $mail->isHTML(true);                                  // Set email format to HTML
      $mail->Subject = $sub;
      $mail->Body    = $body;
      //"New Password is:".$rand_pwd;
      // $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

      $mail->send();

      //  $mail->print_debugger());
      
        
        
      return "1";

  } 



  /******************************************New Webservice(TUKKIBI)*****************************/


	public function duplicate_ride_post(){
		header('Content-type: application/json');
		$headers =  apache_request_headers();

		$data = (array) json_decode(file_get_contents("php://input"));
		if(isset($data['ride_id']) && strlen(trim($data['ride_id']," ")) > 0 && isset($data['departure_date']) && strlen(trim($data['departure_date']," ")) > 0 && isset($data['detour_time']) &&  strlen(trim($data['detour_time']," ")) > 0) {
			$result = $this->Webservice_model->duplicate_ride($data);
			if($result['status'] == 'success'){
				$res = array('status'=>'success');
			}else{
				$res = array('status'=>'failed','error'=>'error','message'=>$result['message']);
			}
		}else{
			$res =  array(
				"status"=> "error",
				"error"=> "Not Valid",
				"message"=> "All Field is Required"
			);
		}
		print json_encode($res);
	}


	public function get_currency_get(){
		header('Content-type: application/json');
		$headers =  apache_request_headers();

		$result = $this->Webservice_model->get_currency();
		if($result['status'] == 'success'){
			$res = array('status'=>'success','data'=>$result['data']);
		}else{
			$res = array('status'=>'failed','error'=>'error','message'=>'Something Went Wrong...Try Again Later!');
		}
		print json_encode($res);
	}

	public function update_currency_post(){
		header('Content-type: application/json');
		$headers = apache_request_headers();

		$data = (array) json_decode(file_get_contents("php://input"));
		if(isset($data['user_id']) && strlen($data['user_id']) && isset($data['currency']) && strlen($data['currency'])){
			$result = $this->Webservice_model->update_currency($data);
			if($result){
				$res = array('status'=>'success');
			}else{
				$res = array('status'=>'failed');
			}
		}else{
			$res = array('status'=>'failed','error'=>'error','message'=>'User Id and Currency is Required');
		}
		print json_encode($res);
	}

	public function get_ride_members_post(){
		header('Content-type: application/json');
		$headers = apache_request_headers();

		$data = (array) json_decode(file_get_contents("php://input"));
		if(isset($data['user_id']) && strlen($data['user_id']) && isset($data['ride_id']) && strlen($data['ride_id'])){
			$result = $this->Webservice_model->get_ride_members($data);
			if($result['status'] == 'success'){
				$res = array('status'=>'success','riders'=>$result['data']);
			}else{
				$res = array('status'=>'failed');
			}
		}else{
			$res = array('status'=>'failed','error'=>'error','message'=>'User Id and Ride Id is Required');
		}
		print json_encode($res);
	}

	public function get_rider_profile_post(){
		header('Content-type: application/json');
		$headers = apache_request_headers();

		$data = (array) json_decode(file_get_contents("php://input"));
		if(isset($data['rider_id']) && strlen($data['rider_id'])){
			$result = $this->Webservice_model->get_rider_profile($data);
			if($result){
				$res = array('status'=>'success','riders'=>$result['data']);
			}else{
				$res = array('status'=>'failed');
			}
		}else{
			$res = array('status'=>'failed','error'=>'error','message'=>'Ride Id is Required');
		}
		print json_encode($res);
	}
	public function get_reviews_post(){
		header('Content-type: application/json');
		$headers = apache_request_headers();

		$data = (array) json_decode(file_get_contents("php://input"));
		if(isset($data['user_id']) && strlen($data['user_id'])){
			$result = $this->Webservice_model->get_reviews($data);
			if($result['status'] == 'success'){
				$res = array('status'=>'success','data'=>$result['data']);
			}else{
				$res = array('status'=>'failed');
			}
		}else{
			$res = array('status'=>'failed','error'=>'error','message'=>'Ride Id is Required');
		}
		print json_encode($res);
	}

	public function calculate_distance_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
    	
		$from = $request['source'];
		$remFrom = str_replace(',', '', $from); //Remove Commas
		$from = urlencode($remFrom);
		$to = $request['destination'];
		$remTo = str_replace(',', '', $to); //Remove Commas
		$to = urlencode($remTo);
		$data = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?&key=AIzaSyA30TEywZIiq6dv6l-JKezQWrEnLeoCiTc&origins=$from&destinations=$to&language=en-EN&sensor=false");
		$data = json_decode($data, true);
		$time = $data['rows'][0]['elements'][0]['duration']['text']; //Text for String and Value for INT
		$distance = $data['rows'][0]['elements'][0]['distance']['text'];//T
		$settings= $this->Webservice_model->getkm_charge();
		$kmcharge=$distance *($settings->kmcharge);
		if($kmcharge){
			$res = array('status'=>'success','km_price'=>$kmcharge);
		}else{
			$res = array('status'=>'error');
		}
		print json_encode($res);
	}

	public function recurring_ride_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);
    	$recur_data = $this->Webservice_model->recurring_ride($request);
    	if($recur_data){
    		$ride_data = $this->Webservice_model->get_recuring_rideid_data($request['ride_id']);
    		$monday = strtotime("last monday");
			$monday = date('w', $monday)==date('w') ? $monday+7*86400 : $monday;
			 
			$sunday = strtotime(date("Y-m-d",$monday)." +6 days");
			 
			$this_week_sd = strtotime(date("Y-m-d",$monday));
			$this_week_ed = strtotime(date("Y-m-d",$sunday));

			$ride_start_date = strtotime($request['start_date']);
			$ride_end_date = strtotime($request['end_date']);
			
    		if($request['recur_type'] == '0'){
				if($ride_start_date <= $this_week_ed){

					if($ride_end_date <= $this_week_ed){
						
						$ride_differ = abs($ride_start_date - $ride_end_date);
						$days = $ride_differ/(60 * 60 * 24);
						$rec_res = $this->insert_new_recring_ride($ride_data,$request,$days);
						if($rec_res){
							$res = array('status'=>'success');
						}else{
							$res = array('status'=>'error','error'=>'error','message'=>'1 Something Went Wrong.. Try Again Later');
						}

					}else{
						//$ride_strt = explode('T',$request['start_date']);
						$ride_differ = abs($ride_start_date - $this_week_ed);
						$days = $ride_differ/(60 * 60 * 24);
						$rec_res = $this->insert_new_recring_ride($ride_data,$request,$days);
						if($rec_res){
							$res = array('status'=>'success');
						}else{
							$res = array('status'=>'error','error'=>'error','message'=>'2 Something Went Wrong.. Try Again Later');
						}
					}
				}else{
					$res = array('status'=>'success');
				}
    		}elseif($request['recur_type'] == '1'){
    			//$ride_strt = explode('T',$request['start_date']);
				$ride_differ = abs($ride_start_date - $this_week_ed);
				$days = $ride_differ/(60 * 60 * 24);
				$rec_res = $this->insert_new_recring_ride($ride_data,$request,$days);
				if($rec_res){
					$res = array('status'=>'success');
				}else{
					$res = array('status'=>'error','error'=>'error','message'=>'4 Something Went Wrong.. Try Again Later');
				}
    		}
    	}else{
    		$res = array('status'=>'error','error'=>'error','messgae'=>'5 Something Went Wrong.. Try Again Later');
    	}
    	print json_encode($res);
	}

	public function insert_new_recring_ride($ride_data,$request,$days){
		/*$nextday = explode('T',$request['start_date']);
		$nextdate = $nextday[0];*/
		$nextdate = $request['start_date'];
		/*print_r($request['week_available'][0][$numeric_depart_date]['time']);exit();*/
		$new = array();
		for($i=0; $i<=$days; $i++){

			$depart_date= strtotime($nextdate) ;
			$numeric_depart_date = strtolower(date('l',$depart_date));
			if($request['week_available'][$numeric_depart_date]['status'] == '1'){
				$data =array('source'=>$ride_data->source,
	                'destination'=>$ride_data->destination,
	                'source_lat'=>$ride_data->source_lat,
	                'source_lng'=>$ride_data->source_lng,
	                'destination_lat'=>$ride_data->destination_lat,
	                'destination_lng'=>$ride_data->destination_lng,
	                'stopover'=>$ride_data->stopover,
	                'stopover_lng'=>$ride_data->stopover_lng,
	                'stopover_lat'=>$ride_data->stopover_lat,
	                'pickup_flexibility'=>$ride_data->pickup_flexibility,
	                'for_ladies'=>$ride_data->for_ladies,
	                'to_airport'=>$ride_data->to_airport,
	                'detour'=>$ride_data->detour,
	                'no_of_seats'=>$ride_data->no_of_seats,
	                'car_id'=>$ride_data->car_id,
	                'max_luggage'=>$ride_data->max_luggage,
	                'price'=>$ride_data->price,
	                'users_id'=>$ride_data->users_id,
	                'departure_date'=>$nextdate,
	                'detour_time'=>$request['week_available'][$numeric_depart_date]['time'],
	                'reached_time'=>$ride_data->reached_time,
	                'is_round_trip'=>$ride_data->is_round_trip,
	                'status'=>$ride_data->status
	                         );
				$new[$i] = $data;
			}
			$nextdate = date('Y-m-d', strtotime($nextdate . ' +1 day'));
		}
		if(count($new) > 0){
			array_splice($new, 0, 0);
			if($this->db->insert_batch('ride',$new)){
				return true;
			}
		}else{
			return true;
		}
	}

	public function recurring_ride_crone_job(){
		$monday = strtotime("last monday");
		$monday = date('w', $monday)==date('w') ? $monday+7*86400 : $monday;
		 
		$sunday = strtotime(date("Y-m-d",$monday)." +6 days");
		 
		$this_week_sd = strtotime(date("Y-m-d",$monday));
		$this_week_ed = strtotime(date("Y-m-d",$sunday));

		$depart_date= strtotime($ride_data->departure_date);
		$ride_start_date = strtotime($request['start_date']);
		$ride_end_date = strtotime($request['end_date']);

		$recur_data = $this->db->get_where('recurring_ride',array('status'=>'0'))->result_array();
		if(count($recur_data) >0){
			foreach ($recur_data as $key => $value) {
				$ride_data = $this->db->get_where('ride',array('id'=>$value['ride_id']))->row();
				$request['week_available'] = json_decode($value['week_available']);
				if($value['end_date'] != ''){
					if(strtotime($value['end_date']) > $this_week_sd ){

						if(strtotime($value['end_date']) > $this_week_ed){

							$this->db->update('recurring_ride',array('start_date'=>date('Y-m-d',$this_week_sd),'end_date'=>date('Y-m-d',$this_week_ed)),array('id'=>$value['id']));

							$request['start_date'] = date('Y-m-d',$this_week_sd);
							$rec_res = $this->insert_new_recring_ride($ride_data,$request,$days=6);

							if($rec_res){
								$res = array('status'=>'success');
							}else{
								$res = array('status'=>'error','error'=>'error','message'=>'Something Went Wrong.. Try Again Later');
							}
						}else{
							$this->db->update('recurring_ride',array('start_date'=>date('Y-m-d',$this_week_sd),'end_date'=>$value['end_date']),array('id'=>$value['id']));

							$ride_differ = abs($this_week_sd - strtotime($value['end_date']));
							$days = $ride_differ/(60 * 60 * 24);
							$request['start_date'] = date('Y-m-d',$this_week_sd);
							$rec_res = $this->insert_new_recring_ride($ride_data,$request,$days);

							if($rec_res){
								$res = array('status'=>'success');
							}else{
								$res = array('status'=>'error','error'=>'error','message'=>'Something Went Wrong.. Try Again Later');
							}
						}
					}else{
						$this->db->update('recurring_ride',array('status'=>'1'),array('id'=>$value['id']));
					}
				}else{
					$this->db->update('recurring_ride',array('start_date'=>date('Y-m-d',$this_week_sd),'end_date'=>date('Y-m-d',$this_week_ed)),array('id'=>$value['id']));
					$request['start_date'] = date('Y-m-d',$this_week_sd);
					$rec_res = $this->insert_new_recring_ride($ride_data,$request,$days=6);
					
					if($rec_res){
						$res = array('status'=>'success');
					}else{
						$res = array('status'=>'error','error'=>'error','message'=>'Something Went Wrong.. Try Again Later');
					}
				}
			}
		}
	}

	public function get_banners_post(){
		$result = $this->Webservice_model->get_banners();
		if($result){
			$res = array('status'=>'success','data'=>$result);
		}else{
			$res = array('status'=>'error');
		}
		print json_encode($res);
	}

	public function get_ride_status_post(){
		$postdata = file_get_contents("php://input");
    	$request = json_decode($postdata,true);

    	$result = $this->Webservice_model->get_ride_status($request);
    	if($result['status'] == 'success'){
    		$res = array('status'=>'success','status'=>$result['data']['status']);
    	}else{
    		$res = array('status'=>'error');
    	}
    	print json_encode($res);
	}

          
           

/********send mail ***************/
	
	public function mailsendfun(){
		 $this->load->library('email');
        $config = Array(
                'protocol' => 'smtp',
                'smtp_host' => 'smtp.sendgrid.net',
                'smtp_port' => 25,
                'smtp_user' => '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', // change it to yours
                'smtp_pass' => 'Golden_123', // change it to yours
                'smtp_timeout'=>20,
                'mailtype' => 'html',
                'charset' => 'utf-8',
                'wordwrap' => TRUE
              );

         $this->email->initialize($config);// add this line

      $subject = 'New Mail';
      //$name= $data->name;
      //$mailTemplate=$data->message;

        //$this->email->set_newline("\r\n");
        $this->email->from('info@techlabz.in');
        $this->email->to('jansa.techware@gmail.com');
        $this->email->subject("Verify Your Email");
        $this->email->message("Success");  
        $this->email->send();
      //  echo $this->email->print_debugger();
        return "EmailSend";
	}


      
     /**********************************************************/



     ###Edited by ADARSH####



     function phpmailer() {
		$this->load->library("PhpMailerLib");
        $mail = $this->phpmailerlib->load();
		try {
			    //Server settings
			    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
			    $mail->isSMTP();                                      // Set mailer to use SMTP
			    $mail->Host = 'email-smtp.eu-west-1.amazonaws.com';  // Specify main and backup SMTP servers
			    $mail->SMTPAuth = true;                               // Enable SMTP authentication
			    $mail->Username = 'AKIAJSARUYNQ6JILLDEA';                 // SMTP username
			    $mail->Password = 'AlGnHXKNoQRCrIqZzXUzdRPR94ENkLO3TXfSqIKBlpSA';                           // SMTP password
			    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
			    $mail->Port = 587;                                    // TCP port to connect to
			    //Recipients
			    $mail->setFrom('nyhasinas@gmail.com', 'Ipakkie Mailer');
			    $mail->addAddress('adarsh.techware@gmail.com', 'ADARSH');     // Add a recipient
			    $mail->addAddress('rilakely@yahoo.com');
			    //$mail->addCC('cc@example.com');
			    //$mail->addBCC('bcc@example.com');

			    //Attachments
			    //$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
			    //$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

			    //Content
			    $mail->isHTML(true);                                  // Set email format to HTML
			    $mail->Subject = 'Forgot Password';
			    $mail->Body    = 'Email Testing <b>in bold!</b>';
			    $mail->AltBody = 'Skip Mail';

			    $mail->send();
			    echo 'Message has been sent';
			} catch (Exception $e) {
			    echo 'Message could not be sent.';
			    echo 'Mailer Error: ' . $mail->ErrorInfo;
			}
	}



     ###Edited END##########


	
	
	}