<?php

// Begin
/*use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'C:/Workspace/phpmailer/vendor/autoload.php';*/
// end
class Webservice_model extends CI_Model{
  function __construct(){
    parent::__construct();
  }
//       public function user_reg($data){


//         $num = $this->db->where('username',$data['username'])->get('users')->num_rows();
//         $num1 = $this->db->where('email',$data['email'])->get('users')->num_rows();

//         if($num>0){
//             $result = array('status'=>'error','message'=>'username Already Exists');
//         }elseif($num1>0){
//             $result = array('status'=>'error','message'=>'Email Already Exists');
//         } else {
//             $this->db->insert('users',array('first_name'=>$data['first_name'],'last_name'=>$data['last_name'],'username'=>$data['username'],'email'=>$data['email'],'password'=>md5($data['password'])));
//             $user_id = $this->db->insert_id();
//             $join_date = date("Y-m-d");
//             $this->db->update('users',array('join_date'=>$join_date));
//             $this->db->insert('user_details',array('user_id'=>$user_id));

//             $this->db->insert('notifications',array('user_id'=>$user_id));
//           //  $this->db->insert('verification',array('user_id'=>$user_id,'type'=>'adhar'));
//             for($i=1;$i<=3;$i++){
//                 $data1 = array('user_id'=>$user_id,
//                               'type'=>$i);
//                 $new_result[] = $data1;
//             }

//             $this->db->insert_batch('verification',$new_result);



//             if($user_id){
//              $result = array('status'=>'success'); 
//          } else {
//             $result = array('status'=>'error');
//         }


//     }

//     return $result;
// }







//       public function user_reg($data){


//         $num = $this->db->where('username',$data['username'])->get('users')->num_rows();
//         $num1 = $this->db->where('email',$data['email'])->get('users')->num_rows();

//         if($num>0){
//             $result = array('status'=>'error','message'=>'username Already Exists');
//         }elseif($num1>0){
//             $result = array('status'=>'error','message'=>'Email Already Exists');
//         } else {
//             $this->db->insert('users',array('first_name'=>$data['first_name'],'last_name'=>$data['last_name'],'username'=>$data['username'],'email'=>$data['email'],'player_id'=>$data['player_id'],'password'=>md5($data['password'])));
//             $user_id = $this->db->insert_id();
//             $join_date = date("Y-m-d");
//             $this->db->update('users',array('join_date'=>$join_date));
//             $this->db->insert('user_details',array('user_id'=>$user_id));

//             $this->db->insert('notifications',array('user_id'=>$user_id));
//           //  $this->db->insert('verification',array('user_id'=>$user_id,'type'=>'adhar'));
//             for($i=1;$i<=3;$i++){
//                 $data1 = array('user_id'=>$user_id,
//                               'type'=>$i);
//                 $new_result[] = $data1;
//             }

//             $this->db->insert_batch('verification',$new_result);
//             $this->send_verification_mail($data['email'],$user_id);


//             if($user_id){
//              $result = array('status'=>'success'); 
//          } else {
//             $result = array('status'=>'error');
//         }


//     }

//     return $result;
// }

  function get_cars_details(){
   $this->db->select('id,car_type');
   $this->db->from('car_make');
   $this->db->where('status',1);
   $rs['cars'] = $this->db->get()->result_array();
   return  $rs['cars'] ;

 }
 public function user_reg($data){


  $num = $this->db->where(array('username'=>$data['username'],'status'=>'1'))->get('users')->num_rows();
  $num1 = $this->db->where(array('email'=>$data['email'],'status'=>'1'))->get('users')->num_rows();
  $num2 = $this->db->where(array('phone_no'=>$data['phone_no'],'status'=>'1'))->get('users')->num_rows();
  if($num>0){
    $result = array('status'=>'error','message'=>'username Already Exists');    
  }else if($num1>0){
    $result = array('status'=>'error','message'=>'Email Already Exists');
  }else if($num2>0){
    $result = array('status'=>'error','message'=>'Phone Number Already Exists');

  }else {
    $this->db->insert('users',array('first_name'=>$data['first_name'],'last_name'=>$data['last_name'],'username'=>$data['username'],'email'=>$data['email'],'phone_no'=>$data['phone_no'],'password'=>md5($data['password']),'gender'=>$data['gender']));
    $user_id = $this->db->insert_id();
    $join_date = date("Y-m-d");
    $this->db->where('id',$user_id);
    $this->db->update('users',array('join_date'=>$join_date));
    $this->db->insert('user_details',array('user_id'=>$user_id));

    $this->db->insert('notifications',array('user_id'=>$user_id));
          //  $this->db->insert('verification',array('user_id'=>$user_id,'type'=>'adhar'));
          /*  for($i=1;$i<=4;$i++){
                $data1 = array('user_id'=>$user_id,
                              'type'=>$i);
                $new_result[] = $data1;
            }

            $this->db->insert_batch('verification',$new_result);*/
            $this->db->insert('verification',array('user_id'=>$user_id));

            $this->send_verification_mail($data['email'],$user_id);


            if($user_id){
             $result = array('status'=>'success'); 
           } else {
            $result = array('status'=>'error');
          }
        }

        return $result;
      }



      function send_verification_mail($email,$user_id) {

        $rand_id = rand(1111,9999);
        $rand_value = md5(time().$rand_id);
        $this->db->where('id',$user_id)->update("users",array('req_id'=>$rand_value));
        $this->db->where('email',$email); 
        $query = $this->db->get('users');
        $rs = $query->row();

        if ($rs) {

          $username = $rs->first_name; 
          $this->load->helper('string'); 

          $link = base_url()."Verify_email/verify/".$rand_value;

          if ($query) { 
            $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' => 25,
                '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($email);
         $this->email->subject("Verify Your Email Adress - Tukkibi");
         $this->email->message("Click the Link to verify your Email Adress:".$link);  
         $this->email->send();
      //  echo $this->email->print_debugger();
         return "EmailSend";
       } 
     }else { 
        return false;
      } 
    }



    //  function login($request){

    //     //$this->db->where("(username = '".$request['username']."' )");
    //     $this->db->where('username' ,$request['username']);
    //     $this->db->where('password' , md5($request['password']));
    //     //  $request['username']);
    //     //   md5($request['password']));die;
    //     $query = $this->db->get('users');

    //   // echo $this->db->last_query();
    //     if($query->num_rows()>0){
    //         $rs = $query->row();
    //         return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
    //             'last_name'=>$rs->last_name,'username'=>$rs->username,
    //             'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
    //             'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
    //             'phone_is_verified'=>$rs->phone_is_verified,
    //             'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path,'player_id'=>$rs->player_id);
    //     }else{
    //         return false;
    //     }

    // }




    function login($request){

        //$this->db->where("(username = '".$request['username']."' )");
      $this->db->where('username' ,$request['username']);
      $this->db->where('password' , md5($request['password']));
        //  $request['username']);
        //   md5($request['password']));die;
      $query = $this->db->get('users');

      if($query->num_rows()>0){
        $rs = $query->row();
        return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
          'last_name'=>$rs->last_name,'username'=>$rs->username,
          'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
          'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
          'phone_is_verified'=>$rs->phone_is_verified,
          'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
      }else{
        return false;
      }

    }
    
    function fb_login($request){

      $this->db->where('fb_id' ,$request['id']);
      $query = $this->db->get('users');

      if($query->num_rows()>0){

        $rs = $query->row();
            // $rs);
        return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
          'last_name'=>$rs->last_name,'username'=>$rs->username,
          'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
          'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
          'phone_is_verified'=>$rs->phone_is_verified,
          'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
      }else{

        $this->db->insert('users',array('first_name'=>$request['first_name'],'last_name'=>'','username'=>$request['first_name'],'email'=>$request['email_id'],'profile_photo'=>$request['profile_pic'],'player_id'=>$request['player_id']));

        $user_id = $this->db->insert_id();
                //  $user_id);
        $join_date = date("Y-m-d");
        $this->db->where('id',$user_id);
        $this->db->update('users',array('join_date'=>$join_date));
        $this->db->insert('user_details',array('user_id'=>$user_id));

        $this->db->insert('notifications',array('user_id'=>$user_id));
        $this->db->where('id' ,$user_id);
        $query = $this->db->get('users')->row();
        return $query;
      }

    }
    function google_login($request){

      $this->db->where('google_id' ,$request['userId']);
      $query = $this->db->get('users');

      if($query->num_rows()>0){

        $rs = $query->row();
            // $rs);
        return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
          'last_name'=>$rs->last_name,'username'=>$rs->username,
          'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
          'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
          'phone_is_verified'=>$rs->phone_is_verified,
          'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
      }else{



        $this->db->insert('users',array('first_name'=>$request['givenName'],'last_name'=>'','username'=>$request['familyName'],'email'=>$request['email'],'profile_photo'=>''));

        $user_id = $this->db->insert_id();
                //  $user_id);
        $join_date = date("Y-m-d");
        $this->db->where('id',$user_id);
        $this->db->update('users',array('join_date'=>$join_date));
        $this->db->insert('user_details',array('user_id'=>$user_id));

        $this->db->insert('notifications',array('user_id'=>$user_id));
        $this->db->where('id' ,$user_id);
        $query = $this->db->get('users')->row();
        return $query;
      }

    }

    
    // function forgetpassword($data) {

