Commit f7c980f4 by Jansa Jose

dc

parent 486d8dd4
<?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;
}
}
?>
......@@ -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();
......
......@@ -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");
}
......
......@@ -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';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment