diff --git a/Webservices.php b/Webservices.php deleted file mode 100644 index 5bc4550..0000000 --- a/Webservices.php +++ /dev/null @@ -1,1348 +0,0 @@ -<?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 CI_Controller { - - public function __construct() { - parent::__construct(); - $this->load->model('Webservice_model'); - $this->load->library('form_validation'); - - $auth = ''; - $class = $this->router->fetch_class(); - $method = $this->router->fetch_method(); - - if($this->input->server('REQUEST_METHOD') == 'GET') - $postdata = json_encode($_GET); - - else if ($this->input->server('REQUEST_METHOD') == 'POST') - $postdata = file_get_contents("php://input"); - - if (isset(apache_request_headers()['Auth'])) { - $auth = apache_request_headers()['Auth']; - } - } - - // customer_login - public function customer_login(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Customer_model'); - - $respArr = array('status'=>'0','message'=>'Required Fields are empty.'); - if(!isset($postData['email']) || empty($postData['email']) || - !isset($postData['password']) || empty($postData['password'] = md5($postData['password']))){ - echo json_encode($respArr);exit; - } - - $custResp = $this->Customer_model->checkCustomerLogin($postData); - if(empty($custResp) || !isset($custResp['status']) || empty($custResp['status'])){ - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '1'){ - $respArr['data'] = $custResp['data']; - $respArr['status'] = '1'; - $respArr['message'] = 'Success'; - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '2'){ - $respArr['status'] = '2'; - $respArr['message'] = 'Invalid Email Address'; - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '3'){ - $respArr['status'] = '3'; - $respArr['message'] = 'Invalid Password'; - echo json_encode($respArr);exit; - } - echo json_encode($respArr); exit; - } - - // customer_forgot_password - public function customer_forgot_password(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Customer_model'); - - $respArr = array('status'=>'0','message'=>'Required Fields are empty.'); - if(empty($postData) || !isset($postData['email']) || empty($postData['email'])){ - echo json_encode($respArr);exit; - } - - $custResp = $this->Customer_model->genCustForgotPassLink($postData); - if(empty($custResp) || !isset($custResp['status']) || empty($custResp['status'])){ - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '2'){ - $respArr['status'] = '2'; - $respArr['message'] = 'Invalid Email Address'; - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '1'){ - /* - MAIL SENT CONFIGARATION -- TODO - */ - - $respArr['status'] = '1'; - $respArr['message'] = 'Password Reset Email has been sent'; - } - echo json_encode($respArr); exit; - } - - // customer_registration - public function customer_registration(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Customer_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData)){ - echo json_encode($respArr);exit; - } - - $err = 0; - $msg = ''; - if(!isset($postData['email']) || empty($postData['email'])){ - $err = 1; - $msg = 'Provide a valid Email ID'; - } - else if(!isset($postData['password']) || empty($postData['password'] = md5($postData['password']))){ - $err = 1; - $msg = 'Provide a Password'; - } - else if(!isset($postData['first_name']) || empty($postData['first_name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - else if(!isset($postData['last_name']) || empty($postData['last_name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - - if($err == 1){ - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - if(isset($postData['phone']) && empty($postData['phone'])){ - unset($postData['phone']); - } - unset($postData['promocode']); - - $custResp = $this->Customer_model->createCustomer($postData); - if(empty($custResp)){ - echo json_encode($respArr);exit; - } - - if($custResp == '1'){ - $custResp = $this->Customer_model->checkCustomerLogin($postData); - - if(empty($custResp) || !isset($custResp['status']) || empty($custResp['status'])){ - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '1'){ - $respArr['data'] = $custResp['data']; - $respArr['status'] = '1'; - $respArr['message'] = 'Success'; - echo json_encode($respArr);exit; - } - } else if($custResp == '2'){ - $respArr['status'] = '2'; - $respArr['message'] = 'Email Address already in use'; - echo json_encode($respArr);exit; - } else if($custResp == '3'){ - $respArr['status'] = '2'; - $respArr['message'] = 'Phone already in use'; - echo json_encode($respArr);exit; - } - - - echo json_encode($respArr); exit; - } - - // customer_registration - public function service_provider_registration(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData)){ - echo json_encode($respArr);exit; - } - - $err = 0; - $msg = ''; - if(!isset($postData['email']) || empty($postData['email'])){ - $err = 1; - $msg = 'Provide a valid Email ID'; - } - else if(!isset($postData['password']) || empty($postData['password'] = md5($postData['password']))){ - $err = 1; - $msg = 'Provide a Password'; - } - else if(!isset($postData['first_name']) || empty($postData['first_name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - else if(!isset($postData['last_name']) || empty($postData['last_name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - else if(!isset($postData['phone']) || empty($postData['phone'])){ - $err = 1; - $msg = 'Provide valid Phone Number'; - } - - if($err == 1){ - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - $custResp = $this->Webservice_model->createServiceProvider($postData); - - if($custResp == '0'){ - $respArr['message'] = 'Something went wrong.'; - } else if($custResp == '1'){ - $respArr['status'] = '1'; - $respArr['message'] = 'Success'; - } else if($custResp == '2'){ - $respArr['message'] = 'Email Address already in use'; - } else if($custResp == '3'){ - $respArr['message'] = 'Phone already in use'; - } - echo json_encode($respArr); exit; - } - - // getGeneralIssues - public function getGeneralIssues(){ - header('Content-type: application/json'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - $this->load->model('Issue_model'); - $issue_data = $this->Issue_model->getGeneralIssues(); - - if(!empty($issue_data)){ - $respArr['status'] = '1'; - $respArr['message'] = 'Success'; - $respArr['issue_data'] = $issue_data; - } - - echo json_encode($respArr); exit; - } - - // getNearByMechanics - public function getNearByMechanics(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Mechanic_model'); - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - - if(empty($postData) || !isset($postData['pickup_data']) || !isset($postData['sub_issues']) || - empty($postData['pickup_data']) || empty($postData['sub_issues']) ){ - echo json_encode($respArr); exit; - } - - $mechanic_data = $this->Mechanic_model->getNearByMechanics($postData['pickup_data'],$postData['sub_issues']); - - if(!empty($mechanic_data)){ - $respArr['status'] = '1'; - $respArr['message'] = 'Success'; - $respArr['mechanic_data'] = $mechanic_data; - } - echo json_encode($respArr); exit; - } - - // scheduleNow - public function scheduleNow(){ - header('Content-type: application/json'); - - $postData = $_POST; - $optionalData = array('optionlaDescription'=>'','optionalImages'=>array(),'optionalVideos'=>array()); - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - - if(empty($postData) || empty($postData = json_decode($postData['data'],true)) || - !isset($postData['cost']) || empty($postData['cost']) || - !isset($postData['customer_id']) || empty($postData['customer_id']) || - !isset($postData['mechanic_id']) || empty($postData['mechanic_id']) || - !isset($postData['pickup_data']) || empty($postData['pickup_data']) || - !isset($postData['vechile_info']) || empty($postData['vechile_info']) || - !isset($postData['schedule_date']) || empty($postData['schedule_date']) || - !isset($postData['selected_issues']) || empty($postData['selected_issues'])){ - echo json_encode($respArr);exit; - } - - $optionalData['optionlaDescription'] = (isset($postData['optionalDescription']) && - !empty($postData['optionalDescription']))? - $postData['optionalDescription']:''; - - if(isset($_FILES) && !empty($_FILES)){ - foreach ($_FILES as $fileIndex => $optImgs) { - if(empty($optImgs) || !isset($optImgs['name']) || empty($optImgs['name'])){ - continue; - } - $this->load->library('upload'); - $config = set_upload_service("assets/uploads/services"); - $config['file_name'] = 'optionalImages'.$postData['customer_id'].date('dmYHis'); - $this->upload->initialize($config); - if($this->upload->do_upload($fileIndex)){ - $upload_data = $this->upload->data(); - $optionalData['optionalImages'][] = $config['upload_path']."/".$upload_data['file_name']; - } - } - } - $this->load->model('Booking_model'); - - $postData['optionalData'] = $optionalData; - $status = $this->Booking_model->scheduleBooking($postData); - if($status){ - $respArr['status'] = '1'; - $respArr['message'] = 'Success'; - } - echo json_encode($respArr); exit; - } - - // edit_customer_profile - public function edit_customer_profile(){ - header('Content-type: application/json'); - - $postData = $_POST; - $this->load->model('Customer_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData) || empty($postData = json_decode($postData['data'],true)) || - !isset($postData['customer_id']) || empty($postData['customer_id'])){ - echo json_encode($respArr);exit; - } - - $err = 0; - $msg = ''; - if(!isset($postData['email']) || empty($postData['email'])){ - $err = 1; - $msg = 'Provide a valid Email ID'; - } - else if(!isset($postData['first_name']) || empty($postData['first_name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - else if(!isset($postData['last_name']) || empty($postData['last_name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - else if(!isset($postData['phone']) || empty($postData['phone'])){ - $err = 1; - $msg = 'Provide valid Phone'; - } - else if(!isset($postData['address']) || empty($postData['address'])){ - $err = 1; - $msg = 'Provide valid Address'; - } - - if($err == 1){ - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - if(isset($_FILES) && !empty($_FILES) && - isset($_FILES['profile_image']) && !empty($_FILES['profile_image'])){ - $config = set_upload_service("assets/uploads/services"); - $this->load->library('upload'); - $config['file_name'] = $postData['customer_id']."_".$_FILES['profile_image']['name']; - $this->upload->initialize($config); - if($this->upload->do_upload('profile_image')){ - $upload_data = $this->upload->data(); - $postData['profile_image'] = $config['upload_path']."/".$upload_data['file_name']; - } - } - - $customer_id = $postData['customer_id']; - if(isset($postData['password']) && !empty($postData['password']) && - isset($postData['cpassword']) && !empty($postData['cpassword']) && - $postData['password'] == $postData['cpassword']){ - $postData['password'] = md5($postData['password']); - } else { - unset($postData['password']); - } - unset($postData['cpassword']); - unset($postData['customer_id']); - - $custResp = $this->Customer_model->updateCustomer($customer_id,$postData); - if(empty($custResp)){ - echo json_encode($respArr);exit; - } - - if($custResp == '1'){ - $respArr['status'] = '1'; - $respArr['message'] = 'Profile successfully updated'; - $respArr['profile_image'] = (isset($postData['profile_image']) && !empty($postData['profile_image']))?$postData['profile_image']:''; - echo json_encode($respArr);exit; - } else if($custResp == '2'){ - $respArr['status'] = '2'; - $respArr['message'] = 'Email Address already in use'; - echo json_encode($respArr);exit; - } else if($custResp == '3'){ - $respArr['status'] = '3'; - $respArr['message'] = 'Phone Number already in use'; - echo json_encode($respArr);exit; - } - - echo json_encode($respArr); exit; - } - - // customerVechiles - function customerVechiles(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Vehicle_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData) || !isset($postData['customer_id']) || empty($postData['customer_id'])){ - echo json_encode($respArr);exit; - } - - $vehData = $this->Vehicle_model->getCustVechiles($postData); - if($vehData != '0'){ - $respArr['status'] = 1; - $respArr['message'] = 'success'; - $respArr['vehData'] = $vehData; - } - echo json_encode($respArr);exit; - } - - // getCustBookDetails - function getCustBookDetails(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Booking_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData) || !isset($postData['customer_id']) || empty($postData['customer_id'])){ - echo json_encode($respArr);exit; - } - - $status = (isset($postData['status']) && !empty($postData['status']))?$postData['status']:''; - $bookingDetails = $this->Booking_model->getCustBookDetails($postData,$status); - if($bookingDetails != '0'){ - $respArr['status'] = 1; - $respArr['message'] = 'success'; - $respArr['bookData'] = $bookingDetails; - } - echo json_encode($respArr);exit; - } - - // cancelBooking - function cancelBooking(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Booking_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData) || !isset($postData['customer_id']) || empty($postData['customer_id']) || - !isset($postData['booking_id']) || empty($postData['booking_id'])){ - echo json_encode($respArr);exit; - } - - $status=$this->Booking_model->changeBookStatus($postData['customer_id'],$postData['booking_id'],'3'); - - if($status){ - $respArr['status'] = 1; - $respArr['message'] = 'success'; - } - echo json_encode($respArr);exit; - } - - // deleteCustomerCar - function deleteCustomerCar(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Vehicle_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData) || !isset($postData['customer_id']) || empty($postData['customer_id']) || - !isset($postData['customer_veh_id']) || empty($postData['customer_veh_id'])){ - echo json_encode($respArr);exit; - } - - $status = $this->Vehicle_model->changeCustomerCarStatus($postData['customer_id'], - $postData['customer_veh_id'],'2'); - - if($status){ - $respArr['status'] = 1; - $respArr['message'] = 'success'; - } - echo json_encode($respArr);exit; - } - - // addCustomerCar - function addCustomerCar(){ - header('Content-type: application/json'); - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - $this->load->model('Vehicle_model'); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - if(empty($postData) || !isset($postData['customer_id']) || empty($postData['customer_id'])){ - echo json_encode($respArr);exit; - } - - $param = ""; - $searchType = $postData['type']; - $searchData = $postData['vehicleData']; - $locationData = $postData['location']; - - $vehicle_data['status'] = '1'; - $vehicle_data['customer_id'] = $postData['customer_id']; - $vehicle_data['car_loc_lat'] = $locationData['location_lat']; - $vehicle_data['car_loc_lng'] = $locationData['location_lng']; - $vehicle_data['car_location'] = $locationData['location']; - - $this->load->model('Settings_model'); - $settings = $this->Settings_model->settings_viewing(); - - $searchData = $postData['vehicleData']; - - if($searchType == 1 && - isset($searchData['car_maker']) && !empty($searchData['car_maker']) && - isset($searchData['modelName']) && !empty($searchData['modelName']) && - isset($searchData['modelYear']) && !empty($searchData['modelYear'])){ - $vehicle_data['car_maker'] = $searchData['car_maker']; - $vehicle_data['car_model'] = $searchData['modelName']; - $vehicle_data['car_model_year'] = $searchData['modelYear']; - - $param = "?format=json&key=".urlencode($settings['vin_audit_api'])."&year=". - urlencode($searchData['modelYear'])."&make=".urlencode($searchData['car_maker']). - "&model=".urlencode($searchData['modelName']); - } - else if($searchType == 2 && isset($searchData['vin']) && !empty($searchData['vin'])){ - $vehicle_data['car_vin'] = $searchData['vin']; - - $param = "?format=json&key=".urlencode($settings['vin_audit_api']). - "&vin=".urlencode($searchData['vin']); - } - - if(!empty($param)){ - $vehData=file_get_contents("https://specifications.vinaudit.com/getspecifications.php".$param); - if(empty($vehData) || empty($vehData = json_decode($vehData,true))){ - echo json_encode($return_arr);exit; - } - - if(!isset($vehData['success']) || empty($vehData['success']) || $vehData['success'] == false){ - $return_arr['status'] = 2; - $return_arr['message'] = 'No Data Found.'; - echo json_encode($return_arr);exit; - } - - if($searchType == 2){ - $vehicle_data['car_model'] = $vehData['attributes']['Model']; - $vehicle_data['car_maker'] = $vehData['attributes']['Make']; - $vehicle_data['car_model_year'] = $vehData['attributes']['Year']; - $vehData['vehicle']= $vehData['attributes']['Year'].' '.$vehData['attributes']['Make'].' '. - $vehData['attributes']['Model'].' '.$vehData['attributes']['Trim']; - } - - $vehicle_data['car_name'] = $vehData['vehicle']; - $vehicle_data['vehicle_data'] = json_encode($vehData); - - $car_id = $this->Vehicle_model->addVehicle($vehicle_data); - if(!empty($car_id)){ - $return_arr['status'] = '1'; - $return_arr['car_id'] = $car_id; - $return_arr['veh_data'] = $vehData; - } - } - echo json_encode($return_arr);exit; - } - - - /*********************************************************************************/ - /************************************Mobile API's*********************************/ - - //Mobile Number Availability - public function mobile_number_availability(){ - header('Content-type: application/json'); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - $respArr = array('status'=>'error','error'=>'901','message'=>'Something went wrong.'); - - if(!isset($postData['phone']) || empty($postData['phone']) && !isset($postData['country_code']) || empty($postData['country_code'])){ - $respArr = array('status'=>'0','error'=>'903','message'=>'Required Fields are empty.'); - echo json_encode($respArr);exit; - } - - $custResp = $this->Webservice_model->checkMobAvailability($postData); - if(!empty($custResp)){ - $respArr = $custResp; - } - echo json_encode($respArr);exit; - } - - //User Login - public function user_login(){ - header('Content-type: application/json'); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - $respArr = array('status'=>'0','message'=>'Required Fields are empty.'); - - if(!isset($postData['email']) || empty($postData['email']) || - !isset($postData['password']) || empty($postData['password'] = md5($postData['password']))){ - echo json_encode($respArr);exit; - } - - $custResp = $this->Webservice_model->checkCustomerLogin($postData); - if(empty($custResp) || !isset($custResp['status']) || empty($custResp['status'])){ - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '1'){ - $respArr['data'] = $custResp['data']; - $respArr['status'] = 'success'; - $respArr['message'] = 'Success'; - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '2'){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Invalid Email Address'; - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '3'){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Invalid Password'; - echo json_encode($respArr);exit; - } - echo json_encode($respArr); exit; - } - - // customer_registration - public function user_registration(){ - header('Content-type: application/json'); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - $respArr = array('status'=>'0','message'=>'Something went wrong.'); - - if(empty($postData)){ - echo json_encode($respArr);exit; - } - - $err = 0; - $msg = ''; - if(!isset($postData['email']) || empty($postData['email'])){ - $err = 1; - $msg = 'Provide a valid Email ID'; - } - else if(!isset($postData['password']) || empty($postData['password'] = md5($postData['password']))){ - $err = 1; - $msg = 'Provide a Password'; - } - else if(!isset($postData['name']) || empty($postData['name'])){ - $err = 1; - $msg = 'Provide valid Name'; - } - else if(!isset($postData['country_code']) || empty($postData['country_code'])){ - $err = 1; - $msg = 'Provide a Country Code'; - } - - else if(!isset($postData['phone']) && empty($postData['phone'])){ - $err = 1; - $msg = 'Provide a Phone Number'; - } - - if($err == 1){ - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - $custResp = $this->Webservice_model->createCustomer($postData); - if(empty($custResp)){ - echo json_encode($respArr);exit; - } - - if($custResp['status'] == '1'){ - $respArr['data'] = $custResp['data']; - $respArr['status'] = 'success'; - $respArr['message'] = 'Success'; - echo json_encode($respArr);exit; - } else if($custResp['status'] == '2'){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Email Address already in use'; - echo json_encode($respArr);exit; - } else if($custResp['status'] == '3'){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Phone already in use'; - echo json_encode($respArr);exit; - } - echo json_encode($respArr); exit; - } - - //Get Booked Services - public function get_booked_services(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $bookData = $this->Webservice_model->getBookedService($authRes['data']['customer_id']); - echo json_encode($bookData);exit; - } - - //Add Vehicle Details - public function add_vehicle_details(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $err = 0;$msg = ''; - if(empty($postData)){ - $respArr = array('status'=>0,'error'=>'901','message'=>'All Field is Required'); - echo json_encode($respArr);exit; - } - - if(!isset($postData['vehicle_year']) || empty($postData['vehicle_year'])){ - $err = 1; - $msg = 'Provide a Vehicle year'; - } - else if(!isset($postData['vehicle_make']) || empty($postData['vehicle_make'])){ - $err = 1; - $msg = 'Provide a Vehicle Make'; - } - else if(!isset($postData['vehicle_model']) || empty($postData['vehicle_model'])){ - $err = 1; - $msg = 'Provide a Vehicle Model'; - } - else if(!isset($postData['engine_no']) || empty($postData['engine_no'])){ - $err = 1; - $msg = 'Provide an Engine Number'; - } - else if(!isset($postData['vehicle_trim']) && empty($postData['vehicle_trim'])){ - $err = 1; - $msg = 'Provide a Vehicle Trim'; - } - else if(!isset($postData['mileage']) && empty($postData['mileage'])){ - $err = 1; - $msg = 'Provide a Mileage'; - } - else if(!isset($postData['car_loc_lat']) && empty($postData['car_loc_lat'])){ - $err = 1; - $msg = 'Car Location is Required'; - } - else if(!isset($postData['car_loc_lng']) && empty($postData['car_loc_lng'])){ - $err = 1; - $msg = 'Car Location is Required'; - } - else if(!isset($postData['car_location']) && empty($postData['car_location'])){ - $err = 1; - $msg = 'Car Location is Required'; - } - - if($err == 1){ - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - $respData = $this->Webservice_model->addVehicleDetails($postData,$authRes['data']['customer_id']); - echo json_encode($respData);exit; - } - - //Get Services - public function get_services(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $postData = $_GET; - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $currentpage = 0; - $start = 0; - $per_page = 10; - - if(isset($postData['page']) && strlen(trim($postData['page']," ")) > 0 ) { - $currentpage = (int)$postData['page']; - $currentpage = $currentpage==0 ? $currentpage : $currentpage-1; - $start = $currentpage * $per_page; - } - - $serviceresult = $this->Webservice_model->get_service_list($postData,0,0); - $serviceList = $this->Webservice_model->get_service_list($postData,$start,$per_page); - - $service = array(); - $total = 0; - - if($serviceresult['status'] == 'success'){ - $total = count($serviceresult['data']); - } - - if($total >= $per_page){ - $totalPages = (int)($total % $per_page ==0 ? $total / $per_page :($total / $per_page)+1); - } - else{ - $totalPages = 1; - } - - if($serviceList['status'] == 'success'){ - $respArr = array( - 'status' => 'success', - 'message'=>'success', - 'data' => array( - 'services' => $serviceList['data'] - ), - 'meta' => array( - 'total_pages' => $totalPages, - 'total' => $total, - 'current_page' => $currentpage+1, - 'per_page' => $per_page - ) - ); - }else{ - $respArr = array( - 'status' => 'error', - 'message'=>'No data', - 'data' => array( - 'services' => [] - ), - 'meta' => array( - 'total_pages' => $totalPages, - 'total' => $total, - 'current_page' => $currentpage+1, - 'per_page' => $per_page - ) - ); - } - echo json_encode($respArr);exit; - } - - //Get Vehicle Details - public function get_vehicle_details(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $respArr = array('status'=>'error','message'=>'Something Went Wrong.'); - - if(empty($postData)){ - echo json_encode($respArr);exit; - } - else if(!isset($postData['bar_code']) && !empty($postData['bar_code'])){ - $respArr['message'] = 'Barcode is Required.'; - echo json_encode($respArr);exit; - } - - $settings = getSettings(); - $param = "?format=json&key=".urlencode($settings['vin_audit_api']). - "&vin=".urlencode($postData['bar_code']); - - $vehData=file_get_contents("https://specifications.vinaudit.com/getspecifications.php".$param); - - if(empty($vehData) || empty($vehData = json_decode($vehData,true))){ - echo json_encode($respArr);exit; - } - - if(!isset($vehData['success']) || empty($vehData['success']) || $vehData['success'] == false || !isset($vehData['attributes']) || empty($vehData['attributes'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Invalid Vin Number.'; - echo json_encode($respArr);exit; - } - $respArr['status'] = 'success'; - $respArr['data'] = $vehData['attributes']; - $respArr['message'] = 'Success'; - echo json_encode($respArr);exit; - } - - //Search Sub Services - public function search_sub_services(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $postData = $_GET; - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $currentpage = 0; - $start = 0; - $per_page = 10; - - if(isset($postData['page']) && strlen(trim($postData['page']," ")) > 0 ) { - $currentpage = (int)$postData['page']; - $currentpage = $currentpage==0 ? $currentpage : $currentpage-1; - $start = $currentpage * $per_page; - } - - $subserviceresult = $this->Webservice_model->search_sub_services($postData,0,0); - $subserviceList = $this->Webservice_model->search_sub_services($postData,$start,$per_page); - - $service = array(); - $total = 0; - - if($subserviceresult['status'] == 'success'){ - $total = count($subserviceresult['data']); - } - - if($total >= $per_page){ - $totalPages = (int)($total % $per_page ==0 ? $total / $per_page :($total / $per_page)+1); - } - else{ - $totalPages = 1; - } - - if($subserviceList['status'] == 'success'){ - $respArr = array( - 'status' => 'success', - 'message'=>'success', - 'data' => array( - 'sub_services' => $subserviceList['data'] - ), - 'meta' => array( - 'total_pages' => $totalPages, - 'total' => $total, - 'current_page' => $currentpage+1, - 'per_page' => $per_page - ) - ); - }else if($subserviceList['status'] == 'error'){ - $respArr = array( - 'status' => 'error', - 'message'=>'No data', - 'data' => array( - 'sub_services' => [] - ), - 'meta' => array( - 'total_pages' => $totalPages, - 'total' => $total, - 'current_page' => $currentpage+1, - 'per_page' => $per_page - ) - ); - }else{ - $respArr = $subserviceList; - $respArr['status'] = 'error'; - } - echo json_encode($respArr);exit; - } - - //Book Service - public function book_service(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - - if(empty($postData)){ - $respArr = array('status'=>'error','message'=>'All Field is Required'); - echo json_encode($respArr);exit; - } - $err = 0; - - if(!isset($postData['booking_id']) || empty($postData['booking_id'])){ - $err = 1; - $msg = 'Booking Id is Required'; - } - else if(!isset($postData['total_cost']) || empty($postData['total_cost'])){ - $err = 1; - $msg = 'Total Cost is Required'; - } - else if(!isset($postData['mechanic_id']) || empty($postData['mechanic_id'])){ - $err = 1; - $msg = 'Mechanic Id is Required'; - } - else if(!isset($postData['date']) || empty($postData['date'])){ - $err = 1; - $msg = 'Date is Required'; - } - else if(!isset($postData['time']) && empty($postData['time'])){ - $err = 1; - $msg = 'Time is Required'; - } - - if($err == 1){ - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - $respData = $this->Webservice_model->book_service($postData); - echo json_encode($respData);exit; - - } - - //Get Booking Summary - public function get_booking_summary(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $postData = $_GET; - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $res = $this->Webservice_model->get_booking_summary($postData); - echo json_encode($res);exit; - } - - //Get Mechanics - public function get_mechanics(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $postData = $_GET; - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $err = 0; - if(!isset($postData['service_id']) || empty($postData['service_id'])){ - $err = 1; - $msg = 'Service Id is Required'; - } - else if(!isset($postData['location']) || empty($postData['location'])){ - $err = 1; - $msg = 'Location is Required'; - } - else if(!isset($postData['location_lat']) || empty($postData['location_lat'])){ - $err = 1; - $msg = 'Location is Required'; - } - else if(!isset($postData['location_lng']) || empty($postData['location_lng'])){ - $err = 1; - $msg = 'Location is Required'; - } - - if($err == 1){ - $respArr['status'] = 'error'; - $respArr['message'] = $msg; - echo json_encode($respArr);exit; - } - - $currentpage = 0; - $start = 0; - $per_page = 10; - - if(isset($postData['page']) && strlen(trim($postData['page']," ")) > 0 ) { - $currentpage = (int)$postData['page']; - $currentpage = $currentpage==0 ? $currentpage : $currentpage-1; - $start = $currentpage * $per_page; - } - - $mechanicsListcount = $this->Webservice_model->getNearMechanics($postData,0,0); - $mechanicsList = $this->Webservice_model->getNearMechanics($postData,$start,$per_page); - $total = 0; - - if($mechanicsList['status'] == 'success'){ - $total = count($mechanicsListcount['data']); - } - - if($total >= $per_page){ - $totalPages = (int)($total % $per_page ==0 ? $total / $per_page :($total / $per_page)+1); - } - else{ - $totalPages = 1; - } - - if($mechanicsList['status'] == 'success'){ - $respArr = array( - 'status' => 'success', - 'message'=>'success', - 'data' => array( - 'mechanics' => $mechanicsList['data'] - ), - 'meta' => array( - 'total_pages' => $totalPages, - 'total' => $total, - 'current_page' => $currentpage+1, - 'per_page' => $per_page) - ); - }else{ - $respArr = array( - 'status' => 'error', - 'message'=>'No data', - 'data' => array( - 'mechanics' => [] - ), - 'meta' => array( - 'total_pages' => $totalPages, - 'total' => $total, - 'current_page' => $currentpage+1, - 'per_page' => $per_page) - ); - } - echo json_encode($respArr);exit; - } - - //Add Service Details - public function add_service_details(){ - header('Content-type: application/json'); - $headers = apache_request_headers(); - - $postData = $_POST; - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - if(isset($_FILES['images']) && !empty($_FILES['images'])){ - $files = $_FILES; - $config = set_upload_service('assets/uploads/services'); - $this->load->library('upload'); - for ($i=0; $i < count($files['images']['name']) ; $i++){ - - $config['file_name'] = 'optionalImages'.date('dmYHis').$files['images']['name'][$i]; - $this->upload->initialize($config); - $_FILES['images']['name'] = $files['images']['name'][$i]; - $_FILES['images']['type'] = $files['images']['type'][$i]; - $_FILES['images']['tmp_name'] = $files['images']['tmp_name'][$i]; - $_FILES['images']['error'] = $files['images']['error'][$i]; - $_FILES['images']['size'] = $files['images']['size'][$i]; - if($this->upload->do_upload('images')) - { - $imagedata= $this->upload->data(); - $new[$i] = 'assets/uploads/services/'.$imagedata['file_name']; - } - else - { - $display_error = array('error' => $this->upload->display_errors('', '')); - $res = array( - "status"=> "error", - "error"=> "Upload Error", - "msg"=> "Sorry! Images not uploaded. ".$display_error['error'] - ); - print json_encode($res); - exit(); - } - } - - $postData['image'] = $new; - } - - if(isset($_FILES['videos']) && !empty($_FILES['videos'])){ - $files = $_FILES; - - $config = set_upload_service('assets/uploads/services'); - $this->load->library('upload'); - for ($i=0; $i < count($files['videos']['name']) ; $i++){ - - $config['file_name'] = 'optionalImages'.date('dmYHis').$_FILES['videos']['name'][$i]; - $this->upload->initialize($config); - $_FILES['videos']['name'] = $files['videos']['name'][$i]; - $_FILES['videos']['type'] = $files['videos']['type'][$i]; - $_FILES['videos']['tmp_name'] = $files['videos']['tmp_name'][$i]; - $_FILES['videos']['error'] = $files['videos']['error'][$i]; - $_FILES['videos']['size'] = $files['videos']['size'][$i]; - if($this->upload->do_upload('videos')) - { - $imagedata= $this->upload->data(); - $video[$i] = 'assets/uploads/services/'.$imagedata['file_name']; - } - else - { - $display_error = array('error' => $this->upload->display_errors('', '')); - $res = array( - "status"=> "error", - "error"=> "Upload Error", - "msg"=> "Sorry! Images not uploaded. ".$display_error['error'] - ); - echo json_encode($res); - exit(); - } - } - $postData['video'] = $video; - } - $addServiceDetails = $this->Webservice_model->add_service_details($postData); - echo json_encode($addServiceDetails);exit(); - } - - //Remove Booking - public function remove_booking(){ - header('Content-type:application/json'); - $headers = apache_request_headers(); - - $post = file_get_contents("php://input"); - $postData = json_decode($post, true); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - $removed = $this->Webservice_model->remove_booking($postData); - echo json_encode($removed); - } - - //Get Service - public function get_service(){ - header('Content-type:application/json'); - $headers = apache_request_headers(); - - $post = file_get_contents("php://input"); - $postData = json_decode($post,true); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $getServices = $this->Webservice_model->get_service($postData); - echo json_encode($getServices);exit; - } - - public function rate_mechanic(){ - header('Content-type:application/json'); - $headers = apache_request_headers(); - - $post = file_get_contents("php://input"); - $postData = json_decode($post,true); - - if(!isset($headers['Auth']) || empty($headers['Auth'])){ - $respArr['status'] = 'error'; - $respArr['message'] = 'Authtoken is Required'; - echo json_encode($respArr);exit; - } - $authRes = $this->Webservice_model->get_customer_authtoken($headers['Auth']); - if($authRes['status'] == 'error'){ - echo json_encode($authRes);exit; - } - - $postData['customer_id'] = $authRes['data']; - $result = $this->Webservice_model->rate_mechanic($postData); - echo json_encode($result);exit; - } - } - -?> diff --git a/application/controllers/Webservices.php b/application/controllers/Webservices.php index 337587b..e8dc070 100644 --- a/application/controllers/Webservices.php +++ b/application/controllers/Webservices.php @@ -23,17 +23,8 @@ $this->load->model('Webservice_model'); $this->load->library('form_validation'); - $auth = ''; - $class = $this->router->fetch_class(); - $method = $this->router->fetch_method(); - if($this->input->server('REQUEST_METHOD') == 'GET') - $postdata = json_encode($_GET); - else if ($this->input->server('REQUEST_METHOD') == 'POST') - $postdata = file_get_contents("php://input"); - if (isset(apache_request_headers()['Auth'])) { - $auth = apache_request_headers()['Auth']; - } - define("PAYSTACK_SECRET_KEY", "sk_test_36658e3260b1d1668b563e6d8268e46ad6da3273"); + //define("PAYSTACK_SECRET_KEY", "sk_test_36658e3260b1d1668b563e6d8268e46ad6da3273"); + define("PAYSTACK_SECRET_KEY", "sk_test_dae3d816baeeabcab5063def4aad5fe546e9758d"); } // customer_login public function customer_login(){ @@ -158,7 +149,7 @@ } echo json_encode($respArr); exit; } - // Service Provider registration + // Service Provider registration public function service_provider_registration(){ header('Content-type: application/json'); $post = file_get_contents("php://input"); @@ -531,7 +522,7 @@ } /*********************************************************************************/ /************************************Mobile API's*********************************/ - //Mobile Number Availability + //Mobile Number Availability public function mobile_number_availability(){ header('Content-type: application/json'); $post = file_get_contents("php://input"); @@ -547,7 +538,7 @@ } echo json_encode($respArr);exit; } - //User Login + //User Login public function user_login(){ header('Content-type: application/json'); $post = file_get_contents("php://input"); @@ -579,7 +570,7 @@ } echo json_encode($respArr); exit; } - // customer_registration + // customer_registration public function user_registration(){ header('Content-type: application/json'); $post = file_get_contents("php://input"); @@ -634,7 +625,7 @@ } echo json_encode($respArr); exit; } - //Get Booked Services + //Get Booked Services public function get_allocated_services(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -697,7 +688,7 @@ } echo json_encode($respArr);exit; } - + //Get booked Service public function get_booked_services(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -713,7 +704,7 @@ $bookData = $this->Webservice_model->get_booked_services($authRes['data']['customer_id']); echo json_encode($bookData);exit; } - //Add Vehicle Details + //Add Vehicle Details public function add_vehicle_details(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -778,7 +769,7 @@ $respData = $this->Webservice_model->addVehicleDetails($postData,$authRes['data']['customer_id']); echo json_encode($respData);exit; } - //Get Services + //Get Services public function get_services(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -844,7 +835,7 @@ } echo json_encode($respArr);exit; } - //Get Vehicle Details + //Get Vehicle Details public function get_vehicle_details(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -884,7 +875,7 @@ $respArr['message'] = 'Success'; echo json_encode($respArr);exit; } - //Search Sub Services + //Search Sub Services public function search_sub_services(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -953,7 +944,7 @@ } echo json_encode($respArr);exit; } - //Book Service + //Book Service public function book_service(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -1004,7 +995,7 @@ $respData = $this->Webservice_model->book_service($postData); echo json_encode($respData);exit; } - + //Allocated service details public function allocated_service_details(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -1034,7 +1025,7 @@ $respData = $this->Webservice_model->getBookedService($postData['booking_id'],'','',1); echo json_encode($respData);exit; } - //Get Booking Summary + //Get Booking Summary public function get_booking_summary(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -1051,7 +1042,7 @@ $res = $this->Webservice_model->get_booking_summary($postData); echo json_encode($res);exit; } - //Get Mechanics + //Get Mechanics public function get_mechanics(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -1143,7 +1134,7 @@ } echo json_encode($respArr);exit; } - //Add Service Details + //Add Service Details public function add_service_details(){ header('Content-type: application/json'); $headers = apache_request_headers(); @@ -1222,7 +1213,7 @@ $addServiceDetails = $this->Webservice_model->add_service_details($postData); echo json_encode($addServiceDetails);exit(); } - //Remove Booking + //Remove Booking public function remove_booking(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1240,7 +1231,7 @@ $removed = $this->Webservice_model->remove_booking($postData); echo json_encode($removed); } - //Get Service + //Get Service public function get_service(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1301,14 +1292,14 @@ $this->payStackPayment($postdata,1); } //Payment Integration of Order Booking - public function orderPayNow($orderId=''){ + public function orderPayNow($orderId='',$cartId=''){ if(empty($orderId)){ $this->fail(); } $orderData = $this->Webservice_model->getOrderPayDetails($orderId); if($orderData['status'] == 'success'){ $amount = $orderData['data']->amount * 100; - $callback = base_url().'Webservices/verify_payment/'.$orderId.'/2'; + $callback = base_url().'Webservices/verify_payment/'.$orderId.'/2/'.$cartId; $postdata = array('email' => $orderData['data']->email, 'amount' => $amount, 'reference' => $orderId, @@ -1316,7 +1307,7 @@ $this->payStackPayment($postdata,2); } } - + //PayStack Payment public function payStackPayment($postdata=array(),$payFor='1') { $url = "https://api.paystack.co/transaction/initialize"; $ch = curl_init(); @@ -1346,8 +1337,8 @@ $this->fail(); } } - - public function verify_payment($ref='',$payFor='1') { + //Verify Payment + public function verify_payment($ref='',$payFor='1',$cartId='') { if(empty($ref)){ $this->fail(); } @@ -1371,6 +1362,9 @@ if($result){ if($result['data']){ if($result['data']['status'] == 'success'){ + if($payFor ==2 && !empty($cartId)){ + $this->Webservice_model->removeCartPrdt($cartId); + } header("Location:".base_url('Webservices/success/'.$ref.'/'.$payFor)); }else{ header("Location:".base_url('Webservices/fail/'.$ref.'/'.$payFor)); @@ -1387,7 +1381,7 @@ header("Location: ".base_url('Webservices/fail/'.$ref.'/'.$payFor)); } } - + //Payment fail public function fail($ref='',$payFor='1',$mobile='0'){ if($mobile == '0'){ $settings = getSettings(); @@ -1405,7 +1399,7 @@ public function mobPayFailed(){} public function mobPaySuccess(){} - + //Payment Success public function success($ref='',$payFor='1',$mobile='0'){ if($payFor == '1'){ $this->db->select('customer_vehicle.car_name,bookings.scheduled_date, @@ -1449,7 +1443,7 @@ } } } - + //Push Notification public function push_sent_cancel($fcm_data=array()) { $settings = getSettings(); $key = $settings['app_id']; @@ -1470,7 +1464,6 @@ curl_exec($ch); curl_close($ch); } - //Search Products public function productSearch(){ header('Content-type:application/json'); @@ -1526,7 +1519,7 @@ $result = $this->Webservice_model->getBrands(); echo json_encode($result);exit; } - + //Brand Details public function brand_details(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1615,7 +1608,7 @@ $result = $this->Webservice_model->getOrderDetail($postData); echo json_encode($result);exit; } - + //Rate Product public function rateProduct(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1624,7 +1617,7 @@ $result = $this->Webservice_model->rateProduct($postData); echo json_encode($result);exit; } - + //Get Latest Product List public function get_latest_product_list(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1685,7 +1678,7 @@ } echo json_encode($respArr);exit; } - + //Get Trending Product List public function get_trending_product_list(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1746,7 +1739,7 @@ } echo json_encode($respArr);exit; } - + //Product Details public function product_details(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1765,7 +1758,7 @@ $result = $this->Webservice_model->SingleProductSearch($postData); echo json_encode($result);exit; } - + //Add Address public function add_address(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1784,7 +1777,7 @@ $result = $this->Webservice_model->saveUserAddress($postData); echo json_encode($result);exit; } - + //Address Details public function address_details(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1801,7 +1794,7 @@ $result = $this->Webservice_model->getUserAddress($postData); echo json_encode($result);exit; } - + //Get Latest Products public function getLatestPrdts(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1846,7 +1839,7 @@ } echo json_encode($respArr);exit; } - + //Get Trending Products public function getTrendingPrdts(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1894,7 +1887,7 @@ } echo json_encode($respArr);exit; } - + //Get ny Orders public function getMyOrders(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1942,7 +1935,7 @@ } echo json_encode($respArr);exit; } - + //Cancel Order for web public function cancelOrder(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1951,7 +1944,7 @@ $result = $this->Webservice_model->cancelOrder($postData); echo json_encode($result);exit; } - + //Cancel Order For App public function cancel_order(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -1969,7 +1962,7 @@ $result = $this->Webservice_model->cancelOrder($postData); echo json_encode($result);exit; } - + //Get Cart Data public function getCartData(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2017,16 +2010,16 @@ } echo json_encode($respArr);exit; } - + //Remove Cart Product public function removeCartPrdt(){ header('Content-type:application/json'); $headers = apache_request_headers(); $post = file_get_contents("php://input"); $postData = json_decode($post,true); - $result = $this->Webservice_model->removeCartPrdt($postData); + $result = $this->Webservice_model->removeCartPrdt($postData['cart_id']); echo json_encode($result);exit; } - + //Add to Cart for Web public function addToCart(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2035,7 +2028,7 @@ $result = $this->Webservice_model->addToCart($postData); echo json_encode($result);exit; } - + //Add to Cart for App public function add_to_cart(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2061,7 +2054,7 @@ $result = $this->Webservice_model->addToCart($postData); echo json_encode($result);exit; } - + //Remove Product public function remove_product(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2076,10 +2069,10 @@ } $post = file_get_contents("php://input"); $postData = json_decode($post,true); - $result = $this->Webservice_model->removeCartPrdt($postData); + $result = $this->Webservice_model->removeCartPrdt($postData['cart_id']); echo json_encode($result);exit; } - + //Cart Details public function cart_details(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2140,7 +2133,7 @@ } echo json_encode($respArr);exit; } - + //My Order Details public function my_order_details(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2201,7 +2194,7 @@ } echo json_encode($respArr);exit; } - + //Search Product public function search_product(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2264,7 +2257,7 @@ } echo json_encode($respArr);exit; } - + //Filter Product public function filter_product(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2327,21 +2320,21 @@ } echo json_encode($respArr);exit; } - + //Get Mechanic Shops public function getMechanicShops(){ header('Content-type:application/json'); $headers = apache_request_headers(); $result = $this->Webservice_model->getMechanicShops(); echo json_encode($result);exit; } - + //Get Vehicle Brands in Web public function getVehicleBrand(){ header('Content-type:application/json'); $headers = apache_request_headers(); $result = $this->Webservice_model->getVehicleBrand(); echo json_encode($result);exit; } - + //Get Vehicle Beands for app public function get_vehicle_brand(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2357,7 +2350,7 @@ $result = $this->Webservice_model->getVehicleBrand(); echo json_encode($result);exit; } - + //Get Vehicle Model public function getVehicleModel(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2366,7 +2359,16 @@ $result = $this->Webservice_model->getVehicleModel($postData); echo json_encode($result);exit; } - + //Get Vehicle Trim + public function getVehicleTrim(){ + header('Content-type:application/json'); + $headers = apache_request_headers(); + $post = file_get_contents("php://input"); + $postData = json_decode($post, true); + $result = $this->Webservice_model->getVehicleTrim($postData); + echo json_encode($result);exit; + } + //Get Vehicle Model public function get_vehicle_model(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2385,9 +2387,9 @@ $result = $this->Webservice_model->getVehicleModel($postData); echo json_encode($result);exit; } - - public function get_userAddress_by_id(){ - header('Content-type:application/json'); + //Get User address By Id + public function get_userAddress_by_id(){ + header('Content-type:application/json'); $headers = apache_request_headers(); if(!isset($headers['Auth']) || empty($headers['Auth'])){ $respArr['status'] = 'error'; @@ -2402,10 +2404,10 @@ $postData['customer_id'] = $authRes['data']['customer_id']; $result = $this->Webservice_model->getUserAddressById($postData); echo json_encode($result);exit; - } - + } + //Update Address public function update_address(){ - header('Content-type:application/json'); + header('Content-type:application/json'); $headers = apache_request_headers(); if(!isset($headers['Auth']) || empty($headers['Auth'])){ $respArr['status'] = 'error'; @@ -2420,10 +2422,10 @@ $postData = json_decode($post, true); $result = $this->Webservice_model->update_user_address($postData); echo json_encode($result);exit; - } - + } + // Bulk Order Booking public function bulkOrderBooking(){ - header('Content-type:application/json'); + header('Content-type:application/json'); $headers = apache_request_headers(); $post = file_get_contents("php://input"); if(empty($post) || empty($postData = json_decode($post,true)) || @@ -2438,12 +2440,12 @@ $postData['customer_id'] = $authRes['data']['customer_id']; $result = $this->Webservice_model->bulkOrderBooking($postData); if($result['status'] == 'success'){ - $this->orderPayNowApi($result['data']); + $this->orderPayNowApi($result['data'],$authRes['data']['customer_id']); } $this->fail('','','1'); - } - - public function PayNowApi($transId=''){ + } + // Payment for App + public function PayNowApi($transId=''){ if(empty($transId)){ $this->fail('','','1'); } @@ -2459,15 +2461,15 @@ 'callback_url' => $callback); $this->payStackPaymentApi($postdata); } - - public function orderPayNowApi($transId=''){ + //Payment for Product Api for App + public function orderPayNowApi($transId='',$customer_id=''){ if(empty($transId)){ $this->fail('','','1'); } $orderData = $this->Webservice_model->getOrderPayDetailsApi($transId); if($orderData['status'] == 'success'){ $amount = $orderData['data']->bulk_amount * 100; - $callback = base_url().'Webservices/verify_payment_api/'.$transId.'/2'; + $callback = base_url().'Webservices/verify_payment_api/'.$transId.'/2/'.$customer_id; $postdata = array('email' => $orderData['data']->email, 'amount' => $amount, 'reference' => $transId, @@ -2475,7 +2477,7 @@ $this->payStackPaymentApi($postdata); } } - + //Paymentfor PaystackPaymentApi public function payStackPaymentApi($postdata=array()) { $url = "https://api.paystack.co/transaction/initialize"; $ch = curl_init(); @@ -2503,8 +2505,8 @@ $redir = $result['data']['authorization_url']; redirect($redir); } - - public function verify_payment_api($transId='',$payFor='1') { + //Verify Payment Api + public function verify_payment_api($transId='',$payFor='1',$customer_id='') { if(empty($transId)){ $this->fail('','','1'); } @@ -2528,6 +2530,9 @@ if($result){ if($result['data']){ if($result['data']['status'] == 'success'){ + if($payFor ==2 && !empty($customer_id)){ + $this->Webservice_model->removeCartPrdtAPI($customer_id); + } header("Location:".base_url('Webservices/success/'.$transId.'/'.$payFor.'/1')); } else { header("Location:".base_url('Webservices/fail/'.$transId.'/'.$payFor.'/1')); @@ -2543,7 +2548,7 @@ header("Location: ".base_url('Webservices/fail/'.$transId.'/'.$payFor.'/1')); } } - + //Social login public function socialLogin(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2552,7 +2557,7 @@ $result = $this->Webservice_model->socialLogin($postData); echo json_encode($result);exit; } - + //Get Customer remainders public function getCustRemainders(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2561,7 +2566,7 @@ $result = $this->Webservice_model->getCustRemainders($postData); echo json_encode($result);exit; } - + //Change Remainder Status public function changeReminderStatus(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2571,7 +2576,7 @@ $result = $this->Vehicle_model->changeReminderStatus($postData); echo json_encode($result);exit; } - + //Download Order Details public function downloadOrdrDtls($order_id = ''){ if(empty($order_id)){ return; @@ -2614,7 +2619,7 @@ ob_end_clean(); $pdf->Output('Record.pdf', 'I'); } - + //Give Review public function giveReview(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2633,7 +2638,7 @@ $result = $this->Webservice_model->rateProduct($postData); echo json_encode($result);exit; } - + //Get my Vehicles public function get_my_vehicles(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2653,7 +2658,7 @@ $respArr['data'] = $result; echo json_encode($respArr);exit; } - + //Get Customer Vehicle Details public function getCustVehDetails(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2662,7 +2667,7 @@ $result = $this->Webservice_model->getCustVehDetails($postData); echo json_encode($result);exit; } - + //Remove Vehicle public function remove_vehicle(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2671,7 +2676,7 @@ $result = $this->Webservice_model->remove_vehicle($postData); echo json_encode($result);exit; } - + //Get Mechanic Review public function get_mechanics_reviews(){ header('Content-type:application/json'); $headers = apache_request_headers(); @@ -2733,7 +2738,7 @@ } echo json_encode($respArr);exit; } - + //Forgot Password public function forgot_password(){ header('Content-Type:application/json'); $headers = apache_request_headers(); @@ -2747,7 +2752,7 @@ $respArr = $this->Webservice_model->forgot_password($postData['email']); echo json_encode($respArr);exit; } - + //Change Password public function change_password(){ header('Content-type:application/json'); $headers = apache_request_headers(); diff --git a/application/controllers/Webservices_mechanic.php b/application/controllers/Webservices_mechanic.php index 053ab81..f663f8e 100644 --- a/application/controllers/Webservices_mechanic.php +++ b/application/controllers/Webservices_mechanic.php @@ -23,16 +23,6 @@ $this->load->model('Webservice_mechanic_model'); $this->load->library('form_validation'); - $auth = ''; - $class = $this->router->fetch_class(); - $method = $this->router->fetch_method(); - if($this->input->server('REQUEST_METHOD') == 'GET') - $postdata = json_encode($_GET); - else if ($this->input->server('REQUEST_METHOD') == 'POST') - $postdata = file_get_contents("php://input"); - if (isset(apache_request_headers()['Auth'])) { - $auth = apache_request_headers()['Auth']; - } define("PAYSTACK_SECRET_KEY", "sk_test_36658e3260b1d1668b563e6d8268e46ad6da3273"); } diff --git a/application/models/Webservice_model.php b/application/models/Webservice_model.php index 71f46fd..ea68ee5 100644 --- a/application/models/Webservice_model.php +++ b/application/models/Webservice_model.php @@ -763,20 +763,26 @@ class Webservice_model extends CI_Model { $where .= " PRD.amount < ".$postData['maxPrice']." AND "; } if(isset($postData['year']) && $postData['year'] != ''){ - $where .= " CRD.year = ".$postData['year']." AND "; + $where .= " VEH.year = ".$postData['year']." AND "; } if(isset($postData['maker']) && $postData['maker'] != ''){ - $where .= " VEHM.veh_brand_id = ".$postData['maker']." AND "; + $where .= " VEH.veh_brand_id = ".$postData['maker']." AND "; } if(isset($postData['model']) && $postData['model'] != ''){ - $where .= " VEHM.veh_modal_id = ".$postData['model']." AND "; + $where .= " VEH.model_id = ".$postData['model']." AND "; + } + // if(isset($postData['modelName']) && $postData['modelName'] != ''){ + // $where .= " VEHM.model_name = '".$postData['modelName']."' AND "; + // } + if(isset($postData['trim']) && $postData['trim'] != ''){ + $where .= " VEH.trim = '".$postData['trim']."' AND "; } $result = $this->db->query("SELECT ROUND(AVG(REV.rating),2) AS rating, COUNT(REV.id) AS count,PRD.*,PI.image".$cartSel." FROM products AS PRD LEFT JOIN product_cars AS CRD ON (PRD.product_id=CRD.product_id) LEFT JOIN product_rating AS REV ON (REV.product_id=PRD.product_id) - LEFT JOIN vehicles_model AS VEHM ON (VEHM.veh_modal_id=CRD.veh_model_id) + LEFT JOIN vehicles AS VEH ON (VEH.veh_id = CRD.veh_model_id) LEFT JOIN product_images AS PI ON (PI.id= (SELECT MIN(id) FROM product_images WHERE product_id=PRD.product_id AND PRD.status='1')) ".$cartJoin." @@ -1001,7 +1007,6 @@ class Webservice_model extends CI_Model { $respArr['message'] = 'All Field is required'; return $respArr; } - $this->db->delete('cart',array('customer_id'=>$postData['customer_id'])); $bulk_flag = 0; $bulkUnqueId = ''; if(($bulk_flag = count($postData['data'])) > 1){ @@ -1301,13 +1306,25 @@ class Webservice_model extends CI_Model { return $respArr; } - public function removeCartPrdt($postData){ + public function removeCartPrdt($cart_id){ $respArr = array('status'=>'error'); - if(empty($postData['cart_id'])){ + if(empty($cart_id) || $cart_id == ''){ $respArr['message'] = "Cart Id is Required"; return $respArr; } - if($this->db->delete('cart',array('cart_id'=>$postData['cart_id']))){ + if($this->db->delete('cart',array('cart_id'=>$cart_id))){ + $respArr['status'] = "success"; + } + return $respArr; + } + + public function removeCartPrdtAPI($customer_id=''){ + $respArr = array('status'=>'error'); + if(empty($customer_id) || $customer_id == ''){ + $respArr['message'] = "Customer Id is Required"; + return $respArr; + } + if($this->db->delete('cart',array('customer_id'=>$customer_id))){ $respArr['status'] = "success"; } return $respArr; @@ -1363,10 +1380,15 @@ class Webservice_model extends CI_Model { if(!isset($postData['vehBrand_id']) && empty($postData['vehBrand_id'])){ $respArr['message'] = 'Vehicle Brand Id is Required' ; } - $this->db->select("DISTINCT(model) as model,veh_modal_id,engine,trim"); + if(!isset($postData['vehiYear']) && empty($postData['vehiYear'])){ + $respArr['message'] = 'Vehicle Year is Required' ; + } + $this->db->select("DISTINCT(VEHM.model_name) as model,VEHM.veh_model_id,VEH.engine,VEH.trim"); + $this->db->join('vehicle_models AS VEHM','VEHM.veh_model_id = VEH.model_id'); $this->db->order_by('model'); - $result = $this->db->get_where('vehicles_model', - array('veh_brand_id'=>$postData['vehBrand_id'],'status'=>'1')); + $result = $this->db->get_where('vehicles AS VEH', + array('VEH.veh_brand_id'=>$postData['vehBrand_id'],'VEH.status'=>'1','VEH.year'=>$postData['vehiYear'])); + // pr($this->db->last_query()); if(empty($result) || empty($result = $result->result())){ $respArr['status'] = "error"; return $respArr; @@ -1391,6 +1413,36 @@ class Webservice_model extends CI_Model { return $respArr; } + public function getVehicleTrim($postData = array()){ + $respArr = array('status'=>'error'); + if(!isset($postData['vehBrand_id']) && empty($postData['vehBrand_id'])){ + $respArr['message'] = 'Vehicle Brand Id is Required' ; + } + else if(!isset($postData['vehiYear']) && empty($postData['vehiYear'])){ + $respArr['message'] = 'Vehicle Year is Required' ; + } + else if(!isset($postData['vehiModel']) && empty($postData['vehiModel'])){ + $respArr['message'] = 'Vehicle Model is Required' ; + } + $this->db->select("VEH.model_id,VEH.trim"); + $this->db->join('vehicle_models AS VEHM','VEHM.veh_model_id = VEH.model_id'); + $result = $this->db->get_where('vehicles as VEH', + array('VEH.veh_brand_id'=>$postData['vehBrand_id'],'VEH.status'=>'1','VEH.year'=>$postData['vehiYear'],'VEH.model_id'=>$postData['vehiModel'])); + if(empty($result) || empty($result = $result->result())){ + $respArr['status'] = "error"; + return $respArr; + } + $trim = array(); + foreach($result AS $key => $value) { + if(empty($value->trim)){ + unset($result[$key]); + } + } + $respArr['data'] = $result; + $respArr['status'] = 'success'; + return $respArr; + } + public function socialLogin($postData=array()){ $respArr = array('status'=>'error'); if(empty($postData['data'])){ @@ -1487,31 +1539,41 @@ class Webservice_model extends CI_Model { return $respArr; } $veh_data = json_decode($carData->vehicle_data); - $result = $this->db->query("SELECT VEHM.veh_modal_id,VEHM.veh_brand_id - FROM vehicles_model AS VEHM - INNER JOIN vehicles_brand AS VEHB ON VEHB.veh_brand_id = VEHM.veh_brand_id + $result = $this->db->query("SELECT VEH.model_id AS veh_modal_id,VEH.veh_brand_id,VEH.year,VEH.trim, + VEHM.model_name AS model + FROM vehicles AS VEH + INNER JOIN vehicles_brand AS VEHB ON VEHB.veh_brand_id = VEH.veh_brand_id + INNER JOIN vehicle_models AS VEHM ON VEHM.veh_model_id = VEH.model_id WHERE VEHB.maker LIKE '$veh_data->make' - AND VEHM.model LIKE '$veh_data->model' - AND VEHM.engine LIKE '$veh_data->engine' - AND VEHM.trim LIKE '$veh_data->trim'" + AND VEHM.model_name LIKE '$veh_data->model' + AND VEH.year LIKE '$veh_data->year' + AND VEH.engine LIKE '$veh_data->engine' + AND VEH.trim LIKE '$veh_data->trim'" ); if(empty($result) || $result->num_rows() <= 0){ - $result = $this->db->query("SELECT VEHM.veh_modal_id,VEHM.veh_brand_id - FROM vehicles_model AS VEHM - INNER JOIN vehicles_brand AS VEHB ON VEHB.veh_brand_id = VEHM.veh_brand_id + $result = $this->db->query("SELECT VEH.model_id AS veh_modal_id,VEH.veh_brand_id,VEH.year,VEH.trim, + VEHM.model_name AS model + FROM vehicles AS VEH + INNER JOIN vehicles_brand AS VEHB ON VEHB.veh_brand_id = VEH.veh_brand_id + INNER JOIN vehicle_models AS VEHM ON VEHM.veh_model_id = VEH.model_id WHERE VEHB.maker LIKE '$veh_data->make' - AND VEHM.model LIKE '$veh_data->model' - AND VEHM.trim LIKE '$veh_data->trim'" + AND VEH.year LIKE '$veh_data->year' + AND VEHM.model_name LIKE '$veh_data->model' + AND VEH.trim LIKE '$veh_data->trim'" ); } if(empty($result) || $result->num_rows() <= 0){ - $result = $this->db->query("SELECT VEHM.veh_modal_id,VEHM.veh_brand_id - FROM vehicles_model AS VEHM - INNER JOIN vehicles_brand AS VEHB ON VEHB.veh_brand_id = VEHM.veh_brand_id + $result = $this->db->query("SELECT VEH.model_id AS veh_modal_id,VEH.veh_brand_id,VEH.year,VEH.trim, + VEHM.model_name AS model + FROM vehicles AS VEH + INNER JOIN vehicles_brand AS VEHB ON VEHB.veh_brand_id = VEH.veh_brand_id + INNER JOIN vehicle_models AS VEHM ON VEHM.veh_model_id = VEH.model_id WHERE VEHB.maker LIKE '$veh_data->make' - AND VEHM.model LIKE '$veh_data->model'" + AND VEH.year LIKE '$veh_data->year' + AND VEHM.model_name LIKE '$veh_data->model'" ); } + //pr($this->db->last_query()); if(!empty($result) && $result->num_rows() > 0 && !empty($data = $result->row())){ $respArr['data'] = $data; $respArr['status'] = 'success';