Commit 6d789e1d by Jansa Jose

Merge branch 'master' into 'dev_production'

Master See merge request !162
parents 3e57f196 b66ce164
<?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;
}
}
?>
......@@ -24,6 +24,7 @@ class Product extends CI_Controller {
$template['product_data'] = $this->Product_model->getProduct();
$template['veh_data']['make'] = $this->Vehicle_model->getVehBrand('',1);
$template['veh_data']['model'] = $this->Vehicle_model->getVehModel('',1);
//pr($template['veh_data']['model']);
$template['brand_data'] = $this->Brand_model->getbrand('',1);
$this->load->view('template',$template);
}
......@@ -85,6 +86,7 @@ class Product extends CI_Controller {
redirect(base_url('Product/addproduct'));
}
$_POST['created_by']=($this->session->userdata['user_type']==2)?$this->session->userdata['id']:0;
// pr($_POST);
$product_id = $this->Product_model->addProduct($_POST);
if($product_id){
$evtMediaData = array();
......@@ -134,7 +136,9 @@ class Product extends CI_Controller {
$template['product_id'] = encode_param($product_id);
$template['brand_data'] = $this->Brand_model->getbrand('',1);
$template['product_data'] = $this->Product_model->getProduct($product_id);
//echo "<pre>"; print_r($template['product_data']) ; exit;
$template['veh_data']['make'] = $this->Vehicle_model->getVehBrand('',1);
$template['veh_data']['model'] = $this->Vehicle_model->getVehModel('',1);
$template['product_image'] = $this->Product_model->getProductImage($product_id);
$template['brand_id'] = $template['product_data']->brand_id;
$this->load->view('template',$template);
......
......@@ -241,7 +241,7 @@ class Vehicle extends CI_Controller {
$template['smenu'] = 'View Vehicles Model ';
$template['pTitle'] = "View Vehicles Model ";
$template['pDescription'] = "View and Manage Vehicles Models";
$template['vehModel_data'] = $this->Vehicle_model->getVehModel('',1);
//$template['vehModel_data'] = $this->Vehicle_model->getVehModel('',1);
$this->load->view('template',$template);
}
......@@ -266,7 +266,10 @@ class Vehicle extends CI_Controller {
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Vehicle/addVehModel'));
}
if($err == 0 && (!isset($_POST['veh_brand_id']) || empty($_POST['veh_brand_id']))){
if($err == 0 && (!isset($_POST['vehYear']) || empty($_POST['vehYear']))){
$err = 1;
$errMsg = 'Please Select an year';
}else if($err == 0 && (!isset($_POST['veh_brand_id']) || empty($_POST['veh_brand_id']))){
$err = 1;
$errMsg = 'Please Select a Brand';
}else if($err == 0 && (!isset($_POST['model']) || empty($_POST['model']))){
......@@ -290,9 +293,9 @@ class Vehicle extends CI_Controller {
}
}
public function editVehModel($model_id){
public function editVehModel($veh_id){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($model_id) || !is_numeric($model_id = decode_param($model_id))){
if(empty($veh_id) || !is_numeric($veh_id = decode_param($veh_id))){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Vehicle/viewVehModel'));
}
......@@ -301,17 +304,19 @@ class Vehicle extends CI_Controller {
$template['smenu'] = 'Edit Model';
$template['pTitle'] = "Edit Model";
$template['pDescription'] = "Update Model Name";
$template['model_id'] = encode_param($model_id);
$template['vehicle_id'] = encode_param($veh_id);
$template['vehBrand_data'] = $this->Vehicle_model->getVehBrand('',1);
$template['vehModel_data'] = $this->Vehicle_model->getVehModel($model_id,1);
$template['vehModel_data'] = $this->Vehicle_model->getVehModel('',1);
$template['vehModel_datas'] = $this->Vehicle_model->getVehModel('',1,'',$veh_id);
// pr($template['vehModel_datas']);
$this->load->view('template',$template);
}
public function updateVehModel($model_id = ''){
public function updateVehModel($vehicle_id = ''){
$err = 0;
$errMsg = '';
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($model_id) || !isset($_POST) || empty($_POST) || !is_numeric(decode_param($model_id))){
if(empty($vehicle_id) || !isset($_POST) || empty($_POST) || !is_numeric(decode_param($vehicle_id))){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Vehicle/viewVehModel'));
}
......@@ -319,7 +324,10 @@ class Vehicle extends CI_Controller {
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Vehicle/addVehModel'));
}
if($err == 0 && (!isset($_POST['veh_brand_id']) || empty($_POST['veh_brand_id']))){
if($err == 0 && (!isset($_POST['vehYear']) || empty($_POST['vehYear']))){
$err = 1;
$errMsg = 'Please Select an year';
}else if($err == 0 && (!isset($_POST['veh_brand_id']) || empty($_POST['veh_brand_id']))){
$err = 1;
$errMsg = 'Please Select a Brand';
}else if($err == 0 && (!isset($_POST['model']) || empty($_POST['model']))){
......@@ -331,7 +339,7 @@ class Vehicle extends CI_Controller {
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Vehicle/addVehModel'));
}
$model = $this->Vehicle_model->updateVehModel(decode_param($model_id),$_POST);
$model = $this->Vehicle_model->updateVehModel(decode_param($vehicle_id),$_POST);
if($model){
$flashMsg =array('message'=>'Successfully Updated Vehicle Model..!','class'=>'success');
$this->session->set_flashdata('message', $flashMsg);
......@@ -344,12 +352,11 @@ class Vehicle extends CI_Controller {
public function getVehModel(){
$return_arr = array('status'=>'0');
if(!isset($_POST) || empty($_POST) || !isset($_POST['id']) || empty($_POST['id']) ||
empty($_POST['id'])){
if(!isset($_POST) || empty($_POST) || !isset($_POST['id']) || empty($_POST['id']) || !isset($_POST['year']) || empty($_POST['year'])){
echo json_encode($return_arr);exit;
}
$type = (isset($_POST['type']) && $_POST['type'] == 1)?1:0;
$result = $this->Vehicle_model->getVehModel('',1,$_POST['id']);
$result = $this->Vehicle_model->getVehModel('',1,$_POST);
$results = '<option value="-1">No Models</option>';
if($result){
$modArr = array();
......@@ -359,7 +366,7 @@ class Vehicle extends CI_Controller {
continue;
}
$modArr[] = $model->model;
$results .= '<option value="'.$model->veh_modal_id.'" model="'.$model->model.'">';
$results .= '<option value="'.$model->veh_model_id.'" vehicle_id="'.$model->veh_id.'" model="'.$model->model.'">';
$results .= $model->model;
if($type == 0){
$results .= (!empty($model->trim))?' '.$model->trim:'';
......@@ -370,5 +377,101 @@ class Vehicle extends CI_Controller {
}
echo $results;
}
public function getVehTrim(){
$return_arr = array('status'=>'0');
if(!isset($_POST) || empty($_POST) || !isset($_POST['id']) || empty($_POST['id']) || !isset($_POST['year']) || empty($_POST['year']) || !isset($_POST['vehModel']) || empty($_POST['vehModel'])){
echo json_encode($return_arr);exit;
}
$result = $this->Vehicle_model->getVehModel($_POST['vehModel'],1,$_POST);
$results = '<option value="-1">No Trims</option>';
if($result){
$trim = array();
// $results = '<option value="-1">Choose Vehicle Trim</option>';
$results = '';
foreach ($result as $key => $trim) {
if(empty($trim->trim)){
unset($result[$key]);
continue;
}
$results .= '<option value="'.$trim->veh_id.'" trim="'.$trim->trim.'">'.$trim->trim.'</option>';
}
}
echo (!empty($results))?$results:'1';
}
public function get_all_activity(){
$data = $_GET;
$columns = array("vehicles.year","vehicles_brand.maker","vehicle_models.model_name","vehicles.trim","vehicles.engine","vehicles.status");
$value['search'] = $data['search']['value'];
$value['start'] = $data['start'];
$value['length'] = $data['length'];
// $search_box = array('bookingId','name','operatorName','travelDate','mobile','amount','payType','Action');
$limit = count($data['columns']);
$value['where'] = '';
$where_data = array();
if(!empty($value['search'])) {
$where = array();
foreach($columns as $c) {
$where_data[] = $c." like '%".$value['search']."%' ";
}
$where = implode(" OR ", $where_data);
$where = "(".$where.")";
$value['where'] = $where;
}
$value['order_type'] = $data['order'][0]['dir'];
$activity = $this->Vehicle_model->get_activity($value);
$all_activity = $this->Vehicle_model->get_activity();
$filtered = count($all_activity);
if($value['where']!='') {
$value['length'] = '-1';
$page_activity = $this->Vehicle_model->get_activity($value);
$filtered = count($page_activity);
}
$data = array();
if($activity) {
foreach ($activity as $r) {
$edit = "<a class='btn btn-sm btn-primary' href=editVehModel/".encode_param($r->veh_id).">
<i class='fa fa-fw fa-edit'></i>Edit
</a>";
$del = "<a class='btn btn-sm btn-danger' onClick='return doconfirm()'
href=changeModelStatus/".encode_param($r->veh_id)."/2>
<i class='fa fa-fw fa-trash'></i>Delete
</a>";
$activate = ($r->status == '1')?
"<a class='btn btn-sm btn-success' style='background-color:#ac2925' href=changeModelStatus/".encode_param($r->veh_id)."/0>
<i class='fa fa-cog'></i> De-activate
</a>":
"<a class='btn btn-sm btn-success' href=changeModelStatus/".encode_param($r->veh_id)."/1>
<i class='fa fa-cog'></i> Activate
</a>";
array_push($data, array(
$r->year,
$r->maker,
$r->model,
($r->trim != '')?$r->trim:'-',
($r->engine != '')?$r->engine:'-',
($r->status == '1')?'Active':'De-activate',
$edit.' '.$del.' '.$activate
));
}
}
echo json_encode(array('recordsFiltered' => $filtered, 'recordsTotal' => count($all_activity), 'data' => $data));
}
}
?>
\ No newline at end of file
......@@ -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(){
......@@ -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();
......@@ -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();
......@@ -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,7 +2387,7 @@
$result = $this->Webservice_model->getVehicleModel($postData);
echo json_encode($result);exit;
}
//Get User address By Id
public function get_userAddress_by_id(){
header('Content-type:application/json');
$headers = apache_request_headers();
......@@ -2403,7 +2405,7 @@
$result = $this->Webservice_model->getUserAddressById($postData);
echo json_encode($result);exit;
}
//Update Address
public function update_address(){
header('Content-type:application/json');
$headers = apache_request_headers();
......@@ -2421,7 +2423,7 @@
$result = $this->Webservice_model->update_user_address($postData);
echo json_encode($result);exit;
}
// Bulk Order Booking
public function bulkOrderBooking(){
header('Content-type:application/json');
$headers = apache_request_headers();
......@@ -2438,11 +2440,11 @@
$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');
}
// 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");
}
......
......@@ -4,7 +4,7 @@ class Booking_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
//Schedule Booking
public function scheduleBooking($postData = array()){
if(empty($postData) ||
!isset($postData['customer_id']) || empty($postData['customer_id']) ||
......@@ -15,17 +15,15 @@ class Booking_model extends CI_Model {
return 0;
}
$vehData = $postData['vechile_info'];
$car_name = $vehData['modelYear'].' '.$vehData['maker'].' '.$vehData['modelName'];
$car_name = $vehData['modelYear'].' '.$vehData['maker'].' '.$vehData['modelName'].' '.$vehData['trim'];
$vehJson = array('vehicle' => $car_name,
'attributes' => array(
'Year' => $vehData['modelYear'],
'Make' => $vehData['maker'],
'Trim' => $vehData['trim'],
'Model' => $vehData['modelName'],
'Engine' => $vehData['emgine']
)
'year' => $vehData['modelYear'],
'make' => $vehData['maker'],
'trim' => $vehData['trim'],
'model' => $vehData['modelName'],
'engine' => $vehData['emgine']
);
$last_date ='';
$last_date = NULL;
if(isset($vehData['lastMaintanceDate']) && !empty($vehData['lastMaintanceDate'])){
$last_date = $vehData['lastMaintanceDate'];
}
......@@ -65,7 +63,7 @@ class Booking_model extends CI_Model {
'mileage' => $vehData['milage'],
'customer_id' => $postData['customer_id'],
'scheduled_date' => $postData['schedule_date']['date'],
'scheduled_time' => $postData['schedule_date']['time'],
'scheduled_time' => date('h:i A',($postData['schedule_date']['time'])/1000),
'issues_selected' => json_encode($selected_issues),
'customer_veh_id' => $last_id,
'custom_issue_data'=> json_encode($postData['optionalData']),
......@@ -90,7 +88,7 @@ class Booking_model extends CI_Model {
}
return 0;
}
//Get Customer Book Details
function getCustBookDetails($postData = array(), $status = ''){
$cond = array();
$where_cond = array();
......@@ -151,7 +149,7 @@ class Booking_model extends CI_Model {
}
return $bookDetails;
}
//Change Booking status
function changeBookStatus($customer_id = '', $booking_id = '', $status = ''){
if(empty($customer_id) || empty($booking_id) || $status == ''){
return 0;
......@@ -179,7 +177,7 @@ class Booking_model extends CI_Model {
send_mail($subject,$email_id,$message);
return $status;
}
//Get Mechanic Bookings
function getMechBookings($mechanic_id = '', $booking_id = '', $status = '1'){
if($this->session->userdata('user_type') != 1 && empty($mechanic_id)){
return 0;
......@@ -239,7 +237,7 @@ class Booking_model extends CI_Model {
}
return 0;
}
//Change Status
function changeStatus($booking_id = '', $status = '0'){
if(empty($booking_id)){
return 0;
......@@ -274,7 +272,7 @@ class Booking_model extends CI_Model {
}
return $status;
}
//Insert Custom Quote
function insertCustomQuote($data){
$custData = array();$total=0;
$book_id = decode_param($data['booking_id']);
......@@ -300,7 +298,7 @@ class Booking_model extends CI_Model {
}
return $res;
}
//Generate Custom Data
public function getCustomData($customid){
$this->db->select('custom_quote.custom_service_quote,custom_quote.custom_amount,bookings.issues_selected');
$this->db->join('bookings','bookings.booking_id = custom_quote.booking_id');
......
......@@ -4,7 +4,7 @@ class Brand_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
//Add Brand
public function addBrand($brand_data = array()){
if(empty($brand_data)){
return 0;
......@@ -12,8 +12,8 @@ class Brand_model extends CI_Model {
$status = $this->db->insert('product_brand',$brand_data);
return ($status)?1:0;
}
function getBrand($brand_id = '',$view_all = 0){
//Get Brand
public function getBrand($brand_id = '',$view_all = 0){
$cond = ($view_all != 0)?' status IN (0,1) ':' status IN (1) ';
$cond .= (!empty($brand_id))?" AND brand_id = '$brand_id'":"";
$result = $this->db->query("SELECT * FROM product_brand WHERE $cond");
......@@ -22,16 +22,16 @@ class Brand_model extends CI_Model {
}
return (empty($brand_id))?$result->result():$result->row();
}
function changeStatus($brand_id = '', $status = '0'){
//Change Status
public function changeStatus($brand_id = '', $status = '0'){
if(empty($brand_id)){
return 0;
}
$status = $this->db->update('product_brand',array('status'=>$status), array('brand_id'=>$brand_id));
return $status;
}
function updateBrand($brand_id = '', $brand_data = array()){
//Update Brand
public function updateBrand($brand_id = '', $brand_data = array()){
if(empty($brand_id) || empty($brand_data)){
return 0;
}
......
......@@ -4,7 +4,7 @@ class Customer_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
//Get Customer
function getCustomer($customer_data = array()){
$cond = (isset($customer_data['phone']) && !empty($customer_data['phone']))?
" AND phone LIKE '%".trim($customer_data['phone'])."'":"";
......@@ -26,7 +26,7 @@ class Customer_model extends CI_Model {
}
return $ret_data;
}
//Create Customer
function createCustomer($customer_data = array(), $saved_vehicles = array()){
if(empty($customer_data))
return 0;
......@@ -63,7 +63,7 @@ class Customer_model extends CI_Model {
$res = array('status'=>1,'data'=>'');
return ($status)?1:0;;
}
//Update Customer
function updateCustomer($customer_id = '', $customer_data = array(), $saved_vehicles = array()){
if(empty($customer_id) || empty($customer_data))
return 0;
......@@ -86,7 +86,7 @@ class Customer_model extends CI_Model {
}
return ($status)?1:0;;
}
//Change Status
function changeStatus($customer_id = '', $status = '0'){
if(empty($customer_id)){
return 0;
......@@ -94,11 +94,11 @@ class Customer_model extends CI_Model {
$status = $this->db->update('customers',array('status'=>$status), array('customer_id'=>$customer_id));
return $status;
}
//Check Customer Login
function checkCustomerLogin($userLogData){
$respArr = array('status'=>0);
if(empty($userLogData)){
return $returnStatus;
return $respArr;
}
$result = $this->db->get_where('customers',array('email'=>$userLogData['email'],'status'=>'1'));
if(empty($result) || $result->num_rows() < 1 || empty($custData = $result->row())){
......@@ -115,7 +115,7 @@ class Customer_model extends CI_Model {
}
return $respArr;
}
//Generate Customer Forgot Link
function genCustForgotPassLink($userLogData = array()){
$respArr = array('status'=>0);
if(empty($userLogData)){
......
......@@ -4,7 +4,7 @@ class Dashboard_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
//Get Booking Count
public function getBookingCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('bookings')->result();
......@@ -15,7 +15,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Mechanic Shop Count
public function getMechShpCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('mechanic_shop',array('status'=>'1'))->result();
......@@ -24,7 +24,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Completed Booking Count
public function getCompletedBookingCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('bookings',array('status'=>'3'))->result();
......@@ -35,7 +35,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Pending Booking Count
public function getPendingBookingCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('bookings',array('status'=>'1'))->result();
......@@ -46,7 +46,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Mobile Vendors Count
public function getMbleVndrsCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('mechanic',array('shop_id'=>'1'))->result();
......@@ -55,7 +55,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Mobile Mechanics Count
public function getMbleMchnsCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('mechanic',array('shop_id'=>'0'))->result();
......@@ -64,7 +64,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Customer Count
public function getCustomerCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('customers',array('status'=>'1'))->result();
......@@ -73,7 +73,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Product Count
public function getProductCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->get_where('products',array('status'=>'1'))->result();
......@@ -83,7 +83,7 @@ class Dashboard_model extends CI_Model {
}
return count($result);
}
//Get Product Sold Count
public function getProductSoldCount(){
if($this->session->userdata('user_type') == 1){
$result = $this->db->query("SELECT SUM(`quantity`) as count FROM `orders` WHERE status IN('2,3,4,5')")->row();
......@@ -93,7 +93,7 @@ class Dashboard_model extends CI_Model {
}
return $result->count;
}
//Get Sales Report Count
public function getSalesReportCount(){
$query = $this->db->query("
SELECT COUNT(ORDS.order_id) AS count, SUBSTRING_INDEX(TRANS.datetime, '-', 1) AS year
......@@ -110,7 +110,7 @@ class Dashboard_model extends CI_Model {
}
return json_encode($result);
}
//Get booking Report Count
public function getBookingReportCount(){
$query = $this->db->query("
SELECT COUNT(BUK.booking_id) AS count, SUBSTRING_INDEX(TRANS.datetime, '-', 1) AS year
......
......@@ -4,7 +4,7 @@ class Import_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
//Check Brand
public function checkBrand($brand){
$result = $this->db->get_where('product_brand',array('brand_name'=>$brand));
if(empty($result) || $result->num_rows() < 0 || empty($result = $result->row_array())){
......@@ -13,7 +13,7 @@ class Import_model extends CI_Model {
}
return $result['brand_id'];
}
//Check Card Details
public function checkCardetails($year,$brand,$model){
$brandData = $this->db->get_where('vehicles_brand',array('maker'=>$brand));
if(empty($brandData) || $brandData->num_rows() < 0 || empty($brandData = $brandData->row_array())){
......@@ -32,7 +32,7 @@ class Import_model extends CI_Model {
}
return $carData['id'];
}
//Add Product
public function addProduct($new = array()){
if($this->db->insert('products',$new)){
return 1;
......
......@@ -4,7 +4,7 @@ class Issue_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
//Add Issue
public function addIssue($issue_data = array(), $issueTyp = array()){
if(empty($issue_data) || empty($issueTyp))
return 0;
......@@ -18,7 +18,7 @@ class Issue_model extends CI_Model {
$status = $this->db->insert_batch('issues_category',$issueTyp);
return ($status)?1:0;
}
//Get Issues
function getIssues($issue_id = '',$view_all = 0){
$cond = ($view_all != 0)?' ISS.status IN (0,1) ':' ISS.status IN (1) ';
$cond .= (!empty($issue_id))?" AND ISS.issue_id = '$issue_id' ":"";
......
......@@ -11,12 +11,12 @@ class Product_model extends CI_Model {
}
$prdYear = $product_data['prdVehYear'];
$prdVehModel = $product_data['prdVehModel'];
unset($product_data['prdVehModel'],$product_data['prdVehYear'],$product_data['vehModel']);
$prdVehicle_id = $product_data['prdVehicle_id'];
unset($product_data['prdVehModel'],$product_data['prdVehYear'],$product_data['vehModel'],$product_data['prdVehicle_id']);
$status = $this->db->insert('products',$product_data);
$last_id = $this->db->insert_id();
foreach ($prdYear as $key => $value) {
$this->db->insert('product_cars',array('product_id'=>$last_id,'veh_model_id'=>$prdVehModel[$key],'year'=>$value));
$this->db->insert('product_cars',array('product_id'=>$last_id,'veh_model_id'=>$prdVehicle_id[$key]));
}
return $last_id;
}
......@@ -34,11 +34,12 @@ class Product_model extends CI_Model {
if(!empty($product_id)){
$result = $result->row();
$sql = "SELECT PC.prd_car_id,PC.year,VM.model,VM.trim,VM.engine,VB.maker,VM.veh_modal_id
$sql = "SELECT PC.prd_car_id,VEH.year,VM.model_name as model,VEH.trim,VEH.engine,VB.maker,VM.veh_model_id,VEH.veh_id
FROM products AS PRD
LEFT JOIN product_cars AS PC ON (PRD.product_id=PC.product_id AND PC.status='1')
LEFT JOIN vehicles_model AS VM ON (PC.veh_model_id=VM.veh_modal_id AND VM.status='1')
LEFT JOIN vehicles_brand AS VB ON (VB.veh_brand_id=VM.veh_brand_id AND VB.status='1')
LEFT JOIN vehicles AS VEH ON (PC.veh_model_id=VEH.veh_id AND VEH.status='1')
LEFT JOIN vehicle_models AS VM ON (VM.veh_model_id=VEH.model_id AND VM.status='1')
LEFT JOIN vehicles_brand AS VB ON (VB.veh_brand_id=VEH.veh_brand_id AND VB.status='1')
WHERE PC.product_id='$product_id' AND PRD.status='1'";
$carData = $this->db->query($sql);
$carData = (!empty($carData))?$carData->result():[];
......@@ -63,9 +64,9 @@ class Product_model extends CI_Model {
}
$this->db->delete('product_cars',array('product_id'=>$product_id));
foreach ($product_data['prdVehYear'] as $key => $value) {
$this->db->insert('product_cars',array('product_id'=>$product_id,'veh_model_id'=>$product_data['prdVehModel'][$key],'year'=>$value));
$this->db->insert('product_cars',array('product_id'=>$product_id,'veh_model_id'=>$product_data['prdVehicle_id'][$key]));
}
unset($product_data['prdVehModel'],$product_data['prdVehYear'],$product_data['vehModel']);
unset($product_data['prdVehModel'],$product_data['prdVehYear'],$product_data['vehModel'],$product_data['prdVehicle_id']);
$status = $this->db->update('products',$product_data,array('product_id'=>$product_id));
return ($status)?1:0;
}
......
......@@ -41,12 +41,13 @@ class Vehicle_model extends CI_Model {
if(!empty($vehData)){
$vehData = $vehData->result();
foreach ($vehData as $key => $value) {
$result = $this->db->query("SELECT VEHM.veh_brand_id,VEHM.veh_modal_id
FROM vehicles_model AS VEHM
WHERE VEHM.model='".$value->car_model."'")->row();
$result = $this->db->query("SELECT VEH.veh_brand_id,VEH.model_id
FROM vehicles AS VEH
INNER JOIN vehicle_models AS VEHM ON VEHM.veh_model_id = VEH.model_id
WHERE VEHM.model_name='".$value->car_model."'")->row();
if(!empty($result)){
$vehData[$key]->veh_brand_id = $result->veh_brand_id;
$vehData[$key]->veh_model_id = $result->veh_modal_id;
$vehData[$key]->veh_model_id = $result->model_id;
}
}
return $vehData;
......@@ -95,7 +96,7 @@ class Vehicle_model extends CI_Model {
return 0;
}
if($type == '2'){
$status = $this->db->update('vehicles_model',array('status'=>$status), array('veh_modal_id'=>$brand_id));
$status = $this->db->update('vehicles',array('status'=>$status), array('veh_id'=>$brand_id));
}else{
$status = $this->db->update('vehicles_brand',array('status'=>$status), array('veh_brand_id'=>$brand_id));
}
......@@ -111,42 +112,73 @@ class Vehicle_model extends CI_Model {
}
function getVehModel($veh_model_id = '',$view_all = 0,$veh_brand_id=''){
$cond = ($view_all != 0)?' vehicles_model.status IN (0,1) ':' vehicles_model.status IN (1) ';
$cond .= (!empty($veh_model_id))?" AND vehicles_model.veh_modal_id = '$veh_model_id'":"";
$cond .= (!empty($veh_brand_id))?" AND vehicles_model.veh_brand_id = '$veh_brand_id'":"";
$result = $this->db->query("SELECT vehicles_model.*, vehicles_brand.maker
FROM vehicles_model
JOIN vehicles_brand ON vehicles_brand.veh_brand_id = vehicles_model.veh_brand_id
WHERE $cond ORDER BY vehicles_model.model");
function getVehModel($veh_model_id = '',$view_all = 0,$vehData=array(),$veh_id=''){
$cond = ($view_all != 0)?' vehicles.status IN (0,1) ':' vehicles.status IN (1) ';
$cond .= (!empty($veh_model_id))?" AND vehicles.model_id = '$veh_model_id'":"";
$cond .= (!empty($vehData['id']))?" AND vehicles.veh_brand_id = '".$vehData['id']."'":"";
$cond .= (!empty($vehData['year']))?" AND vehicles.year = '".$vehData['year']."'":"";
$cond .= (!empty($veh_id))?" AND vehicles.veh_id = '".$veh_id."'":"";
$result = $this->db->query("SELECT vehicles.*,vehicles_brand.maker,vehicle_models.model_name AS model,vehicle_models.veh_model_id
FROM vehicles
JOIN vehicles_brand ON vehicles_brand.veh_brand_id = vehicles.veh_brand_id
JOIN vehicle_models ON vehicle_models.veh_model_id = vehicles.model_id
WHERE $cond ORDER BY model");
if(empty($result)){
return;
}
if(isset($veh_brand_id) && !empty($veh_brand_id)){
if(isset($vehData['id']) && !empty($vehData['id'])){
return $result->result();
}
if(isset($veh_id) && !empty($veh_id)){
return $result->row();
}
return (empty($veh_model_id))?$result->result():$result->row();
}
function get_activity($filter=null){
if($filter) {
if($filter['length']!=-1)
$this->db->limit($filter['length'], $filter['start']);
$this->db->order_by("model", $filter['order_type']);
if(!empty($filter['where'])) {
$this->db->where($filter['where']);
}
}
$this->db->select('vehicles.*,vehicles_brand.maker,vehicle_models.model_name AS model');
$this->db->from('vehicles');
$this->db->join('vehicles_brand','vehicles_brand.veh_brand_id = vehicles.veh_brand_id');
$this->db->join('vehicle_models','vehicle_models.veh_model_id = vehicles.model_id');
$this->db->where('vehicles.status !=','2');
$query = $this->db->get();
if(!empty($query) && !empty($query = $query->result())){
return $query;
}
return 0;
}
public function addModel($veh_data = array()){
if(empty($veh_data)){
return 0;
}
$result = $this->db->get_where('vehicles_model',array('vehicles_model.model'=>$veh_data['model'],'vehicles_model.veh_brand_id'=>$veh_data['veh_brand_id']))->row();
$trim = (isset($veh_data['trim']) && !empty($veh_data['trim']))?$veh_data['trim']:'';
$engine = (isset($veh_data['engine']) && !empty($veh_data['engine']))?$veh_data['engine']:'';
$result = $this->db->get_where('vehicles',array('vehicles.model_id'=>$veh_data['model'],'vehicles.veh_brand_id'=>$veh_data['veh_brand_id'],'vehicles.trim'=>$trim,'vehicles.engine'=>$engine,'vehicles.year'=>$veh_data['vehYear']))->row();
if($result){
return 0;
}
$status = $this->db->insert('vehicles_model',$veh_data);
$last_id = $this->db->insert_id();
return $last_id;
$status = $this->db->insert("vehicles",array('veh_brand_id'=>$veh_data['veh_brand_id'],'year'=>$veh_data['vehYear'],'model_id'=>$veh_data['model'],'trim'=>$trim,'engine'=>$engine));
return ($status)?1:0;
}
public function updateVehModel($model_id = '', $model_data = array()){
if(empty($model_id) || empty($model_data)){
public function updateVehModel($vehicle_id = '', $model_data = array()){
if(empty($vehicle_id) || empty($model_data)){
return 0;
}
$status = $this->db->update('vehicles_model',$model_data,array('veh_modal_id'=>$model_id));
$status = $this->db->update('vehicles',array('veh_brand_id'=>$model_data['veh_brand_id'],'year'=>$model_data['vehYear'],'model_id'=>$model_data['model'],'trim'=>(isset($model_data['trim']) && !empty($model_data['trim']))?$model_data['trim']:'','engine'=>(isset($model_data['engine']) && !empty($model_data['engine']))?$model_data['engine']:''),array('veh_id'=>$vehicle_id));
return ($status)?1:0;
}
......
......@@ -78,13 +78,9 @@ public function getBookedService($postData = array(),$start = '',$per_page = '',
$where['BUK.booking_id'] = $postData['service_id'];
}
if($type == 1){
//$where['BUK.scheduled_date'] = date('Y-m-d');
$this->db->where('BUK.scheduled_date >=', date('Y-m-d'));
$this->db->order_by('BUK.scheduled_date','ASC');
}
// else if($type == 2){
// $where['BUK.scheduled_date'] = date("Y-m-d", strtotime('tomorrow'));
// }
$this->db->select("BUK.scheduled_date as date,BUK.scheduled_time as time,BUK.booking_id as service_id,BUK.status,CSTVEH.car_name,BUK.mileage,BUK.issues_selected,BUK.custom_issue_data,BUK.service_type as type,MCHBUK.amount,BUK.cost,TRIM(CONCAT(CUST.first_name,' ' ,IFNULL(CUST.last_name,''))) as customer_name,CUST.phone as phone_number,CSTVEH.vehicle_data,CSTVEH.car_loc_lat as cust_lat,CSTVEH.car_loc_lng as cust_lng,CSTVEH.car_location as cust_address");
$this->db->from('bookings as BUK');
......@@ -104,10 +100,8 @@ public function getBookedService($postData = array(),$start = '',$per_page = '',
foreach ($bookData as $key => $value) {
$issues_selected = json_decode($value['issues_selected']);
$custom_issue_data = json_decode($value['custom_issue_data']);
$bookData[$key]['trim'] = json_decode($value['vehicle_data'])->trim;
$bookData[$key]['engine_no'] = json_decode($value['vehicle_data'])->engine;
$bookData[$key]['service_image'] = (isset($custom_issue_data->optionalImages))?$custom_issue_data->optionalImages:[];
$bookData[$key]['service_message'] = (isset($custom_issue_data->optionlaDescription))?$custom_issue_data->optionlaDescription:'';
$bookData[$key]['total_amount'] = ($value['type'] == '1')?$value['amount']:$value['cost'];
......@@ -117,8 +111,8 @@ public function getBookedService($postData = array(),$start = '',$per_page = '',
foreach ($issues_selected as $issue_key => $issue_value) {
$sql = "SELECT IC.*, MI.custom_description, MI.custom_service_fee
FROM issues_category AS IC
LEFT JOIN mechanic_issues AS MI ON (MI.issue_cat_id=IC.issue_cat_id AND
MI.mechanic_id='".$postData['mechanic_id']."' AND MI.status='1')
LEFT JOIN mechanic_issues AS MI ON (MI.issue_cat_id=IC.issue_cat_id
AND MI.mechanic_id='".$postData['mechanic_id']."' AND MI.status='1')
WHERE IC.status='1' AND IC.issue_cat_id='".$issue_value->sub_issue_id."'";
$issue_data = $this->db->query($sql)->row();
if(!empty($issue_data)){
......@@ -154,7 +148,10 @@ public function mechanic_logout($mechanic_id){
public function forgot_password($username){
$respArr = array('status'=>'error');
$result = $this->db->query("SELECT MCH.phone as phone_number,AU.username as user_name FROM admin_users AS AU INNER JOIN mechanic AS MCH ON MCH.mechanic_id = AU.id WHERE AU.username LIKE '$username'");
$result = $this->db->query("SELECT MCH.phone AS phone_number,AU.username AS user_name
FROM admin_users AS AU
INNER JOIN mechanic AS MCH ON MCH.mechanic_id = AU.id
WHERE AU.username LIKE '$username'");
if(empty($result) || $result->num_rows() < 0 || empty($result = $result->row())){
$respArr['message'] = "Username Doesnot Exist";
return $respArr;
......@@ -167,7 +164,8 @@ public function forgot_password($username){
public function change_password($postData = array()){
$respArr = array('status'=>'error');
$result = $this->db->query("SELECT * FROM admin_users WHERE username LIKE '".$postData['user_name']."'");
$result = $this->db->query("SELECT * FROM admin_users
WHERE username LIKE '".$postData['user_name']."'");
if(empty($result) || $result->num_rows() < 0 || empty($result = $result->row())){
$respArr['message'] = "Username doesnot Exist";
return $respArr;
......
......@@ -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."
......@@ -869,7 +875,8 @@ class Webservice_model extends CI_Model {
'total_pages' => $totalPages,
'total' => $total,
'current_page' => ($page == 0)?1:$page,
'per_page' => $per_page);
'per_page' => $per_page
);
}
}
return $respArr;
......@@ -1000,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){
......@@ -1300,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;
......@@ -1362,10 +1380,18 @@ 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' ;
// }
$cond = array('VEH.veh_brand_id'=>$postData['vehBrand_id'],'VEH.status'=>'1');
if(isset($postData['vehiYear']) && !empty($postData['vehiYear'])){
$cond['VEH.year'] = $postData['vehiYear'];
}
$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',$cond);
if(empty($result) || empty($result = $result->result())){
$respArr['status'] = "error";
return $respArr;
......@@ -1390,6 +1416,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'])){
......@@ -1486,31 +1542,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';
......@@ -1577,8 +1643,10 @@ class Webservice_model extends CI_Model {
$custData = $this->db->get_where('customers',array('email'=>$email));
if(!empty($custData) && $custData->num_rows() > 0 && !empty($custData = $custData->row_array())){
$respArr['status'] = "success";
$respArr['message'] = "success";
$respArr['data']['phone_number'] = $custData['phone'];
$respArr['data']['email'] = $custData['email'];
$respArr['data']['country_code'] = $custData['country_code'];
}
return $respArr;
}
......
......@@ -149,6 +149,21 @@
<div id="searchTyp_1">
<div class="col-md-12">
<div class="col-md-6">
<label>Vehicle Model Year</label>
<select name="vehYear" class="form-control required" input="search_params"
data-parsley-trigger="change" required="" onchange="setYear()">
<option selected disabled value="">Choose Vehicle Model Year</option>
<?php
for($year=date('Y'); $year>=1950; $year--){
$cond = (isset($vehicle_data) && isset($vehicle_data->model) &&
!empty($vehicle_data->model) &&
$vehicle_data->model == $year)?'selected':'';
echo '<option '.$cond.' value="'.$year.'">'.$year.'</option>';
}
?>
</select>
</div>
<div class="col-md-6">
<label>Vehicle Maker</label>
<select name="vehMaker" class="form-control required" data-parsley-trigger="change" required="" id="veh_make" input="search_params" type="1">
<option selected disabled value="">Choose Vehicle Make</option>
......@@ -159,10 +174,12 @@
?>
</select>
</div>
</div>
<div class="col-md-12 padTop10 hide" id="vehicle_model_div">
<div class="col-md-6">
<label>Vehicle Model</label>
<select name="vehModel" class="form-control required" data-parsley-trigger="change" required="" id="veh_model" input="search_params">
<option selected="" disabled="" value="">Choose Vehicle Model</option>
<option selected disabled value="">Choose Vehicle Model</option>
<?php
if((isset($customer_id) || !empty($customer_id))){
foreach ($veh_data['model'] as $key => $value) {
......@@ -172,40 +189,32 @@
?>
</select>
</div>
</div>
<div class="col-md-12 padTop10">
<div class="col-md-6">
<label>Vehicle Model Year</label>
<select name="vehYear" class="form-control required" input="search_params"
data-parsley-trigger="change" required="">
<option selected disabled value="">Choose Vehicle Model Year</option>
<div class="col-md-6 hide" id="vehicle_trim_div">
<label>Trim</label>
<select name="trim" class="form-control" data-parsley-trigger="change" id="veh_trim" input="search_params">
<option selected disabled value="-1">Choose Vehicle Trim</option>
<?php
for($year=date('Y'); $year>=1950; $year--){
$cond = (isset($vehicle_data) && isset($vehicle_data->model) &&
!empty($vehicle_data->model) &&
$vehicle_data->model == $year)?'selected':'';
echo '<option '.$cond.' value="'.$year.'">'.$year.'</option>';
if((isset($customer_id) || !empty($customer_id))){
foreach ($veh_data['model'] as $key => $value) {
echo '<option value="'.$value->trim.'">'.$value->trim.'</option>';
}
}
?>
</select>
</div>
</div>
<div class="col-md-12 padTop10">
<div class="col-md-6">
<label>Vehicle Location</label>
<input type="text" class="form-control required" name="vehLocationDetails"
id="loc_search_1" input="search_params" placeholder="Enter Vehicle Location" required>
</div>
</div>
<div class="col-md-12 padTop10">
<div class="col-md-6">
<label>Engine</label>
<input type="text" class="form-control" name="engine"
id="engine" input="search_params" placeholder="Enter Vehicle Engine">
</div>
<div class="col-md-6">
<label>Trim</label>
<input type="text" class="form-control" name="trim"
id="trim" input="search_params" placeholder="Enter Vehicle Trim">
</div>
</div>
</div>
<!-- Vehicle Details Search END -->
......
<div class="content-wrapper">
<section class="content-header">
<h1><?= $pTitle ?><small><?= $pDescription ?></small>
......@@ -162,11 +163,11 @@
<?php
if((isset($product_id) || !empty($product_id))){
foreach ($veh_data['model'] as $key => $value) {
$cond = (isset($product_data) && isset($product_data->veh_modal_id) &&
!empty($product_data->veh_modal_id) &&
$product_data->veh_modal_id == $value->veh_modal_id)?'selected':'';
$cond = (isset($product_data) && isset($product_data->veh_model_id) &&
!empty($product_data->veh_model_id) &&
$product_data->veh_model_id == $value->veh_model_id)?'selected':'';
echo '<option '.$cond.' value="'.$value->veh_modal_id.'">'.$value->model.' '.$value->trim.' '.$value->engine.'</option>';
echo '<option '.$cond.' value="'.$value->veh_model_id.'" vehicle_id="'.$value->veh_id.'">'.$value->model.' '.$value->trim.' '.$value->engine.'</option>';
}
}
?>
......@@ -210,7 +211,8 @@
</div>
</div>
<input type="hidden" value="<?= $value->year ?>" name="prdVehYear[]">
<input type="hidden" value="<?= $value->veh_modal_id ?>" name="prdVehModel[]">
<input type="hidden" value="<?= $value->veh_model_id ?>" name="prdVehModel[]">
<input type="hidden" value="<?= $value->veh_id ?>" name="prdVehicle_id[]">
</span>
</div>
<?php
......
......@@ -65,6 +65,26 @@
"ordering" : jQuery(this).data("ordering"),
"order": [[ 0, "desc" ]]
});
var schedulingGrid = $('.dataTable-custom').DataTable({
/*"ordering" : $(this).data("ordering"),
"order": [[ 0, "desc" ]],*/
"processing": true,
"serverSide": true,
"ajax": "<?php echo base_url(); ?>" + $(this).data("ajax"),
"iDisplayLength": 10,
"aLengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
],
"columnDefs": [{
"targets": [ ],
"visible": false,
"searchable": false
}]
});
var table = $('#activity_table').DataTable();
});
<?php //} ?>
</script>
\ No newline at end of file
......@@ -11,7 +11,7 @@
<div class="row">
<div class="col-md-12">
<?php
$url = (!isset($model_id) || empty($model_id))?'Vehicle/createModel':'Vehicle/updateVehModel/'.$model_id;
$url = (!isset($vehicle_id) || empty($vehicle_id))?'Vehicle/createModel':'Vehicle/updateVehModel/'.$vehicle_id;
if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
......@@ -25,16 +25,34 @@
<div class="box-body">
<form role="form" action="<?= base_url($url) ?>" method="post"
class="validate" data-parsley-validate="" enctype="multipart/form-data">
<div class="col-md-6">
<div class="col-md-4">
<div class="form-group">
<label>Vehicle Model Year</label>
<select name="vehYear" class="form-control required" input="search_params"
data-parsley-trigger="change" required="" onchange="setYear()">
<option selected disabled value="">Choose Vehicle Model Year</option>
<?php
for($year=date('Y'); $year>=1950; $year--){
$cond = (isset($vehModel_datas) && isset($vehModel_datas->year) &&
!empty($vehModel_datas->year) &&
$vehModel_datas->year == $year)?'selected':'';
echo '<option '.$cond.' value="'.$year.'">'.$year.'</option>';
}
?>
</select>
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Select Brand</label>
<select name="veh_brand_id" class="form-control required" placeholder="Select Brand" required="">
<option selected disabled>Choose a Brand</option>
<select name="veh_brand_id" id="veh_make" class="form-control required" placeholder="Select Brand" required="" type="1">
<option selected disabled value="-1">Choose a Brand</option>
<?php
foreach ($vehBrand_data as $brand) {
$select = (isset($vehModel_data->veh_brand_id) && $brand->veh_brand_id==
$vehModel_data->veh_brand_id)?'selected':'';
echo '<option '.$select.' value="'.$brand->veh_brand_id.'">'.
$select = (isset($vehModel_datas->veh_brand_id) && $brand->veh_brand_id==
$vehModel_datas->veh_brand_id)?'selected':'';
echo '<option '.$select.' value="'.$brand->veh_brand_id.'" maker="'.$brand->veh_brand_id.'">'.
$brand->maker.
'</option>';
}
......@@ -43,26 +61,38 @@
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-6">
<?php
$text = (isset($vehModel_datas->veh_model_id) && !empty($vehModel_datas->veh_model_id))?'':'hide';
?>
<div class="col-md-4 <?php echo $text ?> " id="vehicle_model_div">
<div class="form-group">
<label>Model Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$"
name="model" required="" value="<?= (isset($vehModel_data->model))?$vehModel_data->model:'' ?>" placeholder="Enter Vehicle Model">
<select name="model" class="form-control required " placeholder="Select Model" required="" id="veh_model">
<option selected disabled>Choose a Model</option>
<?php
foreach ($vehModel_data as $model) {
$select = (isset($vehModel_datas->veh_model_id) && $model->veh_model_id==
$vehModel_datas->veh_model_id)?'selected':'';
echo '<option '.$select.' value="'.$model->veh_model_id.'">'.
$model->model.
'</option>';
}
?>
</select>
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Trim</label>
<input type="text" class="form-control required" name="trim" required="" value="<?= (isset($vehModel_data->trim))?$vehModel_data->trim:'' ?>"placeholder="Enter Vehicle Trim">
<input type="text" class="form-control required" name="trim" required="" value="<?= (isset($vehModel_datas->trim))?$vehModel_datas->trim:'' ?>"placeholder="Enter Vehicle Trim">
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Engine</label>
<input type="text" class="form-control required" name="engine" required="" value="<?= (isset($vehModel_data->engine))?$vehModel_data->engine:'' ?>"placeholder="Enter Vehicle Engine">
<input type="text" class="form-control required" name="engine" required="" value="<?= (isset($vehModel_datas->engine))?$vehModel_datas->engine:'' ?>"placeholder="Enter Vehicle Engine">
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
......
......@@ -28,10 +28,10 @@
</div>
</div>
<div class="box-body">
<table id="mechanicUsers" class="table table-bordered table-striped datatable ">
<table class="table table-bordered table-striped dataTable-custom" data-ajax="get_all_activity" data-ordering="true" id="activity_table">
<thead>
<tr>
<th class="hidden">ID</th>
<th width="90px;">Vehicle Year</th>
<th width="150px;">Vehicle Brand</th>
<th width="150px;">Vehicle Model</th>
<th width="150px;">Trim</th>
......@@ -40,38 +40,7 @@
<th width="300px;">Action</th>
</tr>
</thead>
<tbody>
<?php
if(!empty($vehModel_data)){
foreach($vehModel_data as $model) { ?>
<tr>
<th class="hidden"><?= $model->veh_modal_id ?></th>
<th class="center"><?= $model->maker ?></th>
<th class="center"><?= $model->model ?></th>
<th class="center"><?= $model->trim ?></th>
<th class="center"><?= $model->engine ?></th>
<th class="center"><?= ($model->status == 1)?'Active':'De-activate' ?></th>
<td class="center">
<a class="btn btn-sm btn-primary" href="<?= base_url('Vehicle/editVehModel/'.encode_param($model->veh_modal_id)) ?>">
<i class="fa fa-fw fa-edit"></i>Edit
</a>
<a class="btn btn-sm btn-danger" href="<?= base_url("Vehicle/changeModelStatus/".encode_param($model->veh_modal_id))."/2" ?>"
onClick="return doconfirm()">
<i class="fa fa-fw fa-trash"></i>Delete
</a>
<?php if($model->status == 1){ ?>
<a class="btn btn-sm btn-success" style="background-color:#ac2925" href="<?= base_url("Vehicle/changeModelStatus/".encode_param($model->veh_modal_id))."/0" ?>">
<i class="fa fa-cog"></i> De-activate
</a>
<?php } else { ?>
<a class="btn btn-sm btn-success" href="<?= base_url("Vehicle/changeModelStatus/".encode_param($model->veh_modal_id))."/1" ?>">
<i class="fa fa-cog"></i> Activate
</a>
<?php } ?>
</td>
</tr>
<?php } } ?>
</tbody>
<tbody></tbody>
</table>
</div>
</div>
......
......@@ -13,6 +13,25 @@ function setImg(input,id) {
}
}
function setYear(){
var vehModel = jQuery('[name="vehModel"] option:selected').val(),
vehMake = jQuery('[name="vehMaker"] option:selected').attr('maker'),
vehTrim = jQuery('[name="trim"] option:selected').val();
if(vehMake!='' || vehMake!=undefined || vehMake!='undefined' || vehMake!=null || vehMake!='null' || vehModel!='' || vehModel!=undefined || vehModel!='undefined' || vehModel!=null || vehModel!='null' || vehTrim!='' || vehTrim!=undefined || vehTrim!='undefined' || vehTrim!=null || vehTrim!='null'){
jQuery('[id="vehicle_model_div"]').addClass('hide');
jQuery('[id="vehicle_trim_div"]').addClass('hide');
jQuery('[id="veh_make"]').val('');
jQuery('[id="veh_model"]').val('');
jQuery('[id="veh_trim"]').val('');
}else if(vehMake!='' || vehMake!=undefined || vehMake!='undefined' || vehMake!=null || vehMake!='null' || vehModel!='' || vehModel!=undefined || vehModel!='undefined' || vehModel!=null || vehModel!='null'){
jQuery('[id="vehicle_model_div"]').addClass('hide');
jQuery('[id="veh_make"]').val('');
jQuery('[id="veh_model"]').val('');
}else if(vehMake!='' || vehMake!=undefined || vehMake!='undefined' || vehMake!=null || vehMake!='null'){
jQuery('[id="veh_make"]').val('');
}
}
function setMultiImg(input,thisObj){
if (input.files && input.files[0]) {
var reader = new FileReader();
......@@ -435,14 +454,14 @@ jQuery('[id="vehSearch"]').on('click',function(event) {
return false;
}
var vehVin = jQuery('[name="vehVin"]').val(),
vehTrim = jQuery('[id="trim"]').val(),
vehTrim = jQuery('[name="trim"] option:selected').attr('trim'),
vehYear = jQuery('[name="vehYear"]').val(),
vehModel = jQuery('option:selected', jQuery('[name="vehModel"]')).attr('model'),
vehMaker = jQuery('[name="vehMaker"]').val(),
vehLocVin = jQuery('[name="vehLocationVin"]').val(),
vehEngine = jQuery('[id="engine"]').val(),
vehLocDetls = jQuery('[name="vehLocationDetails"]').val();
console.log(vehTrim);
if((searchTypId == 1 && (vehLocDetls == '' || vehLocDetls == null || vehLocDetls == 'null' || vehLocDetls == undefined || vehLocDetls == 'undefined') &&
(vehYear == '' || vehYear == null || vehYear == 'null' || vehYear == undefined || vehYear == 'undefined' ||
vehModel == '' || vehModel == null || vehModel == 'null' || vehModel == undefined || vehModel == 'undefined' ||
......@@ -572,7 +591,7 @@ jQuery('[id^="addPrdtCar"]').on('click',function(event) {
model = jQuery("#veh_model option:selected").text(),
modelVal = jQuery("#veh_model").val(),
count = parseInt((jQuery(this).attr('count'))) + 1;
vehicle_id = jQuery('[name="vehModel"] option:selected').attr('vehicle_id'),
jQuery(this).attr('count',count);
if(year == '' || year == null || year == 'null' || year == undefined || year == 'undefined' || model == '' || model == null || model == 'null' || model == undefined || model == 'undefined' || make == '' || make == null || make == 'null' || make == undefined || make == 'undefined' || count == '' || count == null || count == 'null' || count == undefined || count == 'undefined' || modelVal == '' || modelVal == null || modelVal == 'null' || modelVal == undefined || modelVal == 'undefined'){
return false;
......@@ -584,6 +603,7 @@ jQuery('[id^="addPrdtCar"]').on('click',function(event) {
'</div>'+
'<input type="hidden" value="'+year+'" name="prdVehYear[]">'+
'<input type="hidden" value="'+modelVal+'" name="prdVehModel[]">'+
'<input type="hidden" value="'+vehicle_id+'" name="prdVehicle_id[]">'+
'</span>';
jQuery('[id="addCarResult"]').append('<div id="add_result_'+count+'" class="col-md-6 form-group">'+vehHtmlBody+'</div>');
jQuery('[id="addCarResult"]').removeClass('hide');
......@@ -1680,9 +1700,10 @@ function changeOrderStatus(e){
jQuery('#veh_make').on('change', function () {
var id = jQuery('option:selected', this).attr('maker'),
type = jQuery(this).attr('type');
type = jQuery(this).attr('type'),
vehYear = jQuery('[name="vehYear"]').val();
if(id == '' || id == undefined || id == 'undefined' || id == null || id == 'null'){
if(id == '' || id == undefined || id == 'undefined' || id == null || id == 'null' || vehYear == '' || vehYear == undefined || vehYear == 'undefined' || vehYear == null || vehYear == 'null'){
return false;
}
type = (type == undefined || type == 'undefined' || type == null || type == 'null' || type == '')?0:type;
......@@ -1690,14 +1711,39 @@ jQuery('#veh_make').on('change', function () {
jQuery.ajax({
type: "POST",
url: base_url + 'Vehicle/getVehModel',
data:'id=' + id +'&type=' + type,
data:'id=' + id +'&type=' + type +'&year=' +vehYear,
success: function (data) {
jQuery('[id="vehicle_model_div"]').removeClass('hide');
jQuery('#veh_model').html(data);
remFullScreenLoader();
}
});
});
jQuery('#veh_model').on('change', function () {
jQuery('[id="vehicle_trim_div"]').addClass('hide');
var vehModel = jQuery('[name="vehModel"]').val(),
vehMake = jQuery('[name="vehMaker"] option:selected').attr('maker'),
vehYear = jQuery('[name="vehYear"]').val();
if(vehModel == '' || vehModel == undefined || vehModel == 'undefined' || vehModel == null || vehModel == 'null' || vehMake == '' || vehMake == undefined || vehMake == 'undefined' || vehMake == null || vehMake == 'null' || vehYear == '' || vehYear == undefined || vehYear == 'undefined' || vehYear == null || vehYear == 'null'){
return false;
}
// type = (type == undefined || type == 'undefined' || type == null || type == 'null' || type == '')?0:type;
showFullScreenLoader();
jQuery.ajax({
type: "POST",
url: base_url + 'Vehicle/getVehTrim',
data:'year=' + vehYear +'&id=' + vehMake +'&vehModel=' +vehModel,
success: function (data) {
if(data != '1'){
jQuery('[id="vehicle_trim_div"]').removeClass('hide');
jQuery('#veh_trim').html(data);
}
remFullScreenLoader();
}
});
});
jQuery('[id="import_id"]').on('change',function() {
var id = jQuery(this).val();
if(id != '' || id != undefined || id != 'undefined' || id != null || id != 'null'){
......
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