    //  $this->db->where('email', $data->email); 

    //  $query = $this->db->get('users');
    //   $rs = $query->row();


    //    if ($rs) {


    //     $username = $rs->first_name; 


    //     $this->load->helper('string'); 

    //     $rand_pwd = random_string('alnum', 8); 

    //     $password = array( 'password' => md5($rand_pwd) ); 

    //     $this->db->where('email', $data->email);

    //      $query = $this->db->update('users', $password);


    //       if ($query) { 





    //   //   $this->load->library('email');
    //   //   $config = Array(
    //   //           'protocol' => 'mail',
    //   //           'smtp_host' => 'techlabz.in',
    //   //           'smtp_port' => 25,
    //   //           'smtp_user' => 'info@techlabz.in', // change it to yours
    //   //           'smtp_pass' => 'Golden_123', // 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';
    //   // //$name= $data->name;
    //   // //$mailTemplate=$data->message;

    //   //   //$this->email->set_newline("\r\n");
    //   //   $this->email->from('no-reply@techlabz.in');
    //   //   $this->email->to($data->email);
    //   //   $this->email->subject("Forget Password");
    //   //   $this->email->message("New Password is:".$rand_pwd);  
    //   //   $this->email->send();
    //   //   $rs = $this->email->print_debugger();


    //           return "EmailSend";

    //           } 

    //       } else { 


    //       //  return "EmailNotExist";
    //         return false;
    //          } }

    function forgetpassword($data) {


      $this->db->where('email', $data->email); 

      $query = $this->db->get('users');
      $rs = $query->row();

      if ($rs) {

        $username = $rs->first_name; 

        $this->load->helper('string'); 

        $rand_pwd = random_string('alnum', 8); 

        $password = array( 'password' => md5($rand_pwd) ); 

        $this->db->where('email', $data->email);

        $query = $this->db->update('users', $password);
        if ($query) { 
          $data->name =  $username;
          $ress = $this->forgot_mails($data,$rand_pwd);
          if($ress == 'EmailSend'){
            return true;
          }
          
        } 

      } else { 
          //  return "EmailNotExist";
        return false;
      } 
    }




    /*  function forgot_mails($data,$rand_pwd){
  // $data);

   $mail = new PHPMailer(true); 

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

      $res = $mail->send();
      //if($res)
        //echo true;
    }*/

public function forgot_mails($data,$rand_pwd){

            $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("Forgot Password - Tukkibi");
         $this->email->message("Hi ".$data->name.", Your New Password is : ".$rand_pwd);  
         $this->email->send();
         return "EmailSend";
}



    // function change_password($request){

    //             $query = $this->db->where('id',$request['userid'])->get('users');
    //             $rs = $query->row();
    //             $password = $rs->password;

    //             if($password == md5($request['current_pswrd'])){
    //                  $data = array('password'=>md5($request['new_pswrd']));
    //                  $this->db->where('id',$request['userid'])->update('users',$data);
    //                  return true;
    //             }else{
    //                 return false;
    //             }

    // }




    function change_password($request){

      $query = $this->db->where('id',$request['userid'])->get('users');
      $rs = $query->row();
      $password = $rs->password;

      if($password == md5($request['current'])){
       $data = array('password'=>md5($request['newp']));
       $this->db->where('id',$request['userid'])->update('users',$data);
       return true;
     }else{
      return false;
    }

  }




  function update_bio($request){

               // $password = $request['biography'];
   $data = array('biography'=>$request['biography']);
   $this->db->where('id',$request['userid'])->update('users',$data);
   $id = $request['userid'];

   $rs = $this->db->query("SELECT * FROM `users` WHERE id = $id ")->row();
   if($rs){
     return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
      'last_name'=>$rs->last_name,'username'=>$rs->username,
      'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
      'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
      'phone_is_verified'=>$rs->phone_is_verified,
      'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
   }else{
    return false;
  }


}


function update_profile($request){


 $data = array('first_name'=>$request['f_name'],
  'last_name'=>$request['l_name'],
  'gender'=>$request['gender'],
  'date_of_birth'=>$request['year'].'-'.$request['month'].'-'.$request['day']);


 $this->db->where('id',$request['userid'])->update('users',$data);



 $this->db->select('*');
 $this->db->from('users');
 $this->db->where('id',$request['userid']);

 $rs = $this->db->get()->row();
 if($rs){
   return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
    'last_name'=>$rs->last_name,'username'=>$rs->username,
    'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
    'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
    'phone_is_verified'=>$rs->phone_is_verified,
    'email_is_verified'=>$rs->email_is_verified,'biography'=>$rs->biography,'join_date'=>$rs->join_date,'govt_id_path'=>$rs->govt_id_path);
 }else{
  return false;
}


}



//         function photo_uploads($request){

//           $id = $request['id'];
//           $query = $this->db->where('id',$id)->get('users');

//         if($query->num_rows()>0){
//             $rs = $query->row();
//             $data = array('profile_photo'=>$request['image']);
//             $this->db->where('id',$id)->update('users',$data);
//               $rs = $this->db->query("SELECT * FROM `users` WHERE id = $id ")->row();
//                      if($rs){
//                      return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
//                 'last_name'=>$rs->last_name,'username'=>$rs->username,
//                 'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
//                 'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
//                 'phone_is_verified'=>$rs->phone_is_verified,
//                 'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
//         }else{
//             return false;
//         }

//     }

// }


function photo_uploads($request){

  $id = $request['id'];
  $query = $this->db->where('id',$id)->get('users');

  if($query->num_rows()>0){
    $rs = $query->row();
    $data = array('profile_photo'=>$request['file']);
    $this->db->where('id',$id)->update('users',$data);
    $rs = $this->db->query("SELECT * FROM `users` WHERE id = $id ")->row();
    if($rs){
                        //  return $rs;
     return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
      'last_name'=>$rs->last_name,'username'=>$rs->username,
      'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
      'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
      'phone_is_verified'=>$rs->phone_is_verified,
      'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
     }else{
      return false;
    }

  }

}



function update_pref($request){

  $data = array('chattiness'=>$request['chattiness'],
    'smoking'=>$request['smoking'],
    'music'=>$request['music'],
    'pets'=>$request['pets']);

  $this->db->where('user_id',$request['userid'])->update('user_details',$data);

  return true;


}



function get_pref($request){


  $this->db->select('*');
  $this->db->from('user_details');
  $this->db->where('user_id',$request['userid']);
  $rs = $this->db->get()->row();

  return $rs;


}



//   function get_cars_and_colors($request){


//                 $this->db->select('id,car_type');
//                 $this->db->from('car_make');
//                 $this->db->where('status',1);
//                  $rs['cars'] = $this->db->get()->result_array();

//                 $this->db->select('id,car_color ');
//                 $this->db->from('car_color ');
//                 $this->db->where('status',1);
//                  $rs['colours'] = $this->db->get()->result_array();


//             return $rs;


//     }



function get_cars_and_colors($request){


  $this->db->select('id,car_type');
  $this->db->from('car_make');
  $this->db->where('status',1);
  $rs['cars'] = $this->db->get()->result_array();

  $this->db->select('id,car_color ');
  $this->db->from('car_color ');
  $this->db->where('status',1);
  $rs['colours'] = $this->db->get()->result_array();



  $this->db->select('id,type ');
  $this->db->from('car_type ');
  $this->db->where('status',1);
  $rs['type'] = $this->db->get()->result_array();


  return $rs;


}


public function add_users_car($data){


  $query = $this->db->insert('car_details',array('user_id'=>$data['user_id'],'no_of_seats'=>$data['no_of_seats'],'car_year'=>$data['car_year'],'car_type'=>$data['car_type'],'car_make'=>$data['car_make'],'car_color'=>$data['car_color']));
  if($query){
    return true;
  }else{
    return false;
  }

}



public function offer_ride($data){


  $query = $this->db->insert('ride',array('source'=>$data['place_from'],'destination'=>$data['place_to'],'departure_date '=>$data['dep_date'],'car_type'=>$data['car_type'],'car_make'=>$data['car_make'],'car_color'=>$data['car_color']));
  if($query){
    return true;
  }else{
    return false;
  }



}


    // function get_users_car_list($request){
    //     $id = $request["user_id"];





    //             $data = "SELECT car_details.id,car_details.user_id,car_details.car_make,car_details.car_type,
    //                     car_details.car_year ,car_details.car_color ,car_details.no_of_seats,car_details.car_image,
    //                     car_make.car_type,car_color.car_color  FROM car_details
    //                     LEFT JOIN car_make ON car_make.id = car_details.car_make LEFT JOIN  car_color ON  car_color.id =  car_details.car_color
    //                     WHERE car_details.user_id = $id ";


    //     $query = $this->db->query($data);
    //     $result = $query->result();
    //   //  $result);
    //   // echo $this->db->last_query();
    //     return $result;

    // }

function get_users_car_list($request){
  $id = $request["user_id"];
  $this->db->select('car_details.*, car_make.car_type as cartype,car_color.car_color as carcolour');
  $this->db->from('car_details');
  $this->db->join('car_make','car_details.car_make=car_make.id','left');
  $this->db->join('car_color','car_details.car_color=car_color.id','left');
  $this->db->where('user_id',$id);
  $query=$this->db->get();
  return $query->result();
}

    ///////////************14-9-2017*******************///////////////////
    /////////////////////////offerride/////////////////////////////////////
function car_offer_select($request){
 $this->db->where('user_id',$request);
 $this->db->select('car_details.car_type,car_details.no_of_seats,car_details.id,car_make.car_type as car_name');
 $this->db->from('car_details');
 $this->db->join('car_make','car_details.car_make=car_make.id','left');
 $query= $this->db->get();

 return $query->result();     
}

    //  function get_reached_time($request){
    //      $this->db->select('reached_time');
    //      $this->db->where('departure_date',$request['departure_date']);
    //      $query=$this->db->get('ride')->row();
    //      return $query;

    //  }


function offer_departure($request){


 $data =array('source'=>$request['source'],
  'destination'=>$request['destination'],
  'source_lat'=>$request['source_lat'],
  'source_lng'=>$request['source_lng'],
  'destination_lat'=>$request['destination_lat'],
  'destination_lng'=>$request['destination_lng'],
  'departure_date'=>$request['departure_date'],
  'detour_time'=>$request['detour_time'],
  'reached_time'=>$request['reached_time'],
  'is_round_trip'=>$request['round_trip'],
  'for_ladies'=>$request['for_ladies'],
  'to_airport'=>$request['to_airport']

);
 $query= $this->db->insert('ride',$data);
 $insert_id = $this->db->insert_id();
 return $insert_id;



}
function offer_return($request){

 $data=array('source'=>$request['destination'],
  'destination'=>$request['source'],
  'source_lat'=>$request['destination_lat'],
  'source_lng'=>$request['destination_lng'],
  'destination_lat'=>$request['source_lat'],
  'destination_lng'=>$request['source_lng'],
  'departure_date'=>$request['rtrn_date'],
  'detour_time'=>$request['rtrn_time'],
  'reached_time'=>$request['reached_time_rtrn'],
  'is_round_trip'=>$request['round_trip'],
  'for_ladies'=>$request['for_ladies'],
  'to_airport'=>$request['to_airport']

);
 $query= $this->db->insert('ride',$data);
 $insert_id = $this->db->insert_id();
 return $insert_id;


}
function offer_update($request){

         /* $request);
         die();*/
         /*if(isset($request['comments'])){

            $request['comments']= $request['comments'];
         }else{
             $request['comments'] ='';
           }*/
           $data=array('price'=>$request['price'],
            'no_of_seats'=>$request['no_of_seats'],
            'detour'=>$request['detour_time'],
            'pickup_flexibility'=>$request['pickup_flexibility'],
            'comments'=>isset($request['comments'])?$request['comments']:'',
            'max_luggage'=>$request['max_luggage'],
            'users_id'=>$request['users_id'],
            'stopover_lng'=>(isset($request['stopover_lng']) && !empty($request['stopover_lng']))? $request['stopover_lng'] : '0',
            'stopover'=>(isset($request['stopover']) && !empty($request['stopover']))? $request['stopover'] : '0',
            'stopover_lat'=>(isset($request['stopover_lat']) && !empty($request['stopover_lat']))? $request['stopover_lat'] : '0',
            'car_id'=>$request['car_id'] 
          );
        /*if($request['check']=="round"){
            $ride_result_alert=array();
            foreach($request['insert_id'] as $value){
                 $this->db->where('id',$value);
                $this->db->update('ride',$data);
                 $this->db->where('id',$value);
               $query=  $this->db->get('ride')->row();
           
               $ride_result_alert[]=$query;
              

               
            }
            return  $ride_result_alert;
              
        }
       // else{*/
        $this->db->where('id',$request['ride_id']);
        $query= $this->db->update('ride',$data);
        $this->db->where('id',$request['ride_id']);
        $query= $this->db->get('ride');
        return $query->row();
        //}


        
      }
      function result_ride($data){


        $this->db->where('ride_alert.source',$data->source);
        $this->db->where('ride_alert.departure_date',$data->departure_date);
        $this->db->where('ride_alert.destination',$data->destination);
        $this->db->where('ride_alert.departure_time <=',$data->detour_time);
        $this->db->where('ride_alert.before_time >=',$data->detour_time);
        $this->db->select('ride_alert.id as rideid,ride_alert.source,ride_alert.destination,ride_alert.departure_time,ride_alert.departure_date,users.*');
        $this->db->from('ride_alert');
        $this->db->join('users','ride_alert.user_id=users.id','left');
        $query= $this->db->get();
        $res= $query->result();
    //   echo $this->db->last_query();
        $new_ride_alert[$data->id]=$res;

        
      //}
    //   var_dump($new_ride_alert);
        return $new_ride_alert;

      }
      public function offer_list($request){
        // var_dump($request['start']) ;
        $date=date('Y-m-d');
        if($request['start']==null){
         $stop=0;

       }else{
         $stop=$request['start'];
       }
       $start=5;

       $this->db->limit($start,$stop);
       $this->db->order_by("id", "desc");
       $this->db->where('departure_date>=',$date );
       $this->db->where('ride.status!=',2);
       $this->db->where('(ride.ride_status!= 2 and ride.ride_status!= 3 and ride.ride_status!= 4 and ride.ride_status!= 5)');
       $this->db->where('ride.users_id',$request['user_id']);
       $this->db->select('ride.*,car_details.car_image,car_details.car_plate,car_details.no_of_seats,car_make.car_type');
       $this->db->from('ride');
       $this->db->join('car_details','ride.car_id=car_details.id','left');
       $this->db->join('car_make','car_details.car_make=car_make.id','left');
       $query= $this->db->get('')->result();
      // echo $this->db->last_query();
       if(count($query) > 0){
        foreach ($query as $key => $value) {
          $res = $this->db->get_where('recurring_ride',array('ride_id'=>$value->id))->row();
          if($res){
            $query[$key]->recuring_data = $res;
          }else{
           $query[$key]->recuring_data = '';
         }
       }
     }
     return $query;
   }
   public function get_find_ride($request){
    $this->db->where('no_of_seats >=',$request['seats']);
    $this->db->where('ride.status!=',2);
    $this->db->where('(ride.ride_status!= 3 or ride.ride_status!= 4 or ride.ride_status!= 5)');
    $this->db->order_by('ride.id','DESC');
    if($request['user_id']!='undefined'){
      $this->db->where('ride.users_id!=',$request['user_id']);
    }
    if(isset($request['for_ladies']) && !empty($request['for_ladies'])){
      $this->db->where('for_ladies',$request['for_ladies']);
    } 
    if(isset($request['to_airport']) && !empty($request['to_airport'])){
      $this->db->where('to_airport',$request['to_airport']);
    }
    $this->db->where('source',$request['source']);
    $this->db->where('departure_date',$request['departure_date']);
    $this->db->where('destination',$request['destination']);
    $this->db->where('detour_time >=',$request['rtrn_time']);
        // $this.db->where('rating.')
    $this->db->select('ride.id as rideid,ride.users_id,ride.source,ride.destination,ride.price,ride.detour_time,ride.no_of_seats,ride.departure_date,ride.reached_time,users.*');
    $this->db->from('ride');
        // $this->db->join('verification','ride.users_id=verification.user_id','left');
    $this->db->join('users','ride.users_id=users.id','left');

        // $this->db->join('rating','ride.id=rating.rate_id','left');
    $query= $this->db->get();
  //echo $this->db->last_query();


    return $query->result();

  }
  public function getkm_charge(){
   $query= $this->db->get('settings');
   return $query->row();

 }
 function find_ride_details($request){

  $this->db->where('ride.id',$request['ride_id']);
        //$this->db->where('ride.users_id',$request['user_id']);
  $this->db->select('verification.image,verification.status as verify_status,ride.id as rideid,ride.source,car_details.car_image,ride.comments,ride.max_luggage,ride.pickup_flexibility,
    car_details.car_type,ride.detour,ride.no_of_seats,ride.destination,ride.price,ride.departure_date,car_make.car_type as carname,car_color.car_color,
    ride.detour_time,ride.reached_time, users.id as userid ,users.*,user_details.*');
  $this->db->from('ride');
  $this->db->join('users','ride.users_id=users.id','left');
  $this->db->join('user_details','ride.users_id=user_details.user_id','left');
  $this->db->join('verification','ride.users_id=verification.user_id','left');
  $this->db->join('car_details','ride.car_id=car_details.id','left');
  $this->db->join('car_make','car_details.car_make=car_make.id','left');
  $this->db->join('car_color','car_details.car_color=car_color.id','left');

  $query= $this->db->get();

     //echo $this->db->last_query();

  return $query->row();

}
function offer_ride_count($request){
  $id =$request['user_id'];
  $query= $this->db->query("SELECT count(users_id) AS total_count FROM `ride` WHERE users_id ='$id'")->row();
  return $query;
}
function find_ride_filter($request){
  $this->db->order_by('ride.price',$request['price']);
  $this->db->where('chattiness',$request['chattiness']);
  $this->db->where('music',$request['music']);
  $this->db->where('pets',$request['pets']);
  $this->db->where('smoking',$request['smoking']);
  $this->db->where('departure_date',$request['travel_date']);
  $this->db->where('detour_time>',$request['travel_time']);
  $this->db->where('no_of_seats',$request['seats']);
  $this->db->select('ride.id as rideid,ride.users_id,ride.source,ride.comments,ride.max_luggage,ride.pickup_flexibility,ride.detour,ride.no_of_seats,ride.destination,ride.price,ride.departure_date,ride.detour_time,ride.reached_time,users.*');
  $this->db->from('ride');
  $this->db->join('users','ride.users_id=users.id','left');
  $this->db->join('user_details','user_details.user_id=ride.users_id');
  $query= $this->db->get();
  return $query->result();
}
function find_ride_filter_rate($id){
  $this->db->select('AVG(rating) as avgrate,count(create_user) as ratenum');
  $this->db->from('rating');
  $this->db->where('owner', $id);
  $query = $this->db->get();
  $new= $query->row();
  return $new;

}
function booking_details($request){
 $booking_date=date('Y-m-d');
 $rand="JY".date('dmy').rand(111, 999);
 $data=array('user_id'=>$request['user_id'],
  'ride_id'=>$request['ride_id'],
  'booking_id'=>$rand,
  'booking_date'=> $booking_date,
  'departure_point'=>$request['departure_point'],
  'drop_point'=>$request['drop_point'],          
  'no_of_seats'=>$request['no_of_seats'],     
  'amount'=>$request['amount'],
  'status'=>'0');
 $this->db->insert('booking',$data);
 $query =$this->db->insert_id();
 return $query;
}
function booking_ride_details($request){
        //  $this->db->where('booking.user_id',$request);
        // var_dump($request);
  $date=date('Y-m-d');
  if($request['start']==null){
   $stop=0;

 }else{
   $stop=$request['start'];
 }
 $start=5;
 $this->db->limit($start,$stop);
 $this->db->order_by("booking.booking_date","desc");
 $this->db->order_by("booking.id","desc");
 $this->db->where('ride.departure_date>=',$date );
  $this->db->where('(booking.status!= 2 and booking.status!= 3 and booking.status!= 4 and booking.status!= 5)');
 $this->db->where('booking.user_id',$request['user_id']);
 $this->db->select("DISTINCT(booking.id) as bookid,rating.rating,booking.ride_id,booking.departure_point,booking.drop_point,booking.amount,ride.detour_time,ride.departure_date,ride.reached_time,ride.users_id as owner,ride.status as ridestatus,booking.status as bookstatus,verification.image,verification.status as verify_status,car_details.car_plate,car_details.no_of_seats,car_make.car_type,ride.source_lat,ride.source_lng,ride.destination_lat,ride.destination_lng,TRIM(concat(users.first_name,' ',IFNULL(users.last_name,''))) as name,IF(users.profile_photo != NULL OR users.profile_photo != '' , concat('".base_url()."',users.profile_photo) , '') profile_pic");
 $this->db->from('booking');
 $this->db->join('ride','booking.ride_id=ride.id','left');
 $this->db->join('rating','booking.id=rating.book_id','left');
 $this->db->join('verification','ride.users_id=verification.user_id','left');


 $this->db->join('car_details','ride.car_id=car_details.id','left');
 $this->db->join('users','users.id=ride.users_id','left');
 $this->db->join('car_make','car_details.car_make=car_make.id','left');
 $query= $this->db->get();

        //  echo $this->db->last_query();
 return $query->result();

}


function help($request){


  $query = $this->db->get('cms');
  $rs = $query->row();
  $result = $rs->help; 
  return $result;
}


function terms($request){


  $query = $this->db->get('cms');
  $rs = $query->row();
  $result = $rs->conditions; 
  return $result;
}

function license($request){


  $query = $this->db->get('cms');
  $rs = $query->row();
  $result = $rs->licenses; 
  return $result;
}



function privacy($request){


  $query = $this->db->get('cms');
  $rs = $query->row();
  $result = $rs->privacy; 
  return $result;
}


//    function save_notification($request){
//   $this->db->where('user_id',$request['userid']);
//   $result = $this->db->update('notifications',array(
//                                                   'push_cotraveller_confirmation'=>$request['push_cotraveller_confirmation'],
//                                                   'push_msg_recieved'=>$request['push_msg_recieved'],
//                                                   'push_ratings'=>$request['push_ratings'],
//                                                   'push_msg_recieved'=>$request['push_msg_recieved'],
//                                                   'email_ride_update'=>$request['email_ride_update'],
//                                                   'email_pending_ratings'=>$request['email_pending_ratings'],
//                                                   'email_new_rating'=>$request['email_new_rating'],
//                                                   'email_info'=>$request['email_info']
//                                                   ));
//   $query = $this->db->where('user_id',$request['userid']);
//   $query = $this->db->get('notifications');
//   $result = $query->row();
//   return $result;

// }





function save_notification($request){
  $this->db->where('user_id',$request['userid']);
  $result = $this->db->update('notifications',array(
    'push_cotraveller_confirmation'=>$request['push_cotraveller_confirmation'],
    'push_msg_recieved'=>$request['push_msg_recieved'],
    'push_ratings'=>$request['push_ratings'],
    'push_msg_recieved'=>$request['push_msg_recieved'],
    'email_ride_update'=>$request['email_ride_update'],
    'email_pending_ratings'=>$request['email_pending_ratings'],
    'email_new_rating'=>$request['email_new_rating'],
    'email_info'=>$request['email_info']
  ));
  $query = $this->db->where('user_id',$request['userid']);
  $query = $this->db->get('notifications');
  $result = $query->row();
  return $result;

}





//   function notifysave($request){
//   $this->db->where('user_id',$request['userid']);
//   $result = $this->db->update('notifications',array(
//                                                    'push_cotraveller_confirmation'=>$request['push_cotraveller_confirmation'],
//                                                   'push_msg_recieved'=>$request['push_msg_recieved'],
//                                                   'push_ratings'=>$request['push_ratings'],
//                                                   'push_msg_recieved'=>$request['push_msg_recieved'],
//                                                   'email_ride_update'=>$request['email_ride_update'],
//                                                   'email_pending_ratings'=>$request['email_pending_ratings'],
//                                                   'email_new_rating'=>$request['email_new_rating'],
//                                                   'email_info'=>$request['email_info']
//                                                   ));
//   // $query = $this->db->where('user_id',$request['userid']);
//   // $query = $this->db->get('notifications');
//   // $result = $query->row();
//   if($result){
//     return true;

//   }else

//   return false;

// }





//   function notifysave($request){
//   $this->db->where('user_id',$request['userid']);
//   $result = $this->db->update('notifications',array(
//                                                    'push_cotraveller_confirmation'=>$request['push_cotraveller_confirmation'],
//                                                   'push_msg_recieved'=>$request['push_msg_recieved'],
//                                                   'push_ratings'=>$request['push_ratings'],
//                           'email_ride_publish'=>$request['email_ride_publish'],
//                                                   'push_msg_recieved'=>$request['push_msg_recieved'],
//                                                   'email_ride_update'=>$request['email_ride_update'],
//                                                   'email_msg_recieved'=>$request['email_msg_recieved'],
//                                                   'email_pending_ratings'=>$request['email_pending_ratings'],
//                                                   'email_new_rating'=>$request['email_new_rating'],
//                                                   'email_info'=>$request['email_info']
//                                                   ));
//   // $query = $this->db->where('user_id',$request['userid']);
//   // $query = $this->db->get('notifications');
//   // $result = $query->row();
//   if($result){
//     return true;
//   function notifysave($request){
//   $this->db->where('user_id',$request['userid']);
//   $result = $this->db->update('notifications',array(
//                                                   'push_offer_ride_request'=>$request['push_offer_ride_request'],                   
//                                                   'push_ratings'=>$request['push_ratings'],
//                                                   'push_ride_accept'=>$request['push_ride_accept'],
//                                                   'email_ride_publish'=>$request['email_ride_publish'],
//                                                   'push_booking_alert'=>$request['push_booking_alert'],
//                                                   'email_ride_update'=>$request['email_ride_update'],
//                                                   'email_msg_recieved'=>$request['email_msg_recieved'],
//                                                   'email_pending_ratings'=>$request['email_pending_ratings'],
//                                                   'email_new_rating'=>$request['email_new_rating'],
//                                                   'email_info'=>$request['email_info']
//                                                   ));
//   // $query = $this->db->where('user_id',$request['userid']);
//   // $query = $this->db->get('notifications');
//   // $result = $query->row();
//   if($result){
//     return true;

//   }else

//   return false;

// }






function get_notification($request){
  $query = $this->db->where('user_id',$request['userid']);
  $query = $this->db->get('notifications');
  //echo $this->db->last_query();
  $result = $query->row();
  return $result;

}


 // function save_adhar_info($request){


 //         $this->db->where('user_id',$request['userid']);
 //          $this->db->where('type',$request['type']);
 //  $result = $this->db->update('verification',array(
 //                                                  'full_name'=>$request['full_name'],
 //                                                  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
 //                                                  'image '=>$request['image_file'],
 //                                                  'number'=>$request['adhar_no'],
 //                                                  'status'=>'2'
 //                                                  ));

 //  return $result;

 //    }





 //  function save_adhar_info($request){


 //         $this->db->where('user_id',$request['userid']);
 //          $this->db->where('type',$request['type']);
 //  $result = $this->db->update('verification',array(
 //                                                  'full_name'=>$request['full_name'],
 //                                                  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
 //                                                  'image'=>$request['image_file'],
 //                                                  'number'=>$request['adhar_no'],
 //                                                  'status'=>'2'
 //                                                  ));
 //  // $query = $this->db->where('user_id',$request['userid']);
 //  // $query = $this->db->get('notifications');
 // // $result = $query->row();
 //  return $result;

 //    }





function save_adhar_info($request){


 $this->db->where('user_id',$request['userid']);
 $this->db->where('type',$request['type']);
 $result = $this->db->update('verification',array(
  'full_name'=>$request['full_name'],
  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
  'image'=>$request['image_file'],
  'number'=>$request['adhar_no'],
  'status'=>'4'
));
  // $query = $this->db->where('user_id',$request['userid']);
  // $query = $this->db->get('notifications');
 // $result = $query->row();
 return $result;

}





 //     function save_pan_info($request){


 //         $this->db->where('user_id',$request['userid']);
 //         $this->db->where('type',$request['type']);
 //  $result = $this->db->update('verification',array(
 //                                                  'full_name'=>$request['full_name'],
 //                                                  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
 //                                                  'image'=>$request['image_file'],
 //                                                  'number'=>$request['pan_no'],
 //                                                  'type'=>$request['type']
 //                                                  ));
 //  // $query = $this->db->where('user_id',$request['userid']);
 //  // $query = $this->db->get('notifications');
 // // $result = $query->row();
 //  return $result;

 //    }



function save_pan_info($request){


 $this->db->where('user_id',$request['userid']);
 $this->db->where('type',$request['type']);
 $result = $this->db->update('verification',array(
  'full_name'=>$request['full_name'],
  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
  'image'=>$request['image_file'],
  'number'=>$request['pan_no'],
  'type'=>$request['type'],
  'status'=>'4'
));
  // $query = $this->db->where('user_id',$request['userid']);
  // $query = $this->db->get('notifications');
 // $result = $query->row();
 return $result;

}


function save_passport_info($request){


 $this->db->where('user_id',$request['userid']);
 $this->db->where('type',$request['type']);
 $result = $this->db->update('verification',array(
  'full_name'=>$request['full_name'],
  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
  'image'=>$request['image_file'],
  'number'=>$request['pass_no'],
  'type'=>$request['type'],
  'status'=>'4'
));
 // echo $this->db->last_query();
  // $query = $this->db->where('user_id',$request['userid']);
  // $query = $this->db->get('notifications');
 // $result = $query->row();
 return $result;

}

function get_country($request){


  $this->db->select('id,name');
  $this->db->from('countries_list');
                //$this->db->where('status',1);
  $rs['country'] = $this->db->get()->result_array();

                // $this->db->select('id,car_color ');
                // $this->db->from('car_color ');
                // $this->db->where('status',1);
                //  $rs['colours'] = $this->db->get()->result_array();


  return $rs;


}

function add_number($request){

 $id = $request['user_id'];
 $this->db->where('id',$id);
 $result = $this->db->update('users',array(
  'region'=>$request['region'],
  'phone_no'=>$request['phone_no']
));
 $rs = $this->db->query("SELECT * FROM `users` WHERE id = $id ")->row();
 if($rs){
   return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
    'last_name'=>$rs->last_name,'username'=>$rs->username,
    'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
    'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
    'phone_is_verified'=>$rs->phone_is_verified,
    'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
   return $result;

 }else{
  return false;

}
}

public function get_booked_data($request){
 $this->db->where('booking.id',$request);
 $this->db->select('booking.*,users.*,ride.no_of_seats as rideseat,ride.detour_time');
 $this->db->from('booking');
 $this->db->join('ride','booking.ride_id=ride.id','left');
 $this->db->join('users','ride.users_id=users.id','left');
 $query= $this->db->get();

 return $query->row();

}
function similar_ride_alert($request){

 $data=array('user_id'=>$request->user_id,
  'source'=>$request->source,
  'destination'=>$request->destination,
  'departure_date'=>$request->departure_date,
  'departure_time'=>$request->departure_time,
  'before_time'=>$request->before_time,
  'ride_alert'=>'1');
 $query= $this->db->insert('ride_alert',$data);
 return $query;

}

function player_id_insert($request){
  $this->db->where('username' ,$request['username']);
  $this->db->where('password' , md5($request['password']));
  $data=array('player_id'=>$request['player_id']);
  $query = $this->db->update('users',$data);
  return $query;

}
function rate_ride_check($request){
  $this->db->where('create_user' ,$request->create_user);
  $this->db->where('owner' , $request->owner);
  $this->db->where('ride_id' , $request->ride_id);
  $query = $this->db->get('rating');
  return $query->row();

}
function rate_ride_update($request,$id){
  $rate_date=date('Y-m-d');

  $request->rating_date= $rate_date;
  $this->db->where('id' ,$id);
  $query = $this->db->update('rating',$request);
  return $query;

}

function rate_ride($request){
  $rate_date=date('Y-m-d');
  $request->rating_date= $rate_date;
  $query = $this->db->insert('rating',$request);
  return $query;

}
function getrate($id){
        // $this->db->where('user_id')
        // $query = $this->db->get('rating');
        // return $query;

  $this->db->select('AVG(rating) as avgrate,count(create_user) as ratenum');
  $this->db->from('rating');
  $this->db->where('owner', $id);
  $query = $this->db->get(); 
    //    echo $this->db->last_query();
  $new= $query->row();
  return $new;

}


//    function passport_uploads($request){
//           $id = $request['user_id'];
//           $data = array('image'=>$request['file']);
//           $query = $this->db->where('user_id',$id);
//           $query = $this->db->where('type',$request['type']);
//           $query = $this->db->update('verification',$data);
// //echo $this->db->last_query();

//             $rs = $this->db->select('*');
//             $rs =  $this->db->from('verification');
//           $rs = $this->db->where('user_id',$id);
//           $rs = $this->db->where('type',$request['type']);

//           $rs = $this->db->get()->row();

//     //       $rs);
// //echo $this->db->last_query();

//          // $rs = $this->db->query("SELECT * FROM `verification` WHERE user_id = '$id' ")->row();
//                      if($rs){
//                      return $result = array('id'=>$rs->id,
//                 'profile_photo'=>$rs->image,'type'=>$rs->type);
//         }else{
//             return false;
//         }

// }



function passport_uploads($request){
           // $request);
  $id = $request['user_id'];
         // $data = array('image'=>$request['file']);
  $data = array('image'=>$request['file'],'status'=>4);
  $query = $this->db->where('user_id',$id);
  $query = $this->db->where('type',$request['type']);
  $query = $this->db->update('verification',$data);
//echo $this->db->last_query();

  $rs = $this->db->select('*');
  $rs =  $this->db->from('verification');
  $rs = $this->db->where('user_id',$id);
  $rs = $this->db->where('type',$request['type']);

  $rs = $this->db->get()->row();

    //       $rs);
//echo $this->db->last_query();

         // $rs = $this->db->query("SELECT * FROM `verification` WHERE user_id = '$id' ")->row();
  if($rs){
   return $result = array('id'=>$rs->id,
    'profile_photo'=>$rs->image,'type'=>$rs->type);
 }else{
  return false;
}

}
function approve_ride($request){
 $data=array('status'=>1); 
 $this->db->where('booking_id',$request->booking_id);
 $query=$this->db->update('booking',$data);
 if($query){
  $data=array('no_of_seats'=>$request->no_of_seats,'status'=>1);
  $this->db->where('id',$request->ride_id);
  $query=$this->db->update('ride',$data);

}
return $query;

}
function booking_aproval($request){
  $data=array('ride_id'=>$request->ride_id,
    'user_id'=>$request->user_id,
    'driver_id'=>$request->driver_id,
    'status'=>1 );
  $query=$this->db->insert('booking_approve',$data);
  return $query;

}

public function update_ride_status($data){
  if($this->db->update('ride',array('ride_status'=>$data->status),array('id'=>$data->ride_id))){
    if($this->db->update('booking',array('status'=>$data->status),array('ride_id'=>$data->ride_id))){
       return true;
    }
   
  }
}

public function update_booking_status($data){
  if($this->db->update('booking',array('status'=>$data->status),array('id'=>$data->book_id))){
    return true;
  }
}

function reject_ride($request){
 $data=array('status'=>2);
 $this->db->where('booking_id',$request);
 $query=$this->db->update('booking',$data);
 return $query;
}

function delete_offer_ride($request){ 
 $data=array('status'=>2);
 $this->db->where('id',$request);
 $query=$this->db->update('ride',$data);
 return $query;                 
}

 function deletebooking($request){ 
         $data=array('status'=>2);
      $this->db->select('*');
     $this->db->where('id',$request);
         $query=$this->db->get('booking');
        $val = $query->row();
    $ride_id=  $val->ride_id;
     
     $this->db->where('id',$request);
          $query=$this->db->update('booking',$data);
    
     
     
     
          $this->db->where('id',$ride_id);
          $query=$this->db->update('ride',$data);
         return $query;                 
     }


function check_notification_updates($id){

 $this->db->where('email_ride_publish','1');
 $this->db->where('user_id',$id);
 $query=$this->db->get('notifications');
 return $query->row();

}
function check_notification_rideaccept($id){
        // var_dump($id);
 $this->db->where('push_ride_accept','1');
 $this->db->where('user_id',$id);
 $query=$this->db->get('notifications');
 return $query->row();

}
function check_notification_rate($id){
 $this->db->where('email_new_rating','1');
 $this->db->where('user_id',$id);
 $query=$this->db->get('notifications');
 return $query->row(); 
}
function check_notification_offer_updates($id){
 $this->db->where('email_ride_update','1');
 $this->db->where('user_id',$id);
 $query=$this->db->get('notifications');
 return $query->row();

}


function report_ride_insert($request){
 $request->date=date('Y-m-d');


 $query = $this->db->insert('report_ride',$request);
 return $query;


}
function offer_ride_count_details($request){
  $date=date('Y-m-d');
  $this->db->where('status!=',2);
  $this->db->where('departure_date>=',$date );
  $this->db->select('count(id) as totalcount');
  $this->db->from('ride');
  $this->db->where('users_id',$request);
  $query = $this->db->get();

  $new= $query->row();
  return $new;

}
function booking_ride_count_details($request){
 $date=date('Y-m-d');
 $this->db->where('ride.departure_date>=',$date );
 $this->db->select('count(booking.id) as totalcount');
 $this->db->from('booking');
 $this->db->join('ride','booking.ride_id=ride.id','left');
 $this->db->where('user_id',$request);
 $query = $this->db->get();
 $new= $query->row();
 return $new;

    //      $this->db->select('count(id) as totalcount');
    //     $this->db->from('booking');
    //     $this->db->where('user_id',$request);
    //     $query = $this->db->get();

    //  $new= $query->row();
    // return $new;

}
function offer_history_ride($request){
 $date=date('Y-m-d');
 if($request['start']==null){
   $stop=0;

 }else{
   $stop=$request['start'];
 }
 $start=5;



        // //  $this->db->limit(isset($request['start']?$request['start']:''),$stop);
 $this->db->limit($start,$stop);
 $this->db->order_by("id", "desc");
 $this->db->where('ride.status!=',2);
  $this->db->where('(ride.ride_status = 2 and ride.ride_status = 3 and ride.ride_status = 4 and ride.ride_status = 5)');
 $this->db->where('departure_date<',$date );
 $this->db->where('users_id',$request['user_id']); 
 $this->db->select('ride.*,car_details.car_image');
 $this->db->from('ride');
 $this->db->join('car_details','ride.car_id=car_details.user_id','left');
        // $this->db->join('car_make','car_details.car_make=car_make.id','left');
 $query= $this->db->get();
     //   echo $this->db->last_query();
 return $query->result();

}
function booking_ride_history($request){
        //  $this->db->where('booking.user_id',$request);
        // var_dump($request);
  $date=date('Y-m-d');
  if($request['start']==null){
   $stop=0;

 }else{
   $stop=$request['start'];
 }
 $start=5;
 $this->db->limit($start,$stop);
 $this->db->order_by("booking.booking_date","desc");
 $this->db->order_by("booking.id","desc");
 $this->db->where('ride.departure_date<',$date );
  $this->db->where('(booking.status = 2 and booking.status = 3 and booking.status = 4 and booking.status = 5)');
 $this->db->where('ride.status !=','2' );
 $this->db->where('booking.user_id',$request['user_id']);
 $this->db->select('DISTINCT(booking.id) as bookid,rating.rating,booking.ride_id,booking.departure_point,booking.drop_point,booking.amount,ride.detour_time,ride.departure_date,ride.users_id as owner,ride.reached_time');
 $this->db->from('booking');
 $this->db->join('ride','booking.ride_id=ride.id','left');
 $this->db->join('rating','booking.id=rating.book_id','left');

 $this->db->join('car_details','ride.car_id=car_details.user_id','left');

 $query= $this->db->get();

        //  echo $this->db->last_query();
 return $query->result();

}
function user_location_update($request){
  $data=array('crnt_lattitude'=>$request["crnt_lattitude"],'crnt_longitude'=>$request["crnt_longitude"]);
  $this->db->where('id',$request['user_id']);
  $query=$this->db->update('users',$data);
  return $query;


}
function ridestart_push($request){
 $this->db->where('booking.status',1);
 $this->db->where('ride_id',$request); 
 $this->db->select('users.*');
 $this->db->from('booking');
 $this->db->join('users','booking.user_id=users.id','left');
 $query= $this->db->get();
 return $query->result();


}
function cardetails_startride($request){
 $this->db->where('car_details.user_id',$request['user_id']); 
 $this->db->select('car_make.car_type,car_color.car_color,car_details.car_type as main_cartype,car_details.no_of_seats');
 $this->db->from('car_make');
 $this->db->join('car_details','car_details.car_make=car_make.id','left');
 $this->db->join('car_color','car_details.car_color=car_color.id','left');
 $this->db->join('ride','ride.car_id=car_details.id','left');
 $query= $this->db->get();
 return $query->row();

}
function cotravellers_list($request){
 $this->db->where('booking_approve.status','1');
 $this->db->where('booking_approve.ride_id',$request); 
 $this->db->select('users.*,booking_approve.id as bookid');
 $this->db->from('booking_approve');
 $this->db->join('users','booking_approve.user_id=users.id','left');
 $query= $this->db->get();
        //  var_dump($query);die;
 return $query->result();

}
function payment_cash($request){
 $data=array('payment_status'=>1);
 $this->db->where('ride_id',$request['ride_id']);
 $this->db->where('user_id',$request['user_id']);
 $query=$this->db->update('booking_approve',$data);
 return $query;

}
function check_redeem_code($request){
 $this->db->where('status',1);
 $this->db->where('code',$request['code']);
 $this->db->where('ride_id',$request['ride_id']);
 $this->db->where('user_id',$request['user_id']);
 $query=$this->db->get('payment');
 $res= $query->row();

 if($res){
   $data=array('status'=>0);
   $this->db->where('ride_id',$res->ride_id);
   $this->db->where('user_id',$res->user_id);
   $query=$this->db->update('payment',$data);
   $data1=array('payment_status'=>1,'code'=>$res->code);
   $this->db->where('ride_id',$res->ride_id);
   $this->db->where('user_id',$res->user_id);
   $query=$this->db->update('booking_approve',$data1);

 }
 return $res;



}
function yourride_car_edit($request){
  $this->db->where('car_details.id',$request);
  $this->db->select('car_details.car_type,car_details.id,car_make.car_type as car_name');
  $this->db->from('car_details');
  $this->db->join('car_make','car_details.car_make=car_make.id','left');
  $query= $this->db->get();
  return $query->row();

}

function offer_edit($request){
        //  var_dump($request);
        // $this->db->where('users_id',$request['users_id']);
  $this->db->where('id',$request['id']);
  $this->db->update('ride',$request);
  $this->db->where('id',$request['id']);
  $query= $this->db->get('ride');
       // echo $this->db->last_query();
  return $query->row();

}
function drivertrack_map($request){
  $this->db->where('booking_approve.status',1);
  $this->db->where('booking_approve.ride_id',$request); 
  $this->db->select('users.*,booking_approve.*');
  $this->db->from('booking_approve');
  $this->db->join('users','booking_approve.user_id=users.id','left');
  $query= $this->db->get();
  return $query->result();

}
function drivertrack_location($request){
 $this->db->where('booking_approve.status',1);
 $this->db->where('booking_approve.ride_id',$request); 
 $this->db->select('users.*,booking_approve.*,ride.source_lat,source_lng,destination_lat,destination_lng');
 $this->db->from('booking_approve');
 $this->db->join('users','booking_approve.driver_id=users.id','left');
 $this->db->join('ride','ride.users_id=users.id','left');
 $this->db->group_by('driver_id'); 
 $query= $this->db->get();
 return $query->row();

}
function chatuserdetails($request){
 $this->db->where('id',$request);
 $query= $this->db->get('users');
 return $query->row();
}

function car_exist($request,$i){
 if($request['round_trip']==true && $i>1){
   if($request['rtrn_date'] == $request['departure_date']){
     return null;
   } else {
     $this->db->where('car_id',$request['car_id']);
     $this->db->where('departure_date',$request['rtrn_date']);
     $this->db->where('detour_time <=',$request['rtrn_time']);
     $this->db->where('reached_time >=',$request['rtrn_time']);
     $query= $this->db->get('ride');
     return  $query->result();
   }


 } else {
   $this->db->where('car_id',$request['car_id']);
   $this->db->where('departure_date',$request['departure_date']);
   $this->db->where('detour_time <=',$request['departure_time']);
   $this->db->where('reached_time >=',$request['departure_time']);
   $query= $this->db->get('ride');
           // echo $this->db->last_query();
   return  $query->result();
 }




}
function notifysave($request){
  $this->db->where('user_id',$request['userid']);
  $result = $this->db->update('notifications',array(
    'push_offer_ride_request'=>$request['push_offer_ride_request'],                   
    'push_ratings'=>$request['push_ratings'],
    'push_ride_accept'=>$request['push_ride_accept'],
    'email_ride_publish'=>$request['email_ride_publish'],
    'push_booking_alert'=>$request['push_booking_alert'],
    'email_ride_update'=>$request['email_ride_update'],
    'email_msg_recieved'=>$request['email_msg_recieved'],
    'email_pending_ratings'=>$request['email_pending_ratings'],
    'email_new_rating'=>$request['email_new_rating'],
    'email_info'=>$request['email_info']
  ));
  // $query = $this->db->where('user_id',$request['userid']);
  // $query = $this->db->get('notifications');
  // $result = $query->row();
  if($result){
    return true;

  }else

  return false;

}


/********** otp verify *************/
public function otp_verify($data){

  $this->db->where('email', $data['email']);
  $this->db->where('otp', $data['otp_number']);
  $res = $this->db->get('user')->row();
  if($res)
    return $res;
  else
    return false;
}
/********** otp verify *************/





//   function get_number($request){
//      $request);
//   $query = $this->db->where('id',$request['id']);
//   $query = $this->db->get('users');
// echo $this->db->last_query();
//   $result = $query->row();
//   return $result;

// }






//  function get_notificationce($request){
//    $this->db->select('phone_num');
//          $this->db->from('users');
//   $query = $this->db->where('id',$request['userid']);
//   $query = $this->db->get('users');
//   //echo $this->db->last_query();
//   $result = $query->row();
//   //$finres = $result->phone_num();
//   return $result;

// }




function get_number($request){
  $this->db->select('phone_no');
  $this->db->from('users');
  $query = $this->db->where('id',$request['id']);
  $query = $this->db->get();
  $result = $query->row();
  return $result;

}







//  function test($request){

//           $id = $request['id'];
//           $query = $this->db->where('id',$id)->get('users');

//         if($query->num_rows()>0){
//             $rs = $query->row();
//             $data = array('profile_photo'=>$request['file']);
//             $this->db->where('id',$id)->update('users',$data);
//               $rs = $this->db->query("SELECT * FROM `users` WHERE id = $id ")->row();
//                      if($rs){
//                         //  return $rs;
//                      return $result = array('id'=>$rs->id,'first_name'=>$rs->first_name,
//                 'last_name'=>$rs->last_name,'username'=>$rs->username,
//                 'profile_photo'=>$rs->profile_photo,'email'=>$rs->email,
//                 'phone_no'=>$rs->phone_no,'gender'=>$rs->gender,'date_of_birth'=>$rs->date_of_birth,'id_is_verified'=>$rs->id_is_verified,
//                 'phone_is_verified'=>$rs->phone_is_verified,
//                 'email_is_verified'=>$rs->email_is_verified,'join_date'=>$rs->join_date,'biography'=>$rs->biography,'govt_id_path'=>$rs->govt_id_path);
//         }else{
//             return false;
//         }

//     }

// }




//    function test($request){
//           $id = $request['user_id'];
//           $data = array('image'=>$request['file']);
//           $query = $this->db->where('user_id',$id);
//           $query = $this->db->where('type',$request['type']);
//           $query = $this->db->update('verification',$data);
// //echo $this->db->last_query();

//             $rs = $this->db->select('*');
//             $rs =  $this->db->from('verification');
//           $rs = $this->db->where('user_id',$id);
//           $rs = $this->db->where('type',$request['type']);

//           $rs = $this->db->get()->row();

//     //       $rs);
// //echo $this->db->last_query();

//          // $rs = $this->db->query("SELECT * FROM `verification` WHERE user_id = '$id' ")->row();
//                      if($rs){
//                      return $result = array(
//                 'profile_photo'=>$rs->image);
//         }else{
//             return false;
//         }

// }









//   function carphoto_uploads($request){

//           $id = $request['id'];
//          // $query = $this->db->where('user_id',$id)->get('car_details');
//           $query = $this->db->where('id',$id)->get('car_details');
//          // echo $this->db->last_query();
//         if($query->num_rows()>0){
//             $rs = $query->row();
//             $data = array('car_image'=>$request['file']);
//              $this->db->where('id',$id)->update('car_details',$data);
//              $rs = $this->db->query("SELECT * FROM `car_details` WHERE id = $id ")->row();
//                      if($rs){
//                          //return $rs;
//                     return $result = array('id'=>$rs->id,'car_image'=>$rs->car_image,
//               );
//         }else{
//             return false;
//         }

//     }

// }





function carphoto_uploads($request){

  $id = $request['id'];
         // $query = $this->db->where('user_id',$id)->get('car_details');
  $query = $this->db->where('id',$id)->get('car_details');
        // echo $this->db->last_query();
  if($query->num_rows()>0){
    $rs = $query->row();
    $data = array('car_image'=>$request['file']);
    $this->db->where('id',$id)->update('car_details',$data);
             // echo $this->db->last_query();
    $rs = $this->db->query("SELECT * FROM `car_details` WHERE id = $id ")->row();
    if($rs){
                         //return $rs;
      return $result = array('id'=>$rs->id,'car_image'=>$rs->car_image,
    );
    }else{
      return false;
    }

  }

}

function end_ride_update($request){

  $data=array('status'=>2);
  $this->db->where('ride_id',$request['id']);
  $this->db->where('user_id',$request['users_id']);
  $this->db->update('booking_approve',$data);

  $data_book=array('status'=>5);
  $this->db->where('ride_id',$request['id']);
  $this->db->update('booking',$data_book);


  $data_ride=array('status'=>3);
  $this->db->where('id',$request['id']);
  $query = $this->db->update('ride',$data_ride);
  return $query;


                    // echo $this->db->last_query();
}
function booked_push_data($request){
  $data=array('user_id'=>$request->user_id,
    'book_id'=>$request->id);
  $query=$this->db->insert('book_push',$data);
  return $query;

}
function get_push_notification_details($request){
 $this->db->where('booking.status',0);
 $this->db->where('ride.users_id',$request); 
 $this->db->select('booking.*,ride.no_of_seats AS rideseat,car_details.car_image');
 $this->db->from('booking');
 $this->db->join('ride','booking.ride_id=ride.id','left');
 $this->db->join('users','ride.users_id=users.id','left');
 $this->db->join('car_details','ride.car_id=car_details.id','left');
 $query= $this->db->get();
                   // echo $this->db->last_query();
 return $query->result();

}
function reject_send_details($request){
  $this->db->where('booking.booking_id',$request);
  $this->db->select('booking.*,users.*');
  $this->db->from('booking');
  $this->db->join('users','booking.user_id=users.id','left');
  $query= $this->db->get();
                    // echo $this->db->last_query();
  return $query->row();


}
function approve_send_details($request){
  $this->db->where('booking.booking_id',$request);
  $this->db->select('booking.*,users.*');
  $this->db->from('booking');
  $this->db->join('users','booking.user_id=users.id','left');
  $query= $this->db->get();
                    // echo $this->db->last_query();
  return $query->row();


}
function car_edit_exist($request){
                    //var_dump($request);
  $this->db->where('car_id',$request['car_id']);
  $this->db->where('id!=',$request['id']);
  $this->db->where('departure_date',$request['departure_date']);
  $this->db->where('detour_time <=',$request['detour_time']);
  $this->db->where('reached_time >=',$request['detour_time']);
  $query= $this->db->get('ride');
                //echo $this->db->last_query();
  return  $query->result();
}
function result_edit_ride($data){

       //var_dump($data);
  $this->db->where('ride_alert.source',$data['source']);
  $this->db->where('ride_alert.departure_date',$data['departure_date']);
  $this->db->where('ride_alert.destination',$data['destination']);
  $this->db->where('ride_alert.departure_time <=',$data['detour_time']);
  $this->db->where('ride_alert.before_time >=',$data['detour_time']);
  $this->db->select('ride_alert.id as rideid,ride_alert.source,ride_alert.destination,ride_alert.departure_time,ride_alert.departure_date,users.*');
  $this->db->from('ride_alert');
  $this->db->join('users','ride_alert.user_id=users.id','left');
  $query= $this->db->get();
  $res= $query->result();
    //   echo $this->db->last_query();
  $new_ride_alert[$data['id']]=$res;


      //}
     // var_dump($new_ride_alert);
  return $new_ride_alert;

}


function booking_history_count_details($request){
  $date=date('Y-m-d');
  $this->db->where('ride.departure_date<',$date );
  $this->db->where('user_id',$request);
  $this->db->select('count(booking.id) as totalcount');

  $this->db->from('booking');
  $this->db->join('ride','booking.ride_id=ride.id','left');

  $query = $this->db->get();

  $new= $query->row();
  return $new;

}

function offer_history_count_details($request){
  $date=date('Y-m-d');
  $this->db->where('status!=',2);
  $this->db->select('count(id) as totalcount');
  $this->db->from('ride');
  $this->db->where('users_id',$request);
  $this->db->where('departure_date<',$date );
  $query = $this->db->get();

  $new= $query->row();
  return $new;

}


function car_active_check($request){
  $this->db->select('id');
  $this->db->from('ride');
  $this->db->where('car_id',$request->car_id) ;
  $res= $this->db->get()->result();

  if($res){
    foreach($res as $values){
      $this->db->where('ride_id',$values->id) ;
      $result=$this->db->get('booking')->row();
             // echo $this->db->last_query();
      if($result){
        if($result->status==1){
          return false;
        }else{
          return true;
        }
      }else{
       return true;
     }


   }
 }else{
   return true; 
 }
      //echo $this->db->last_query();

}

function edit_users_car($request){
  $data=array('car_make'=>$request->car_make,'car_type'=>$request->car_type,'no_of_seats'=>$request->seat_no,'car_color'=>$request->car_color,'car_year'=>$request->car_year);
  $this->db->where('id',$request->car_id);
  $res=$this->db->update('car_details',$data);

  return $res;

}
function get_verification_details($request){
  $this->db->where('user_id',$request->user_id);
  return $this->db->get('verification')->row();

}
function save_goverment_info($request){
       //  $request);
 $this->db->where('user_id',$request['user_id']);
         //$this->db->where('type',$request['type']);
 $result = $this->db->update('verification',array(
  'full_name'=>$request['full_name'],
  'date_of_birth '=>$request['year'].'-'.$request['month'].'-'.$request['day'],
  'image'=>$request['image_file'],
  'number'=>$request['id_no'],
  'type'=>$request['type'],
  'status'=>'4'
));
          //echo $this->db->last_query();
  // $query = $this->db->where('user_id',$request['userid']);
  // $query = $this->db->get('notifications');
 // $result = $query->row();
 return $result;

}




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




public function duplicate_ride($data){
  $request = $this->db->get_where('ride',array('id'=>$data['ride_id']))->row_array();
  if($request){
    $data =array('source'=>$request['source'],
      'destination'=>$request['destination'],
      'source_lat'=>$request['source_lat'],
      'source_lng'=>$request['source_lng'],
      'destination_lat'=>$request['destination_lat'],
      'destination_lng'=>$request['destination_lng'],
      'stopover'=>$request['stopover'],
      'stopover_lng'=>$request['stopover_lng'],
      'stopover_lat'=>$request['stopover_lat'],
      'pickup_flexibility'=>$request['pickup_flexibility'],
      'for_ladies'=>$request['for_ladies'],
      'to_airport'=>$request['to_airport'],
      'detour'=>$request['detour'],
      'no_of_seats'=>$request['no_of_seats'],
      'car_id'=>$request['car_id'],
      'max_luggage'=>$request['max_luggage'],
      'price'=>$request['price'],
      'users_id'=>$request['users_id'],
      'departure_date'=>$data['departure_date'],
      'detour_time'=>$data['detour_time'],
      'reached_time'=>$request['reached_time'],
      'is_round_trip'=>$request['is_round_trip'],
      'status'=>1
    );
    if($this->db->insert('ride',$data)){
      $res = array('status'=>'success');
    }
  }else{
    $res = array('status'=>'failed','message'=>'Ride Does not Exist');
  }
  return $res;
}

public function get_currency(){
  $this->db->select('id,cc as currency,name as currency_country');
  $result = $this->db->get_where('country_currency')->result();
  if($result){
    $res = array('status'=>'success','data'=>$result);
  }else{
    $res = array('status'=>'failed');
  }
  return $res;
}

public function update_currency($data){
  if($this->db->update('users',array('currency'=>$data['currency']),array('id'=>$data['user_id']))){
    return true;
  }else{
    return false;
  }
}

public function get_ride_members($data){
  $this->db->select("DISTINCT(TRIM(concat(users.first_name,' ',IFNULL(users.last_name,'')))) as name,IF(users.profile_photo != NULL OR users.profile_photo != '' , concat('".base_url()."',users.profile_photo) , '') profile_pic,users.id as rider_id,booking.status");
  $this->db->join('users','users.id = booking.user_id');
  $this->db->where('booking.ride_id',$data['ride_id']);
  $this->db->where('booking.user_id !=',$data['user_id']);
  $this->db->group_by('booking.user_id');
  $result = $this->db->get('booking')->result();
//echo $this->db->last_query();exit;
  if($result){
    foreach ($result as $key => $value) {
      $this->db->select('sum(no_of_seats) as no_seats');
      $ride_data = $this->db->get_where('booking',array('user_id'=>$value->rider_id,'ride_id'=>$data['ride_id']))->row();
      $result[$key]->no_of_seats =  $ride_data->no_seats;
    }
    $res = array('status'=>'success','data'=>$result);
  }else{
    $res = array('status'=>'error');
  }
  return $res;
} 

public function get_rider_profile($data){
  $this->db->select("TRIM(concat(users.first_name,' ',IFNULL(users.last_name,''))) as name,IF(users.profile_photo != NULL OR users.profile_photo != '' , concat('".base_url()."',users.profile_photo) , '') profile_pic,users.id as rider_id,IFNULL((select round(avg(rating),2) from rating where owner = '".$data['rider_id']."'), 0) as rating, (select count(id) from ride where users_id = ".$data['rider_id'].") as no_of_rides_as_driver,(select count(id) from booking where user_id = ".$data['rider_id'].") as no_of_rides_as_user");
     // $this->db->join('users','users.id = booking.user_id');
  $this->db->where('users.id',$data['rider_id']);
  $result = $this->db->get('users')->row();
     // print_r($result);exit();
  if($result){
    $res = array('status'=>'success','data'=>$result);
  }else{
    $res = array('status'=>'error');
  }
  return $res;
}

public function get_reviews($data){
  $this->db->select("rating.rating,rating.review,rating.ride_id,rating.create_user as reviewer_id,ride.source,ride.destination,ride.price,TRIM(concat(users.first_name,' ',IFNULL(users.last_name,''))) as reviewer_name");
  $this->db->from('rating');
  $this->db->join('ride','ride.id = rating.ride_id');
  $this->db->join('users','users.id = rating.create_user');
  $this->db->where('rating.owner',$data['user_id']);
  $result = $this->db->get()->result();
  if($result){
    $res = array('status'=>'success','data'=>$result);
  }else{
    $res = array('status'=>'error');
  }
  return $res;
}

public function recurring_ride($data){
  $data['week_available'] = json_encode($data['week_available']);
  if($this->db->insert('recurring_ride',$data)){
    return true;
  }
}

public function get_recuring_rideid_data($id){
  return $this->db->get_where('ride',array('id'=>$id))->row();
}

public function get_banners(){
  $this->db->select("IF(image != NULL OR image != '' , concat('".base_url()."',image) , '') image");
  return $this->db->get_where('banner')->result();
}

public function get_ride_status($data){
  $this->db->select('status');
  $query = $this->db->get_where('booking',array('id'=>$data['book_id']))->row_array();
  if($query){
    $res = array('status'=>'success','data'=>$query);
  }else{
    $res = array('status'=>'error');
  }
  return $res;
}
















}



?>