order > $object2->order; } class enquiry { public function __construct($parent) { //GET PAGE MESSAGE $this->page_data = globalfunc::getMessage($parent, $parent->lang, 'enquiry'); if (count($parent->params) == 0) { $this->enquirysubmit($parent); } else { $qry_params = explode("?", $parent->params[0]); $parameter_val = strtolower($qry_params[0]); switch ($parameter_val) { case "common": case "checkunsave": case "deleteunsave": case "otp": case "otpvalidate": case "dashboard": case "enquirysales": case "listdata": case "details": case "followup": case "stockavailability": case "sharebrochure": //NOT COMPLETED //case "followuphistory": case "quotation": case "sharequotation": // case "getquotation": case "pricelist": case "testride": case 'plannerlist': case 'plannersave': case 'plannerupdate': case 'plannerdelete': case "plannertimer": case "smpindealer": case "dealer": case "followupcommon": case "testrideupdate": case "testrideotp": $this->$parameter_val($parent); break; default: $parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404); break; } } $parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404); } /* /////////////////////////////// COMMON //////////////////////////////////////////////// */ private function common($parent) { globalfunc::checkMethodType($parent, array('GET')); //globalfunc::checkParamCount($parent,1); globalfunc::checkAuthrozation($parent, array('type' => 'user')); //CHECK SMPIN OTP EXIST $buyertype_data = $parent->selectQuery(DMS_ENQUIRY_BUYERTYPE, "id,title,title_code", " status='1'", ""); $title_data = $parent->selectQuery(DMS_ENQUIRY_TITLE, "id,title,title_code", " status='1'", ""); $company_data = $parent->selectQuery(DMS_ENQUIRY_ORGANISATION, "id,title,title_code", " status='1'", ""); $communicate_data = $parent->selectQuery(DMS_ENQUIRY_COMMUNICATE, "id,title,title_code", " status='1'", ""); $action_data = $parent->selectQuery(DMS_ENQUIRY_ACTIONPLAN, "id,title,title_code", " status='1'", ""); $purpose_data = $parent->selectQuery(DMS_ENQUIRY_PURPOSE, "id,title,title_code", " status='1'", ""); //STAGE SAME ONLY switch ($parent->current_user_data->segment) { case '0':$segmentcond = ""; break; case '1':$segmentcond = " AND segment='1'"; break; case '2':$segmentcond = " AND segment='2'"; break; } $model_data = $parent->selectQuery(DMS_ENQUIRY_MODEL, "title,title_code", " status='1' AND enq_yn='Y' " . $segmentcond . " GROUP BY title_code", ""); $profession_data = $parent->selectQuery(DMS_ENQUIRY_PROFESSION, "title,title_code", " status='1' ", ""); $sdata = array(); $dealer_code = $parent->current_user_data->dealer_code; $dealer_data = $parent->selectQuery(DMS_DEALER, "dealer_map_cd", "dealer_code='" . $dealer_code . "' AND status='1' AND is_deleted=0 AND dealer_map_cd!=''", "1"); //dealer_map_cd if ($dealer_data['nr'] > 0) { $p_dealer = $dealer_data['result'][0]->dealer_map_cd; //GET SOURCE $url = SUZ_DMS_URL; $post = array("query" => "BEGIN pkg_smipl_star_app.sp_enquiry_source(:p_dealer, :list_cursor, :p_err_cd, :p_err_msg); END;", "params" => '[{"title":"p_dealer","value":"' . $p_dealer . '","type":""},{"title":"list_cursor","value":"","type":"cursor"},{"title":"p_err_cd","value":"0","type":""},{"title":"p_err_msg","value":"","type":""}]'); $header = array('Authorization:Bearer ' . SUZ_TOKEN); //LOG $obj = new stdClass(); $obj->type = 'callsource'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; //REPSONSE SAVE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); if ($httpcode == '200' && $response != '') { $json = json_decode($response); if (isset($json->response) && $json->response == 'success' && isset($json->data) && count($json->data) > 0) { foreach ($json->data as $res) { $new = new stdClass(); $new->title = $res->ETYPE_DESC; $new->title_code = $res->ETYPE_CD; $sdata[] = $new; } $source_data['nr'] = count($sdata); $source_data['result'] = $sdata; //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = $source_data['nr']; $obj->status = 1; projectfunc::updateCronLog($parent, $obj); } } } if (count($sdata) == 0) { $source_data = $parent->selectQuery(DMS_ENQUIRY_SOURCE, "title,title_code", " status='1' ", ""); } $custtype_data = $parent->selectQuery(DMS_ENQUIRY_CUSTTYPE, "title,title_code", " status='1' ", ""); $custage_data = $parent->selectQuery(DMS_ENQUIRY_CUSTAGE, "title,title_code", " status='1' ", ""); $modeofcontact_data = $parent->selectQuery(DMS_ENQUIRY_MODE, "title,title_code", " status='1' ", ""); $brochure_arr = array(); $brochure_url = SITE_URL . "explore_assets/model/"; $expmodel_data = $parent->selectQuery(TABLE_COMPARE_MODEL, "model_id,CASE WHEN model_brochure!='' THEN CONCAT('" . $brochure_url . "',model_brochure) ELSE '' END AS 'model_brochure', CASE WHEN model_image!='' THEN CONCAT('" . SITE_URL . "hypermupload/model/',model_image) ELSE '" . NOIMAGE_URL . "' END as model_image ", "is_deleted=0 AND is_other=0 AND `model_type` = '0'", ""); if ($expmodel_data['nr'] > 0) { $arr_id = array_column($expmodel_data['result'], 'model_id'); $arr_name = array_column($expmodel_data['result'], 'model_brochure'); $brochure_arr = array_combine($arr_id, $arr_name); $arr_image = array_column($expmodel_data['result'], 'model_image'); $img_arr = array_combine($arr_id, $arr_image); } //MODEL DATA BUILD if ($model_data['nr'] > 0) { foreach ($model_data['result'] as $key => $res) { $variant_data = $parent->selectQuery(DMS_ENQUIRY_MODEL, "variant title,variant_code title_code", " status='1' AND title_code='" . $res->title_code . "' AND enq_yn='Y' " . $segmentcond . " GROUP BY variant_code", ""); if ($variant_data['nr'] > 0) { foreach ($variant_data['result'] as $nkey => $resm) { $color_data = $parent->selectQuery(DMS_ENQUIRY_MODEL, "color title,color_code title_code", " status='1' AND title_code='" . $res->title_code . "' AND variant_code='" . $resm->title_code . "' AND enq_yn='Y' " . $segmentcond . " GROUP BY color_code", ""); $variant_data['result'][$nkey]->color = ($color_data['nr'] > 0) ? $color_data['result'] : array(); $variant_data['result'][$nkey]->model_image = NOIMAGE_URL; $brochure_url = ''; $model_image = NOIMAGE_URL; switch ($res->title_code) { case 'GSX': //GIXXER $id = (strpos($resm->title_code, 'GSX250') !== false || strpos($resm->title, 'GIXXER 250') !== false) ? GIXXER_250_ID : GIXXER_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; $model_image = isset($img_arr[$id]) ? $img_arr[$id] : NOIMAGE_URL; break; case 'GSXSF': //GIXXER SF $id = (strpos($resm->title_code, 'GSXF250') !== false || strpos($resm->title, 'GIXXER SF 250') !== false) ? GIXXER_SF_250_ID : GIXXER_SF_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; $model_image = isset($img_arr[$id]) ? $img_arr[$id] : NOIMAGE_URL; break; case 'GL': //INTRUDER $id = INTRUDER_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; $model_image = isset($img_arr[$id]) ? $img_arr[$id] : NOIMAGE_URL; break; case 'UB125': //BURGMAN $id = BURGMAN_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; $model_image = isset($img_arr[$id]) ? $img_arr[$id] : NOIMAGE_URL; break; case 'AC': case 'ACZ': $id = ACCESS_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; $model_image = isset($img_arr[$id]) ? $img_arr[$id] : NOIMAGE_URL; break; default: $brochure_url = ''; break; } $variant_data['result'][$nkey]->brochure = $brochure_url; $variant_data['result'][$nkey]->model_image = $model_image; } } $model_data['result'][$key]->variant = ($variant_data['nr'] > 0) ? $variant_data['result'] : array(); } } $buyertype_arr = ($buyertype_data['nr'] > 0) ? $buyertype_data['result'] : array(); $title_arr = ($title_data['nr'] > 0) ? $title_data['result'] : array(); $company_arr = ($company_data['nr'] > 0) ? $company_data['result'] : array(); $communicate_arr = ($communicate_data['nr'] > 0) ? $communicate_data['result'] : array(); $action_arr = ($action_data['nr'] > 0) ? $action_data['result'] : array(); $purpose_arr = ($purpose_data['nr'] > 0) ? $purpose_data['result'] : array(); $model_arr = ($model_data['nr'] > 0) ? $model_data['result'] : array(); $profession_arr = ($profession_data['nr'] > 0) ? $profession_data['result'] : array(); $source_arr = ($source_data['nr'] > 0) ? $source_data['result'] : array(); $custtype_arr = ($custtype_data['nr'] > 0) ? $custtype_data['result'] : array(); $custage_arr = ($custage_data['nr'] > 0) ? $custage_data['result'] : array(); $modeofcontact_arr = ($modeofcontact_data['nr'] > 0) ? $modeofcontact_data['result'] : array(); $t_arr = array("00", "30"); for ($i = 9; $i < 19; $i++) { $m = ($i < 10) ? "0" . $i : $i; foreach ($t_arr as $tstr) { //$t=($tstr<10)?"0".$tstr:$tstr; $tvalue = $m . ":" . $tstr; $time_arr[] = array('title' => $tvalue, 'title_code' => $tvalue); } } $gender = array(0 => array('title' => "Male", "title_code" => "M"), 1 => array('title' => "Female", "title_code" => "F"), 2 => array('title' => "Transgender", "title_code" => "T")); $data = array('gender' => $gender, 'buyertype' => $buyertype_arr, 'title' => $title_arr, 'company' => $company_arr, 'communicate' => $communicate_arr, 'actionplan' => $action_arr, 'purpose' => $purpose_arr, 'model' => $model_arr, 'profession' => $profession_arr, 'source' => $source_arr, 'custtype' => $custtype_arr, 'custage' => $custage_arr, 'time' => $time_arr, 'modeofcontact' => $modeofcontact_arr); //LOG $logstr = 'ENQUIRY COMMON'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// CHECKUNSAVE //////////////////////////////////////////////// */ private function checkunsave($parent) { globalfunc::checkMethodType($parent, array('GET')); globalfunc::checkParamCount($parent, 1); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); //PAGINATION SETTINGS // $limit_cond=''; // $data_arr=array(); // $limit_str=globalfunc::setPageLimit($parent,$parent->params[0]); // $limit_cond=($limit_str)?" LIMIT ".$limit_str:''; $smpin = $parent->current_user_data->smpin; $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id", "save_level!=0 AND smpin='" . $smpin . "' AND is_starapp=1 AND is_dms=0 AND is_deleted=0 ", "1"); $total = ($check_arr['nr'] > 0) ? 1 : 0; // $total_arr=$parent->getQueryValue("SELECT FOUND_ROWS() as total_record"); // $total=(count($total_arr)>0)?$total_arr[0]->total_record:0; //EXIST CHECK $is_exist = ($check_arr['nr'] > 0) ? 1 : 0; $data = new stdClass(); $data->details = array(); if ($is_exist == 1) { foreach ($check_arr['result'] as $res) { $data->details[] = $this->getEnquirydata($parent, $res->id); } } $data->is_exist = $is_exist; //LOG $logstr = 'ENQUIRY CHECKUNSAVE'; globalfunc::insertUserLog($parent, $logstr); $last_page = 0; //$last_page=($total)?ceil($total/$parent->current_limit)-1:0; $parent->response(array('response' => 'success', 'data' => $data, 'total' => $total, 'last_page' => $last_page, 'current_page' => $parent->current_page, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// DELETE UNSAVE //////////////////////////////////////////////// */ private function deleteunsave($parent) { globalfunc::checkMethodType($parent, array('DELETE')); globalfunc::checkParamCount($parent, 2); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $id = escape_str($parent->params[1]); $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id,is_deleted", " smpin='" . $smpin . "' AND is_dms=0 AND id='" . $id . "' ", "1"); if ($check_arr['nr'] == 1) { $update_str = "UPDATE " . DMS_ENQUIRY_MASTER . " SET is_deleted=1 ,`modified_on`='" . NOW . "' WHERE id='" . $id . "'"; $parent->executeQuery($update_str); //LOG $logstr = 'ENQUIRY UNSAVE DELETE'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200); } else { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// OTP //////////////////////////////////////////////// */ private function otp($parent) { globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkParamCount($parent, 1); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $REQUEST_KEYS = array('mobile' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $mobile = escape_str($parent->_request['mobile']); $smpin = $parent->current_user_data->smpin; $otp_expiry = globalfunc::generateExpiryTime($parent, ENQUIRY_OTP_EXPIRY_MIN); $otp = globalfunc::generateOTP(); //CHECK SMPIN OTP EXIST $query_arr = $parent->selectQuery(TABLE_ENQUIRY_OTP, "id", " smpin='" . $smpin . "' AND is_checked=0 AND mobile='" . $mobile . "'", "1"); if ($query_arr['nr'] > 0) { $update_str = "UPDATE " . TABLE_ENQUIRY_OTP . " SET `otp`='" . $otp . "', otp_expiry='" . $otp_expiry . "', `modified_on`='" . NOW . "' WHERE id='" . $query_arr['result'][0]->id . "'"; $parent->executeQuery($update_str); } else { $insert_str = "INSERT INTO " . TABLE_ENQUIRY_OTP . " ( `smpin`, `mobile`, `otp`, `otp_expiry`, `created_on`, `modified_on`) VALUES ('" . $smpin . "', '" . $mobile . "', '" . $otp . "', '" . $otp_expiry . "', '" . NOW . "', '" . NOW . "')"; $parent->executeQuery($insert_str); } $sms_message = "Your one time password is " . $otp; // globalfunc::sendSMS($parent, $mobile, $sms_message); $mobile_exist = 0; $enq_data = new stdClass(); //AND dealer_code='".$parent->current_user_data->dealer_code."' $mobile_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e JOIN " . DMS_EMPLOYEE . " p ON e.smpin=p.smpin JOIN " . DMS_ENQUIRY_MODEL . " m ON e.model1=m.title_code", "m.title as model,m.variant,m.color,e.newvechicledate", "e.mobile='" . $mobile . "' AND p.dealer_code='" . $parent->current_user_data->dealer_code . "' AND e.is_dms=1 AND e.is_deleted=0 ORDER BY e.newvechicledatatime DESC", "1"); if ($mobile_arr['nr'] > 0) { $mobile_exist = 1; $enq_data = $mobile_arr['result'][0]; } //LOG $logstr = 'ENQUIRY OTP'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => array('otp_expiry' => ENQUIRY_OTP_EXPIRY_MIN, 'mobile_exist' => $mobile_exist, 'enq_data' => $enq_data), 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// OTP VALIDATE //////////////////////////////////////////////// */ private function otpvalidate($parent) { globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkParamCount($parent, 1); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $REQUEST_KEYS = array('mobile' => 'string', 'otp' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $mobile = escape_str($parent->_request['mobile']); $otp = escape_str($parent->_request['otp']); $smpin = $parent->current_user_data->smpin; //CHECK SMPIN OTP EXIST $query_arr = $parent->selectQuery(TABLE_ENQUIRY_OTP, "*", " smpin='" . $smpin . "' AND mobile='" . $mobile . "' AND is_checked=0 ORDER BY id DESC", "1"); if (!$query_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406); } if ($query_arr['result'][0]->otp != $otp) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error3']), 406); } if (strtotime($query_arr['result'][0]->otp_expiry) < strtotime(NOW)) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error4']), 406); } $parent->executeQuery("UPDATE " . TABLE_ENQUIRY_OTP . " SET is_checked=1 WHERE id='" . $query_arr['result'][0]->id . "'"); /* $data_check=array(); $check_arr=$parent->selectQuery(DMS_ENQUIRY_MASTER,"*"," mobile='".$mobile."' ORDER BY id DESC","1"); $enquiry_avaliable=0; if($check_arr['nr']>0) { $enquiry_avaliable=(strtolower($check_arr['result'][0]->status)=='lost' || strtolower($check_arr['result'][0]->enquiry_stage)=='invoiced')?"0":"1"; $data=($enquiry_avaliable=='1')?$check_arr['result'][0]:new stdClass(); } */ $data = new stdClass(); $data_check = array("enquiry_avaliable" => $enquiry_avaliable, 'data' => $data); //LOG $logstr = 'ENQUIRY VALIDATE'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data_check, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// ENQUIRY SUBMIT //////////////////////////////////////////////// */ private function getEnquirydata($parent, $id) { $data_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, " `id`, `enq_num`, `transaction_id`, `enq_salesman_cd`, `smpin`, `mobile`, `email`, `buyer_type`, `title`, `first_name`, `middle_name`, `last_name`, `ind_sex`, `address1`, `address2`, `address3`, `city`, `state`, `ofc_address1`, `ofc_address2`, `ofc_address3`, `ofc_city`, `ofc_state`, `workplace_id`, `company`, `work_place_name`, `communicate`, `newvechicledatatime`, `newvechicletactionplan`, `oldvechicledate`, `oldvechicletime`, `oldvechicletactionplan`, `model1`, `variant1`, `color1`, `model2`, `variant2`, `color2`, `oldvechiclemaker`, `oldvechiclemodel`, `profession`, `source`, `custtype`, `custage`, `modeofcontact`, `enquiry_stage`, `lik_pur_days`, `followup_remark`, `status`, `save_level`, `is_dms`, `is_starapp`, `created_on`, `modified_on`,ind_sex as gender,DATE_FORMAT(newvechicledatatime, '%d-%m-%Y') newvechicledate,newvechicletime,enquiry_stage as newvechicletpurpose,is_starapp,license,license_expiry,is_testride ", "id='" . $id . "'", "1"); $data_arr['result'][0]->model_image_url = NOIMAGE_URL; if ($data_arr['result'][0]->model1 != '' && $data_arr['result'][0]->variant1 != '') { $data_arr['result'][0]->license_expiry = ($data_arr['result'][0]->is_testride == 1 && $data_arr['result'][0]->license_expiry != '0000-00-00') ? date('d-m-Y', strtotime($data_arr['result'][0]->license_expiry)) : ''; $res = $data_arr['result'][0]; $model_arr = $parent->selectQuery(DMS_ENQUIRY_MODEL, "title as model_name,variant as variant_name,color as color_name", "title_code='" . $res->model1 . "' AND variant_code='" . $res->variant1 . "' AND color_code='" . $res->color1 . "'", ""); $data_arr['result'][0]->model_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->model_name : $res->model1; $data_arr['result'][0]->variant_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->variant_name : $res->variant1; $data_arr['result'][0]->color_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->color_name : $res->color1; $data_arr['result'][0]->enq_through = ($res->is_starapp == 1) ? "HYPER-M App" : "DMS"; $data_arr['result'][0]->newvechicledatatime_str = projectfunc::enqdatediff($parent, NOW, $res->newvechicledatatime); $obj = new stdClass(); $obj->model = $data_arr['result'][0]->model1; $obj->variant = $data_arr['result'][0]->variant1; $obj->variantname = $data_arr['result'][0]->variant_name; $data_arr['result'][0]->model_image_url = projectfunc::modelimage($parent, $obj); //enquiry type, source,profession,age group $enquiry_arr = $parent->selectQuery(DMS_ENQUIRY_STAGETYPE, "title", "title_code='" . $res->enquiry_stage . "'", "1"); $data_arr['result'][0]->enquiry_str = ($enquiry_arr['nr'] > 0) ? $enquiry_arr['result'][0]->title : ''; $profession_arr = $parent->selectQuery(DMS_ENQUIRY_PROFESSION, "title", "title_code='" . $res->profession . "'", "1"); $data_arr['result'][0]->profession_str = ($profession_arr['nr'] > 0) ? $profession_arr['result'][0]->title : ''; $age_arr = $parent->selectQuery(DMS_ENQUIRY_CUSTAGE, "title", "title_code='" . $res->custage . "'", "1"); $data_arr['result'][0]->agegroup_str = ($age_arr['nr'] > 0) ? $age_arr['result'][0]->title : ''; $title_arr = $parent->selectQuery(DMS_ENQUIRY_TITLE, "title", "title_code='" . $res->title . "'", "1"); $data_arr['result'][0]->title_str = ($title_arr['nr'] > 0) ? $title_arr['result'][0]->title : ''; $source_arr = $parent->selectQuery(DMS_ENQUIRY_SOURCE, "title", "title_code='" . $res->source . "'", "1"); $data_arr['result'][0]->source_str = ($source_arr['nr'] > 0) ? $source_arr['result'][0]->title : ''; $status_arr = $parent->selectQuery(DMS_ENQUIRY_STATUS, "title", "title_code='" . $res->status . "'", "1"); $data_arr['result'][0]->status_str = ($status_arr['nr'] > 0) ? $status_arr['result'][0]->title : ''; $action_arr = $parent->selectQuery(DMS_ENQUIRY_ACTIONPLAN, "title", "title_code='" . $res->newvechicletactionplan . "'", "1"); $data_arr['result'][0]->action_str = ($action_arr['nr'] > 0) ? $action_arr['result'][0]->title : ''; $checkdate = date('Y-m-d', strtotime($res->newvechicledatatime)); //0-overdue,1-current day,2-future switch (true) { case (strtotime($checkdate) < strtotime(CUR_DATE)): $data_arr['result'][0]->enq_date_type = 0; break; case (strtotime($checkdate) == strtotime(CUR_DATE)): $data_arr['result'][0]->enq_date_type = 1; break; case (strtotime($checkdate) > strtotime(CUR_DATE)): $data_arr['result'][0]->enq_date_type = 2; break; } ///PENDING ENQUIRY MASTER if (strtoupper($res->enquiry_stage) == 'T') { $data_arr['result'][0]->icon_type = 1; } else if (strtoupper($res->modeofcontact) == 'S' || strtoupper($res->modeofcontact) == 'V') { $data_arr['result'][0]->icon_type = 2; } else if (in_array(strtoupper($res->modeofcontact), array('E', 'F', 'O', 'T'))) { $data_arr['result'][0]->icon_type = 3; } else { $data_arr['result'][0]->icon_type = 0; } //visit,call,testdrive } return ($data_arr['nr'] > 0) ? $data_arr['result'][0] : new stdClass(); } /* /////////////////////////////// ENQUIRY SUBMIT //////////////////////////////////////////////// */ private function enquirysave($parent, $save_level) { $smpin = $parent->current_user_data->smpin; //p_mspin $dealer_code = $parent->current_user_data->dealer_code; //p_mspin switch ($save_level) { case '1': $REQUEST_KEYS = array('buyer_type' => 'string', 'title' => 'string', 'first_name' => 'string', 'company' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $id = escape_str($parent->_request['id']); $edit = 0; $econd = ''; //CHECK EXITS if ($id != '') { $edit = 1; } if ($edit == 1) { $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id", " smpin='" . $smpin . "' AND id='" . $id . "' AND is_starapp=1 AND is_dms=0 AND is_deleted=0 ", "1"); if ($check_arr['nr'] == 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $econd = " AND id!='" . $id . "'"; } //CHECK ALREDY EXIST $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id", "smpin='" . $smpin . "' " . $econd . " AND is_starapp=1 AND is_dms=0 AND is_deleted=0 ", "1"); if ($check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error7']), 406); } $buyer_type = escape_str($parent->_request['buyer_type']); //buyer_type $title = escape_str($parent->_request['title']); //p_title $first_name = escape_str($parent->_request['first_name']); //fname $middle_name = escape_str($parent->_request['middle_name']); //mid_name $last_name = escape_str($parent->_request['last_name']); //l_name $gender = ($parent->_request['gender']) ? escape_str($parent->_request['gender']) : ""; //gender $email = escape_str($parent->_request['email']); //p_email if ($email != '') { if (!globalfunc::isValidEmail($email)) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error12']), 406); } } $address1 = escape_str($parent->_request['address1']); //address1 $address1 = str_replace(array("\n", "\r"), ' ', $address1); $address2 = escape_str($parent->_request['address2']); //address2 $address3 = escape_str($parent->_request['address3']); //address3 $city = escape_str($parent->_request['city']); //city $state = escape_str($parent->_request['state']); //state //GET DEALER $getdealerarr = $parent->selectQuery(DMS_DEALER, "city_cd,state_cd", "dealer_code='" . $parent->current_user_data->dealer_code . "' ", "1"); if ($getdealerarr['nr'] > 0) { $city = ($getdealerarr['result'][0]->city_cd != '') ? $getdealerarr['result'][0]->city_cd : ''; $state = ($getdealerarr['result'][0]->state_cd != '') ? $getdealerarr['result'][0]->state_cd : ''; } $company = escape_str($parent->_request['company']); //p_work_place_id $work_place_name = escape_str($parent->_request['work_place_name']); //p_work_place_name if ($edit == 0) { $parent->executeQuery("INSERT INTO `" . DMS_ENQUIRY_MASTER . "` ( smpin, dealer_code, `buyer_type`, `title`, `first_name`, `middle_name`, `last_name`, `ind_sex`, `email`, `address1`, `address2`, `address3`, `city`, `state`, `company`, `work_place_name`,save_level,is_dms,is_starapp ,`created_on`, `modified_on`) VALUES ('" . $smpin . "','" . $dealer_code . "','" . $buyer_type . "','" . $title . "','" . $first_name . "','" . $middle_name . "','" . $last_name . "','" . $gender . "','" . $email . "','" . $address1 . "','" . $address2 . "','" . $address3 . "','" . $city . "', '" . $state . "','" . $company . "','" . $work_place_name . "',1,0,1,'" . NOW . "', '" . NOW . "')"); $id = $parent->lastInsertId(); } else { $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET dealer_code='" . $dealer_code . "', `buyer_type`='" . $buyer_type . "', `title`='" . $title . "', `first_name`='" . $first_name . "', `middle_name`='" . $middle_name . "', `last_name`='" . $last_name . "', `ind_sex`='" . $gender . "', `email`='" . $email . "', `address1`='" . $address1 . "', `address2`='" . $address2 . "', `address3`='" . $address3 . "', `city`='" . $city . "', `state`='" . $state . "', `company`='" . $company . "', `work_place_name`='" . $work_place_name . "' WHERE id='" . $id . "'"); } //GET DATA $data_arr = $this->getEnquirydata($parent, $id); //LOG $logstr = 'ENQUIRY SAVE LEVEL 1'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200); break; case '2': $REQUEST_KEYS = array('id' => 'number', 'mobile' => 'number', 'communicate' => 'string', 'model1' => 'string', 'variant1' => 'string', 'color1' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $id = escape_str($parent->_request['id']); $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id,save_level", " id='" . $id . "' AND save_level>=1 AND smpin='" . $smpin . "' AND is_starapp=1 AND is_dms=0 AND is_deleted=0", "1"); if ($check_arr['nr'] != 1) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error8']), 406); } $query_arr = $parent->selectQuery(TABLE_ENQUIRY_OTP, "*", " smpin='" . $smpin . "' AND mobile='" . $mobile . "' AND is_checked=0 ORDER BY id DESC", "1"); if ($query_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error9']), 406); } $mobile = escape_str($parent->_request['mobile']); //mobile_no $communicate = escape_str($parent->_request['communicate']); //mod_of_com $model1 = escape_str($parent->_request['model1']); //model $variant1 = escape_str($parent->_request['variant1']); //variant $color1 = escape_str($parent->_request['color1']); //colour //IF ONLY Level one need to update if ($check_arr['result'][0]->save_level == 1) { $updcond = ",save_level='2'"; } $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET mobile='" . $mobile . "',`model1`='" . $model1 . "', `variant1`='" . $variant1 . "', `color1`='" . $color1 . "',`communicate`='" . $communicate . "' " . $updcond . " WHERE id='" . $id . "'"); //GET DATA $data_arr = $this->getEnquirydata($parent, $id); //LOG $logstr = 'ENQUIRY SAVE LEVEL 2'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200); break; case '3': $REQUEST_KEYS = array('id' => 'number', 'source' => 'string', 'profession' => 'string', 'custtype' => 'string', 'custage' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $id = escape_str($parent->_request['id']); $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id,save_level", " id='" . $id . "' AND save_level>=2 AND smpin='" . $smpin . "' AND is_starapp=1 AND is_dms=0 AND is_deleted=0", "1"); if ($check_arr['nr'] != 1) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error8']), 406); } $source = escape_str($parent->_request['source']); //enq_soruce $profession = escape_str($parent->_request['profession']); //occupation $custtype = escape_str($parent->_request['custtype']); //cust_type $custage = escape_str($parent->_request['custage']); //p_cust_age_group if ($check_arr['result'][0]->save_level == 2) { $updcond = ",save_level='3'"; } $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET `source`='" . $source . "', `profession`='" . $profession . "', `custtype`='" . $custtype . "', `custage`='" . $custage . "' " . $updcond . " WHERE id='" . $id . "'"); //GET DATA $data_arr = $this->getEnquirydata($parent, $id); //LOG $logstr = 'ENQUIRY SAVE LEVEL 3'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200); break; default: $parent->response(array('response' => 'failed', 'message' => $this->page_data['error10']), 406); break; } } /* /////////////////////////////// ENQUIRY SUBMIT //////////////////////////////////////////////// */ private function enquirysubmit($parent) { globalfunc::checkParamCount($parent, 0); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $id = escape_str($parent->_request['id']); $save_level = escape_str($parent->_request['save_level']); $dealer_code = $parent->current_user_data->dealer_code; //dealer $dealer_arr = $parent->selectQuery(DMS_DEALER, "*", "is_enquirymodule=1 AND dealer_code='" . $dealer_code . "'", "1"); if (!$dealer_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error22']), 406); } $smpin = $parent->current_user_data->smpin; //p_mspin //$dealer_code = $parent->current_user_data->dealer_code; //p_mspin $is_edit = 0; switch ($save_level) { case '1': case '2': case '3': $is_edit = 1; //FOR SAVE $this->enquirysave($parent, $save_level); break; case '4': //final level submit $REQUEST_KEYS = array('id' => 'number', 'newvechicledate' => 'date|d-m-Y', 'newvechicletime' => 'string', 'newvechicletactionplan' => 'string', 'newvechicletpurpose' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); // $check_arr=$parent->selectQuery(DMS_ENQUIRY_MASTER ,"id","save_level>=3 AND smpin='".$smpin."' AND is_starapp=1 AND is_dms=0 AND is_deleted=0","1"); // if($check_arr['nr']>0) $parent->response(array('response'=>'failed','message'=>$this->page_data['error7']),406); $is_edit = 1; $is_submit = escape_str($parent->_request['is_submit']); $is_submit = ($is_submit == '1') ? 1 : 0; break; default: //do nothing //DIRECT SUBMIT $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id", "save_level<=4 AND smpin='" . $smpin . "' AND is_dms=0 AND is_deleted=0", "1"); $update_str = "UPDATE " . DMS_ENQUIRY_MASTER . " SET is_deleted=1 ,`modified_on`='" . NOW . "' WHERE smpin='" . $smpin . "' AND id='" . $check_arr['result'][0]->id . "'"; $parent->executeQuery($update_str); $REQUEST_KEYS = array('title' => 'string', 'first_name' => 'string', 'company' => 'string', 'communicate' => 'string', 'newvechicledate' => 'date|d-m-Y', 'newvechicletime' => 'string', 'custage' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); break; } $enq_salesman_cd = ''; $p_enq = ''; $mobile = escape_str($parent->_request['mobile']); //mobile_no if ($is_edit == 0) { $query_arr = $parent->selectQuery(TABLE_ENQUIRY_OTP, "*", " smpin='" . $smpin . "' AND mobile='" . $mobile . "' ORDER BY id DESC", "1"); if ($query_arr['nr'] == 0 || (isset($query_arr['result'][0]) && $query_arr['result'][0]->is_checked == 0)) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error9']), 406); } } $newvechicletactionplan = escape_str($parent->_request['newvechicletactionplan']); //p_action $first_name = escape_str($parent->_request['first_name']); //fname $middle_name = escape_str($parent->_request['middle_name']); //mid_name $last_name = escape_str($parent->_request['last_name']); //l_name $gender = ($parent->_request['gender']) ? escape_str($parent->_request['gender']) : ""; //gender $profession = escape_str($parent->_request['profession']); //occupation $email = escape_str($parent->_request['email']); //p_email if ($is_edit == 0 && $email != '') { if (!globalfunc::isValidEmail($email)) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error12']), 406); } } $address1 = escape_str($parent->_request['address1']); //address1 $address1 = str_replace(array("\n", "\r"), ' ', $address1); $address2 = escape_str($parent->_request['address2']); //address2 $address3 = escape_str($parent->_request['address3']); //address3 $city = escape_str($parent->_request['city']); //city $state = escape_str($parent->_request['state']); //state //GET DEALER $getdealerarr = $parent->selectQuery(DMS_DEALER, "city_cd,state_cd", "dealer_code='" . $parent->current_user_data->dealer_code . "' ", "1"); if ($getdealerarr['nr'] > 0) { $city = ($getdealerarr['result'][0]->city_cd != '') ? $getdealerarr['result'][0]->city_cd : ''; $state = ($getdealerarr['result'][0]->state_cd != '') ? $getdealerarr['result'][0]->state_cd : ''; } $ofc_address1 = escape_str($parent->_request['ofc_address1']); //ofc_address1 $ofc_address2 = escape_str($parent->_request['ofc_address2']); //ofc_address2 $ofc_address3 = escape_str($parent->_request['ofc_address3']); //ofc_address3 $ofc_city = escape_str($parent->_request['ofc_city']); //ofc_city $ofc_state = escape_str($parent->_request['ofc_state']); //ofc_state $model1 = escape_str($parent->_request['model1']); //model $variant1 = escape_str($parent->_request['variant1']); //variant $color1 = escape_str($parent->_request['color1']); //colour $communicate = escape_str($parent->_request['communicate']); //mod_of_com $modeofcontact = $newvechicletactionplan; $custtype = escape_str($parent->_request['custtype']); //cust_type $buyer_type = escape_str($parent->_request['buyer_type']); //buyer_type //$lik_pur_days=escape_str($parent->_request['lik_pur_days']); //lik_pur_days $lik_pur_days = '0'; $source = escape_str($parent->_request['source']); //enq_soruce $model_cd = ''; $variant_cd = ''; $newvechicledate_str = escape_str($parent->_request['newvechicledate']); $newvechicletime = escape_str($parent->_request['newvechicletime']); $date_arr = @explode('-', $newvechicledate_str); $date_str = $date_arr[2] . "-" . $date_arr[1] . "-" . $date_arr[0]; $newvechicledatatime = $date_str . " " . $newvechicletime; $p_pmc = '2'; $title = escape_str($parent->_request['title']); //p_title $company = escape_str($parent->_request['company']); //p_work_place_id $work_place_name = escape_str($parent->_request['work_place_name']); //p_work_place_name $enquiry_stage = escape_str($parent->_request['newvechicletpurpose']); //p_stage $oldvechicledate = ''; $oldvechicletime = ''; $oldvechicletactionplan = ''; $oldvechicletpurpose = ''; // $oldvechicledate=escape_str($parent->_request['oldvechicledate']); // $oldvechicletime=escape_str($parent->_request['oldvechicletime']); // $oldvechicletactionplan=escape_str($parent->_request['oldvechicletactionplan']); // $oldvechicletpurpose=escape_str($parent->_request['oldvechicletpurpose']); $model2 = escape_str($parent->_request['model2']); $variant2 = escape_str($parent->_request['variant2']); $color2 = escape_str($parent->_request['color2']); $oldvechiclemaker = escape_str($parent->_request['oldvechiclemaker']); $oldvechiclemodel = escape_str($parent->_request['oldvechiclemodel']); $custage = escape_str($parent->_request['custage']); //p_cust_age_group $p_eval_code = escape_str($parent->_request['p_eval_code']); $p_old_car_make = escape_str($parent->_request['p_old_car_make']); $p_old_car_model = escape_str($parent->_request['p_old_car_model']); $p_old_car_submodel = escape_str($parent->_request['p_old_car_submodel']); $p_ad_cd = escape_str($parent->_request['p_ad_cd']); $p_event_cd = escape_str($parent->_request['p_event_cd']); $p_enq_ref_mode = escape_str($parent->_request['p_enq_ref_mode']); $p_referred_by = escape_str($parent->_request['p_referred_by']); $is_testride = '0'; $license = escape_str($parent->_request['license']); $license_expiry = escape_str($parent->_request['license_expiry']); if ($license_expiry != '' || $license != '') { $REQUEST_KEYS = array('license' => 'string', 'license_expiry' => 'date|d-m-Y'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $is_testride = '1'; $ldate_arr = @explode('-', $license_expiry); $ldate_str = $ldate_arr[2] . "-" . $ldate_arr[1] . "-" . $ldate_arr[0]; $license_expiry = $ldate_str; } $status = "H"; //p_statusid $date1 = new DateTime(CUR_DATE); $date2 = $date1->diff(new DateTime($date_str)); $diff_days = $date2->days; if ($diff_days <= 7) { $status = "H"; //HOT } elseif ($diff_days > 7 && $diff_days <= 21) { $status = "W"; //WARM } elseif ($diff_days > 21) { $status = "P"; //COLD } $p_km_drive_month = escape_str($parent->_request['p_km_drive_month']); $p_mode_of_purchase = escape_str($parent->_request['p_mode_of_purchase']); $p_any_other_car = escape_str($parent->_request['p_any_other_car']); $p_ref_type = escape_str($parent->_request['p_ref_type']); $p_ref_no = escape_str($parent->_request['p_ref_no']); $p_ref_phone_no = escape_str($parent->_request['p_ref_phone_no']); $leadid = 'starenq' . uniqid(); //p_transaction_id //FOR SAVE if ($is_edit == 1) { if ($is_submit == 0) { $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET newvechicledate='" . $date_str . "',newvechicletime='" . $newvechicletime . "',newvechicledatatime='" . $newvechicledatatime . "',newvechicletactionplan='" . $newvechicletactionplan . "',modeofcontact='" . $modeofcontact . "',enquiry_stage='" . $enquiry_stage . "',save_level='" . $save_level . "',license='" . $license . "',license_expiry='" . $license_expiry . "',is_testride='" . $is_testride . "' WHERE id='" . $id . "'"); $data_arr = $this->getEnquirydata($parent, $id); //LOG $logstr = 'ENQUIRY SAVE LEVEL 4'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200); } else { $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "*", "id='" . $id . "' AND smpin='" . $smpin . "' AND is_dms=0 AND is_deleted=0", "1"); if ($check_arr['nr'] != 1) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $first_name = $check_arr['result'][0]->first_name; $middle_name = $check_arr['result'][0]->middle_name; $last_name = $check_arr['result'][0]->last_name; $gender = $check_arr['result'][0]->ind_sex; $profession = $check_arr['result'][0]->profession; $p_email = $check_arr['result'][0]->email; $mobile = $check_arr['result'][0]->mobile; $address1 = $check_arr['result'][0]->address1; $address2 = $check_arr['result'][0]->address2; $address3 = $check_arr['result'][0]->address3; $ofc_address1 = $check_arr['result'][0]->ofc_address1; $ofc_address2 = $check_arr['result'][0]->ofc_address2; $ofc_address3 = $check_arr['result'][0]->ofc_address3; $ofc_city = $check_arr['result'][0]->ofc_city; $ofc_state = $check_arr['result'][0]->ofc_state; $model1 = $check_arr['result'][0]->model1; $variant1 = $check_arr['result'][0]->variant1; $color1 = $check_arr['result'][0]->color1; $communicate = $check_arr['result'][0]->communicate; //$modeofcontact=$check_arr['result'][0]->modeofcontact; $custtype = $check_arr['result'][0]->custtype; $buyer_type = $check_arr['result'][0]->buyer_type; $source = $check_arr['result'][0]->source; $company = $check_arr['result'][0]->company; $work_place_name = $check_arr['result'][0]->work_place_name; $title = $check_arr['result'][0]->title; $custage = $check_arr['result'][0]->custage; } } //CALL DMS ORACLE $url = SUZ_DMS_URL; $enq_soruce = $source; $post = array("query" => "BEGIN pkg_smipl_star_app.sp_enq(:p_mspin, :p_enq, :p_action, :p_stage, :fname, :mid_name, :l_name, :mobile_no, :gender, :occupation, :p_email, :address1, :address2, :address3, :city, :state, :ofc_address1, :ofc_address2, :ofc_address3, :ofc_city, :ofc_state, :model, :variant, :colour, :mod_of_com, :cust_type, :buyer_type, :lik_pur_days, :enq_soruce, :model_cd, :variant_cd, :next_follwowup_date, :p_pmc, :p_work_place_id, :p_work_place_name, :p_transaction_id, :p_eval_code, :p_old_car_make, :p_old_car_model, :p_old_car_submodel, :p_ad_cd, :p_event_cd, :p_enq_ref_mode, :p_referred_by, :p_statusid, :p_km_drive_month, :p_mode_of_purchase, :p_any_other_car, :p_ref_type, :p_ref_no, :p_ref_phone_no, :p_title, :p_village, :p_tehsil, :p_district, :p_pin, :p_ofc_village, :p_ofc_tehsil, :p_ofc_district, :p_ofc_pin, :p_cust_age_group, :enq_number, :p_err_msg, :p_error); END;", "params" => '[{"title":"p_mspin","value":"' . $smpin . '","type":""},{"title":"p_enq","value":"' . $p_enq . '","type":""},{"title":"p_action","value":"' . $newvechicletactionplan . '","type":""},{"title":"p_stage","value":"' . $enquiry_stage . '","type":""},{"title":"fname","value":"' . $first_name . '","type":""},{"title":"mid_name","value":"' . $middle_name . '","type":""},{"title":"l_name","value":"' . $last_name . '","type":""},{"title":"mobile_no","value":"' . $mobile . '","type":""},{"title":"gender","value":"' . $gender . '","type":""},{"title":"occupation","value":"' . $profession . '","type":""},{"title":"p_email","value":"' . $email . '","type":""},{"title":"address1","value":"' . $address1 . '"},{"title":"address2","value":"' . $address2 . '","type":""},{"title":"address3","value":"' . $address3 . '","type":""},{"title":"city","value":"' . $city . '","type":""},{"title":"state","value":"' . $state . '","type":""},{"title":"ofc_address1","value":"' . $ofc_address1 . '","type":""},{"title":"ofc_address2","value":"' . $ofc_address2 . '","type":""},{"title":"ofc_address3","value":"' . $ofc_address3 . '","type":""},{"title":"ofc_city","value":"' . $ofc_city . '","type":""},{"title":"ofc_state","value":"' . $ofc_state . '","type":""},{"title":"model","value":"' . $model1 . '","type":""},{"title":"variant","value":"' . $variant1 . '","type":""},{"title":"colour","value":"' . $color1 . '","type":""},{"title":"mod_of_com","value":"' . $communicate . '","type":""},{"title":"cust_type","value":"' . $custtype . '","type":""},{"title":"buyer_type","value":"' . $buyer_type . '","type":""},{"title":"lik_pur_days","value":"' . $lik_pur_days . '","type":""},{"title":"enq_soruce","value":"' . $enq_soruce . '","type":""},{"title":"model_cd","value":"' . $model_cd . '","type":""},{"title":"variant_cd","value":"' . $variant_cd . '","type":""},{"title":"next_follwowup_date","value":"' . date('d-M-Y', strtotime($newvechicledatatime)) . '","type":""},{"title":"p_pmc","value":2,"type":""},{"title":"p_work_place_id","value":"' . $company . '","type":""},{"title":"p_work_place_name","value":"' . $work_place_name . '","type":""},{"title":"p_transaction_id","value":"' . $leadid . '","type":""},{"title":"p_eval_code","value":"' . $p_eval_code . '","type":""},{"title":"p_old_car_make","value":"' . $p_old_car_make . '","type":""},{"title":"p_old_car_model","value":"' . $p_old_car_model . '","type":""},{"title":"p_old_car_submodel","value":"' . $p_old_car_submodel . '","type":""},{"title":"p_ad_cd","value":"' . $p_ad_cd . '","type":""},{"title":"p_event_cd","value":"' . $p_event_cd . '","type":""},{"title":"p_enq_ref_mode","value":"' . $p_enq_ref_mode . '","type":""},{"title":"p_referred_by","value":"' . $p_referred_by . '","type":""},{"title":"p_statusid","value":"' . $status . '","type":""},{"title":"p_km_drive_month","value":"' . $p_km_drive_month . '","type":""},{"title":"p_mode_of_purchase","value":"' . $p_mode_of_purchase . '","type":""},{"title":"p_any_other_car","value":"' . $p_any_other_car . '","type":""},{"title":"p_ref_type","value":"' . $p_ref_type . '","type":""},{"title":"p_ref_no","value":"' . $p_ref_no . '","type":""},{"title":"p_ref_phone_no","value":"' . $p_ref_phone_no . '","type":""},{"title":"p_title","value":"' . $title . '","type":""},{"title":"p_village","value":"' . $p_village . '","type":""},{"title":"p_tehsil","value":"' . $p_tehsil . '","type":""},{"title":"p_district","value":"' . $p_district . '","type":""},{"title":"p_pin","value":"' . $p_pin . '","type":""},{"title":"p_ofc_village","value":"' . $p_ofc_village . '","type":""},{"title":"p_ofc_tehsil","value":"' . $p_ofc_tehsil . '","type":""},{"title":"p_ofc_district","value":"' . $p_ofc_district . '","type":""},{"title":"p_ofc_pin","value":"' . $p_ofc_pin . '","type":""},{"title":"p_cust_age_group","value":"' . $custage . '","type":""},{"title":"enq_number","value":"","type":"string","length":200},{"title":"p_err_msg","value":"","type":"string","length":1000},{"title":"p_error","value":"","type":"string","length":200}]'); //print_r($post);exit(); //LOG $obj = new stdClass(); $obj->type = 'enqsubmit'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); $header = array('Authorization:Bearer ' . SUZ_TOKEN); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; $emsg = ''; //REPSONSE SAVE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); if ($httpcode == '200' && $response != '') { $json = json_decode($response); if (isset($json->response) && $json->response == 'success' && isset($json->data) && isset($json->data->enq_number) && $json->data->enq_number != '') { $error = 0; if ($is_edit == 0) { $parent->executeQuery("INSERT INTO `" . DMS_ENQUIRY_MASTER . "` ( transaction_id, `enq_salesman_cd`, `smpin`, dealer_code, `mobile`, `email`, `buyer_type`, `title`, `first_name`, `middle_name`, `last_name`, `ind_sex`, `address1`, `address2`, `address3`, `city`, `state`, `ofc_address1`, `ofc_address2`, `ofc_address3`, `ofc_city`, `ofc_state`, `company`, `work_place_name`, `communicate`, `newvechicledate`, `newvechicletime`, `newvechicledatatime`, `newvechicletactionplan`,`model1`, `variant1`, `color1`, `profession`, `source`, `custtype`, `custage`, `modeofcontact`, `enquiry_stage`, `lik_pur_days`,license,license_expiry,is_testride , `status`,save_level, is_dms, is_starapp, `created_on`, `modified_on`) VALUES ('" . $leadid . "','" . $enq_salesman_cd . "','" . $smpin . "','" . $dealer_code . "', '" . $mobile . "','" . $email . "','" . $buyer_type . "','" . $title . "','" . $first_name . "','" . $middle_name . "','" . $last_name . "','" . $gender . "','" . $address1 . "','" . $address2 . "','" . $address3 . "','" . $city . "', '" . $state . "','" . $ofc_address1 . "','" . $ofc_address2 . "', '" . $ofc_address3 . "', '" . $ofc_city . "', '" . $ofc_state . "','" . $company . "','" . $work_place_name . "','" . $communicate . "','" . $date_str . "','" . $newvechicletime . "','" . $newvechicledatatime . "','" . $newvechicletactionplan . "', '" . $model1 . "','" . $variant1 . "','" . $color1 . "','" . $profession . "','" . $source . "','" . $custtype . "','" . $custage . "','" . $modeofcontact . "','" . $enquiry_stage . "','" . $lik_pur_days . "','" . $license . "','" . $license_expiry . "','" . $is_testride . "','" . $status . "',4 ,1 ,1,'" . NOW . "', '" . NOW . "')"); $id = $parent->lastInsertId(); } else { //'id'=>'number','newvechicledate'=>'string','newvechicletime'=>'string','newvechicletactionplan'=>'string','newvechicletpurpose'=>'string' $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET dealer_code='" . $dealer_code . "',transaction_id='" . $leadid . "',`city`='" . $city . "', `state`='" . $state . "',newvechicledate='" . $date_str . "',newvechicletime='" . $newvechicletime . "',newvechicledatatime='" . $newvechicledatatime . "',modeofcontact='" . $modeofcontact . "',newvechicletactionplan='" . $newvechicletactionplan . "',enquiry_stage='" . $enquiry_stage . "',lik_pur_days='" . $lik_pur_days . "',license='" . $license . "',license_expiry='" . $license_expiry . "',is_testride='" . $is_testride . "', `status`='" . $status . "',save_level='" . $save_level . "',is_dms='1' WHERE id='" . $id . "'"); } $parent->executeQuery("UPDATE " . DMS_ENQUIRY_MASTER . " SET enq_num='" . $json->data->enq_number . "' WHERE id='" . $id . "'"); //$data_arr=$parent->selectQuery(DMS_ENQUIRY_MASTER ,"*","id='".$id."'","1"); $data_arr = $this->getEnquirydata($parent, $id); //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = 1; $obj->status = 1; //$obj->apiresponse=$response; projectfunc::updateCronLog($parent, $obj); //LOG $logstr = 'ENQUIRY SUBMIT'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200); } if ($json->response == 'success' && $json->data->p_err_msg != '') { $emsg = $json->data->p_err_msg; } } if ($error == 1) { $emsg = ($emsg != '') ? $emsg : "Error to connect DMS. Please try after sometime"; $parent->response(array('response' => 'failed', 'message' => $emsg), 406); } } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// DASHBOARD //////////////////////////////////////////////// */ private function dashboard($parent) { globalfunc::checkMethodType($parent, array('GET')); globalfunc::checkParamCount($parent, 1); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; //TODAY ENQUIRY MASTER //VISIT $today_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . CUR_DATE . "' AND modeofcontact IN ('S','V') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); //TESTRIDE $today_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . CUR_DATE . "' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); //CALL $today_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . CUR_DATE . "' AND modeofcontact IN ('E','F','O','T') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $today_visit = $today_visit_arr['result'][0]->data_count; $today_testride = $today_testride_arr['result'][0]->data_count; $today_call = $today_call_arr['result'][0]->data_count; //pending task last 10 days only $last_ten_date = date('Y-m-d', strtotime('-10 day', strtotime(NOW))); //PENDING ENQUIRY MASTER $pending_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND modeofcontact IN ('S','V') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $pending_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $pending_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00' AND modeofcontact IN ('E','F','O','T') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $pending_visit = $pending_visit_arr['result'][0]->data_count; $pending_testride = $pending_testride_arr['result'][0]->data_count; $pending_call = $pending_call_arr['result'][0]->data_count; //TOMORROW ENQUIRY MASTER $tomorrow_date = date('Y-m-d', strtotime('+1 day', strtotime(NOW))); //VISIT $tomorrow_visit_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . $tomorrow_date . "' AND modeofcontact IN ('S','V') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); //TESTRIDE $tomorrow_testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . $tomorrow_date . "' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); //CALL $tomorrow_call_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND DATE(newvechicledatatime)= '" . $tomorrow_date . "' AND modeofcontact IN ('E','F','O','T') AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $tomorrow_visit = $tomorrow_visit_arr['result'][0]->data_count; $tomorrow_testride = $tomorrow_testride_arr['result'][0]->data_count; $tomorrow_call = $tomorrow_call_arr['result'][0]->data_count; $today = array('visit' => $today_visit, 'testride' => $today_testride, 'call' => $today_call); $pending = array('visit' => $pending_visit, 'testride' => $pending_testride, 'call' => $pending_call); $tomorrow = array('visit' => $tomorrow_visit, 'testride' => $tomorrow_testride, 'call' => $tomorrow_call); $data = array('today' => $today, 'pending' => $pending, 'tomorrow' => $tomorrow); //LOG $logstr = 'ENQUIRY DASHBOARD'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// DASHBOARD SALES //////////////////////////////////////////////// */ private function enquirysales($parent) { //sales/2018/2 globalfunc::checkMethodType($parent, array('GET')); globalfunc::checkParamCount($parent, 3); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $year_data = escape_str($parent->params[1]); $last_data = escape_str($parent->params[2]); $last_data_arr = explode('?', $last_data); $month_data = escape_str(trim($last_data_arr[0])); $smpin = $parent->current_user_data->smpin; //*****************SALES**************** //TARGET $user_target = projectfunc::userSalesTarget($parent, $parent->current_user_id, '', $year_data, $month_data); //ACHIEVED $user_achieved = projectfunc::userSalesAchieved($parent, $parent->current_user_id, '', $year_data, $month_data); $sales = array('target' => $user_target, 'achieved' => $user_achieved, 'month' => date('M', strtotime('2018-' . $month_data . "-01")), 'year' => $year_data); //****************ENQUIRY**************** $achieved_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND is_dms=1 AND is_deleted=0", "1"); switch ($parent->current_user_data->segment) { case '1': //TARGET $enquiry_target = (string) ($user_target * 5); //SALES TARGET multiple by 5 break; case '2': //TARGET $enquiry_target = (string) ($user_target * 3); //SALES TARGET multiple by 3 break; default: $enquiry_target = (string) ($user_target * 3); //SALES TARGET multiple by 3 break; } //ACHIEVED $enquiry_achieved = $achieved_arr['result'][0]->data_count; $enquiry = array('target' => $enquiry_target, 'achieved' => $enquiry_achieved, 'month' => date('M', strtotime('2018-' . $month_data . "-01")), 'year' => $year_data); //*****************STATUS $hot_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='H' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $warm_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='W' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $cold_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='P' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')", "1"); $hot = $hot_arr['result'][0]->data_count; $warm = $warm_arr['result'][0]->data_count; $cold = $cold_arr['result'][0]->data_count; $status_arr = array("hot" => $hot, "warm" => $warm, "cold" => $cold); //*****************STAGE $testride_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 ", "1"); $booked_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage='O' AND is_dms=1 AND is_deleted=0 ", "1"); $invoiced_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage IN('Z','P') AND is_dms=1 AND is_deleted=0 ", "1"); $lost_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='L' AND is_dms=1 AND is_deleted=0 ", "1"); $postponed_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND status='E' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V') ", "1"); $delivered_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "COUNT(id) data_count", " smpin='" . $smpin . "' AND created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%' AND enquiry_stage IN ('O','V') AND is_dms=1 AND is_deleted=0 ", "1"); $testride = $testride_arr['result'][0]->data_count; $booked = $booked_arr['result'][0]->data_count; $invoiced = $invoiced_arr['result'][0]->data_count; $lost = $lost_arr['result'][0]->data_count; $postponed = $postponed_arr['result'][0]->data_count; $delivered = $delivered_arr['result'][0]->data_count; $stage_arr = array("testride" => $testride, 'booked' => $booked, 'invoiced' => $invoiced, 'lost' => $lost, 'postponed' => $postponed, 'delivered' => $delivered); $data = array('enquiry' => $enquiry, 'sales' => $sales, 'status' => $status_arr, 'stage' => $stage_arr); //LOG $logstr = 'SALES DASHBOARD'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// LIST DATA //////////////////////////////////////////////// */ private function listdata($parent) { //sales/2018/2 globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkParamCount($parent, 1); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; try { //PAGINATION SETTINGS $limit_cond = ''; $data_arr = array(); $limit_str = globalfunc::setPageLimit($parent, $parent->params[0]); $limit_cond = ($limit_str) ? " LIMIT " . $limit_str : ''; $REQUEST_KEYS = array('listtype' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $listtype = escape_str($parent->_request['listtype']); $cond = ''; switch ($listtype) { case 'today': $todaytype = escape_str($parent->_request['todaytype']); if (strtolower($todaytype) == 'visit') { $cond = " AND e.modeofcontact IN ('S','V') "; } else if (strtolower($todaytype) == 'test drive') { $cond = " AND e.enquiry_stage='T'"; } else if (strtolower($todaytype) == 'call') { $cond = " AND e.modeofcontact IN ('E','F','O','T')"; } $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND DATE(e.newvechicledatatime)= '" . CUR_DATE . "'"; break; case 'tomorrow': $todaytype = escape_str($parent->_request['todaytype']); if (strtolower($todaytype) == 'visit') { $cond = " AND e.modeofcontact IN ('S','V') "; } else if (strtolower($todaytype) == 'test drive') { $cond = " AND e.enquiry_stage='T'"; } else if (strtolower($todaytype) == 'call') { $cond = " AND e.modeofcontact IN ('E','F','O','T')"; } $tomorrow_date = date('Y-m-d', strtotime('+1 day', strtotime(NOW))); $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND DATE(e.newvechicledatatime)= '" . $tomorrow_date . "'"; break; case 'date': $REQUEST_KEYS = array('date' => 'date|Y-m-d'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $date = escape_str($parent->_request['date']); $todaytype = escape_str($parent->_request['todaytype']); if (strtolower($todaytype) == 'visit') { $cond = " AND e.modeofcontact IN ('S','V') "; } else if (strtolower($todaytype) == 'test drive') { $cond = " AND e.enquiry_stage='T'"; } else if (strtolower($todaytype) == 'call') { $cond = " AND e.modeofcontact IN ('E','F','O','T')"; } $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND DATE(newvechicledatatime)= '" . $date . "'"; break; case 'pending': $REQUEST_KEYS = array('pendingtype' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $pendingtype = escape_str($parent->_request['pendingtype']); if (strtolower($pendingtype) == 'visit') { $cond = " AND e.modeofcontact IN ('S','V') "; } else if (strtolower($pendingtype) == 'test drive') { $cond = "AND e.enquiry_stage='T'"; } else if (strtolower($pendingtype) == 'call') { $cond = " AND e.modeofcontact IN ('E','F','O','T')"; } $last_ten_date = date('Y-m-d', strtotime('-10 day', strtotime(NOW))); $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V') AND e.newvechicledatatime<'" . CUR_DATE . " 00:00:00' AND newvechicledatatime>'" . $last_ten_date . " 00:00:00'"; //$cond.=(in_array(strtolower($pendingtype),array("visit","test drive","call")))?" AND enquiry_stage='".$pendingtype."'":$parent->response(array('response'=>'failed', 'message' => $this->page_data['error5']), 406); //$cond.= " AND enquiry_stage='".$pendingtype."'"; //$cond.= " AND enquiry_stage='".$pendingtype."'"; break; case 'hot': case 'warm': case 'cold': case 'testride': case 'booked': case 'invoiced': case 'lost': case 'postponed': $REQUEST_KEYS = array('month' => 'string', 'year' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $month_data = escape_str($parent->_request['month']); $year_data = escape_str($parent->_request['year']); if (in_array($listtype, array("hot", "warm", "cold", 'lost', 'postponed'))) { switch ($listtype) { case 'hot':$listtype_str = 'H'; break; case 'warm':$listtype_str = 'W'; break; case 'cold':$listtype_str = 'P'; break; case 'lost':$listtype_str = 'L'; break; case 'postponed':$listtype_str = 'E'; break; } if ($listtype != 'lost') { $cond .= " AND enquiry_stage NOT IN ('Z','O','P','V')"; } $cond .= " AND e.status='" . $listtype_str . "'"; } else { // $str=($listtype=='testride')?"T":$listtype; switch ($listtype) { case 'testride':$str = 'T'; break; case 'booked':$str = 'O'; break; case 'invoiced':$str = 'Z'; break; } $cond = " AND e.enquiry_stage='" . $str . "'"; } $cond .= "AND e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%'"; break; case 'model': $REQUEST_KEYS = array('month' => 'string', 'year' => 'number', 'model' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $month_data = escape_str($parent->_request['month']); $year_data = escape_str($parent->_request['year']); $model = escape_str($parent->_request['model']); switch ($model) { case 'INTRUDER':$cond .= " AND e.model1='GL'"; break; case 'BURGMAN':$cond .= " AND e.model1='UB125'"; break; case 'ACCESS 125':$cond .= " AND e.model1 IN ('AC','ACZ')"; break; case 'GIXXER 250':$cond .= " AND e.model1 IN ('GSX','GSXSF') AND e.variant1 IN (SELECT variant_code FROM " . DMS_ENQUIRY_MODEL . " WHERE title_code IN ('GSX','GSXSF') AND variant LIKE '%250%')"; break; case 'GIXXER':$cond .= " AND e.model1 IN ('GSX','GSXSF') AND e.variant1 IN (SELECT variant_code FROM " . DMS_ENQUIRY_MODEL . " WHERE title_code IN ('GSX','GSXSF') AND variant NOT LIKE '%250%')"; break; case 'OTHERS':$cond .= " AND e.model1 NOT IN ('GSX','GSXSF','GL','UB125','AC','ACZ')"; break; default:$parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $cond .= " AND e.created_on LIKE '" . date('Y-m', strtotime($year_data . '-' . $month_data . "-01")) . "-%'"; break; default:$parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); break; } //SEARCH $model_cond = ''; $search = escape_str($parent->_request['search']); if ($search != '') { $model = $parent->getQueryValue("SELECT title_code FROM " . DMS_ENQUIRY_MODEL . " WHERE title LIKE '%" . $search . "%'"); if (count($model) > 0) { $model_arr = array_column($model, 'title_code'); $model_quotes = array_map("quotes_array", $model_arr); $model_cond = (count($model_quotes) > 0) ? " OR e.model1 IN (" . @implode(',', $model_quotes) . ")" : ''; } $cond = " AND (e.enq_num LIKE '%" . $search . "%' OR e.first_name LIKE '%" . $search . "%' OR e.mobile LIKE '%" . $search . "%' " . $model_cond . ") "; } //$pending_testride_arr=$parent->selectQuery(DMS_ENQUIRY_MASTER,"COUNT(id) data_count"," smpin='".$smpin."' AND newvechicledatatime<'".CUR_DATE." 00:00:00' AND enquiry_stage='T' AND is_dms=1 AND is_deleted=0 AND enquiry_stage NOT IN ('Z','O','P','V')","1"); //echo "smpin='".$smpin."' ".$cond." ORDER BY newvechicledatatime ASC, id DESC ".$limit_cond; exit; $data_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER . " e ", "SQL_CALC_FOUND_ROWS e.*", "e.smpin='" . $smpin . "' AND e.is_dms=1 AND e.is_deleted=0 " . $cond . " ORDER BY e.newvechicledatatime ASC, id DESC " . $limit_cond, ""); $total_arr = $parent->getQueryValue("SELECT FOUND_ROWS() as total_record"); $total = (count($total_arr) > 0) ? $total_arr[0]->total_record : 0; //DATE TO STRING if ($data_arr['nr'] > 0) { foreach ($data_arr['result'] as $key => $res) { //LEFT JOIN ".DMS_ENQUIRY_MODEL." m ON m.title_code=e.model1 //,m.title as model_name_str $model_arr = $parent->selectQuery(DMS_ENQUIRY_MODEL, "title as model_name,variant as variant_name,color as color_name", "title_code='" . $res->model1 . "' AND variant_code='" . $res->variant1 . "' AND color_code='" . $res->color1 . "'", ""); $data_arr['result'][$key]->model_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->model_name : $res->model1; $data_arr['result'][$key]->variant_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->variant_name : $res->variant1; $data_arr['result'][$key]->color_name = ($model_arr['nr'] > 0) ? $model_arr['result'][0]->color_name : $res->color1; $data_arr['result'][$key]->enq_through = ($res->is_starapp == 1) ? "HYPER-M App" : "DMS"; $data_arr['result'][$key]->newvechicledatatime_str = projectfunc::enqdatediff($parent, NOW, $res->newvechicledatatime); $checkdate = date('Y-m-d', strtotime($res->newvechicledatatime)); //0-overdue,1-current day,2-future switch (true) { case (strtotime($checkdate) < strtotime(CUR_DATE)): $data_arr['result'][$key]->enq_date_type = 0; break; case (strtotime($checkdate) == strtotime(CUR_DATE)): $data_arr['result'][$key]->enq_date_type = 1; break; case (strtotime($checkdate) > strtotime(CUR_DATE)): $data_arr['result'][$key]->enq_date_type = 2; break; } ///PENDING ENQUIRY MASTER if (strtoupper($res->enquiry_stage) == 'T') { $data_arr['result'][$key]->icon_type = 1; } else if (strtoupper($res->modeofcontact) == 'S' || strtoupper($res->modeofcontact) == 'V') { $data_arr['result'][$key]->icon_type = 2; } else if (in_array(strtoupper($res->modeofcontact), array('E', 'F', 'O', 'T'))) { $data_arr['result'][$key]->icon_type = 3; } else { $data_arr['result'][$key]->icon_type = 0; } //visit,call,testdrive } } //LOG $logstr = 'ENQUIRY LIST'; globalfunc::insertUserLog($parent, $logstr); $last_page = ($total) ? ceil($total / $parent->current_limit) - 1 : 0; $parent->response(array('response' => 'success', 'data' => $data_arr['result'], 'total' => $total, 'last_page' => $last_page, 'current_page' => $parent->current_page, 'message' => $this->page_data['success1'], 'q' => $cond), 200); } catch (PDOException $e) { $parent->response(array('response' => 'failed', 'message' => $e->getMessage()), 500); } catch (Exception $e) { $parent->response(array('response' => 'failed', 'message' => $e->getMessage()), 500); } } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// FOLLOWUP //////////////////////////////////////////////// */ private function followup($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $REQUEST_KEYS = array('id' => 'number', 'status' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $status = strtoupper(escape_str($parent->_request['status'])); $reason = ''; $subreason = ''; $lostdealer = ''; $lostmodel = ''; //'newvechicledate'=>'date|d-m-Y','newvechicletime'=>'string', 'modeofcontact'=>'string','nextfollowup'=>'string', switch ($status) { case 'L': //Lost $REQUEST_KEYS = array('reason' => 'string', 'subreason' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $reason = escape_str($parent->_request['reason']); $subreason = escape_str($parent->_request['subreason']); $lostdealer = escape_str($parent->_request['lostdealer']); $lostmodel = escape_str($parent->_request['lostmodel']); break; case 'E': //Postponed $REQUEST_KEYS = array('reason' => 'string', 'newvechicledate' => 'date|d-m-Y', 'newvechicletime' => 'string', 'modeofcontact' => 'string', 'nextfollowup' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $reason = escape_str($parent->_request['reason']); break; case 'P': //Cold case 'H': //Hot case 'W': //Warm $REQUEST_KEYS = array('newvechicledate' => 'date|d-m-Y', 'newvechicletime' => 'string', 'modeofcontact' => 'string', 'nextfollowup' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); break; } $id = escape_str($parent->_request['id']); $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id,enq_num,newvechicledatatime,enquiry_stage,newvechicletactionplan", " smpin='" . $smpin . "' AND id='" . $id . "' AND is_dms=1 AND is_deleted=0 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $newvechicledate = escape_str($parent->_request['newvechicledate']); $newvechicletime = escape_str($parent->_request['newvechicletime']); $date_arr = @explode("-", $newvechicledate); $date_str = $date_arr[2] . "-" . $date_arr[1] . "-" . $date_arr[0]; $newvechicledatatime = $date_str . " " . $newvechicletime; $followup_remark = escape_str($parent->_request['followup_remark']); $followup_remark = str_replace(array("\n", "\r"), ' ', $followup_remark); $modeofcontact = escape_str($parent->_request['modeofcontact']); $nextfollowup = escape_str($parent->_request['nextfollowup']); $p_act_follow_date = date('m/d/Y', strtotime($check_arr['result'][0]->newvechicledatatime)); if ($status == 'L') { $p_next_stage_date = date('m/d/Y', strtotime(CUR_DATE)); } else { $p_next_stage_date = date('m/d/Y', strtotime($date_str)); } $post = array("query" => "BEGIN pkg_smipl_star_app.sp_followup_update(:p_mspin, :p_enq_num, :p_act_follow_date, :p_enq_actual_stage, :p_status, :p_enq_actual_action, :p_enq_reas_cd, :p_enq_sub_reas_cd, :p_enq_lost_dlr, :p_enq_lost_mod, :p_at_remarks, :p_next_stage_date, :p_enq_next_action, :p_enq_next_stage, :p_financer_code, :p_competition_manufacture, :p_competition_model, :p_error, :p_err_msg ); END;", "params" => '[{"title":"p_mspin","value":"' . $smpin . '","type":""},{"title":"p_enq_num","value":"' . $check_arr['result'][0]->enq_num . '","type":""}, {"title":"p_act_follow_date","value":"' . $p_act_follow_date . '","type":""}, {"title":"p_enq_actual_stage","value":"' . $check_arr['result'][0]->enquiry_stage . '","type":""},{"title":"p_status","value":"' . $status . '","type":""},{"title":"p_enq_actual_action","value":"' . $check_arr['result'][0]->newvechicletactionplan . '","type":""},{"title":"p_enq_reas_cd","value":"' . $reason . '","type":""},{"title":"p_enq_sub_reas_cd","value":"' . $subreason . '","type":""},{"title":"p_enq_lost_dlr","value":"' . $lostdealer . '","type":""},{"title":"p_enq_lost_mod","value":"' . $lostmodel . '","type":""},{"title":"p_at_remarks","value":"' . $followup_remark . '","type":""},{"title":"p_next_stage_date","value":"' . $p_next_stage_date . '","type":""},{"title":"p_enq_next_action","value":"' . $modeofcontact . '","type":""},{"title":"p_enq_next_stage","value":"' . $nextfollowup . '","type":""},{"title":"p_financer_code","value":"","type":""},{"title":"p_competition_manufacture","value":"","type":""},{"title":"p_competition_model","value":"","type":""},{"title":"p_error","value":"2","type":"string","length":200},{"title":"p_err_msg","value":"","type":"string","length":1000}]'); $url = SUZ_DMS_URL; $header = array('Authorization:Bearer ' . SUZ_TOKEN); //LOG $obj = new stdClass(); $obj->type = 'followupdate'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); if ($httpcode == '200' && $response != '') { $json = json_decode($response); //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = 0; $obj->status = 1; //$obj->apiresponse=$response; projectfunc::updateCronLog($parent, $obj); if (isset($json->response) && $json->response == 'success' && isset($json->data)) { if ($json->data->p_err_msg == '' || $json->data->p_err_msg == null) { $error = 0; } } $emsg = $json->data->p_err_msg; } //LOG $logstr = 'ENQUIRY FOLLOWUP SUBMIT'; globalfunc::insertUserLog($parent, $logstr, $check_arr['result'][0]->id); if ($error == 0) { if ($status != 'L') { //UPDATE FOLLOW UP $update_str = "UPDATE " . DMS_ENQUIRY_MASTER . " SET newvechicledate='" . $date_str . "', newvechicletime='" . $newvechicletime . "', newvechicledatatime='" . $newvechicledatatime . "' WHERE id='" . $check_arr['result'][0]->id . "'"; $parent->executeQuery($update_str); } //DIRECT STATUS UPDATE $parent->executeQuery("UPDATE " . DMS_ENQUIRY_MASTER . " SET status='" . $status . "' WHERE id='" . $check_arr['result'][0]->id . "'"); $parent->response(array('response' => 'success', 'message' => $this->page_data['success2']), 200); } else { $emsg = ($emsg != '') ? $emsg : "Error to connect DMS. Please try after sometime"; $parent->response(array('response' => 'failed', 'message' => $emsg), 406); } } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// STOCK AVAILABILITY //////////////////////////////////////////////// */ private function stockavailability($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $model = escape_str($parent->_request['model']); $variant = escape_str($parent->_request['variant']); $color = escape_str($parent->_request['color']); $smpin = $parent->current_user_data->smpin; $url = SUZ_DMS_URL; $post = array("query" => "BEGIN pkg_smipl_star_app.sp_available_stock(:p_mspin, :p_pmc, :p_model_cd, :p_variant_cd, :p_color_cd, :p_list_cursor, :p_err_cd, :p_err_msg); END;", "params" => '[{"title":"p_mspin","value":"' . $smpin . '","type":""},{"title":"p_pmc","value":"2","type":""},{"title":"p_model_cd","value":"' . $model . '","type":""},{"title":"p_variant_cd","value":"' . $variant . '","type":""},{"title":"p_color_cd","value":"' . $color . '","type":""},{"title":"p_list_cursor","value":"","type":"cursor"},{"title":"p_err_cd","value":"","type":"string","length":200},{"title":"p_err_msg","value":"","type":"string","length":1000}]'); $header = array('Authorization:Bearer ' . SUZ_TOKEN); //LOG $obj = new stdClass(); $obj->type = 'callmodelstock'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); //LOG $logstr = 'ENQUIRY STOCK'; globalfunc::insertUserLog($parent, $logstr); if ($httpcode == '200' && $response != '') { $json = json_decode($response); if (isset($json->response) && $json->response == 'success' && isset($json->data) && count($json->data) > 0) { $data = $json->data; $count = count($json->data); //0-Data not Found,1-Available,2-Since Transfer,3-Not Available $status = array('title' => 'Not Available', 'status' => 0); if ($count > 0) { if ($data[0]->AVAILABLE_STOCK > 0) { $status = array('title' => 'Available', 'status' => 1); } if ($data[0]->AVAILABLE_STOCK == 0 && $data[0]->INTRANSIT_STOCK > 0) { $status = array('title' => 'In Transit', 'status' => 2); } } //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = 1; $obj->status = 1; //$obj->apiresponse=$response; projectfunc::updateCronLog($parent, $obj); $parent->response(array('response' => 'success', 'data' => $status, 'message' => $this->page_data['success1']), 200); } } $status = array('title' => 'Not Available', 'status' => 0); $parent->response(array('response' => 'success', 'data' => $status, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// DETAILS //////////////////////////////////////////////// */ private function details($parent) { globalfunc::checkParamCount($parent, 2); globalfunc::checkMethodType($parent, array('GET')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $id = escape_str($parent->params[1]); $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id", " smpin='" . $smpin . "' AND is_deleted=0 AND id='" . $id . "'", "1"); if ($check_arr['nr'] != '1') { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } //GET DATA $data_arr = $this->getEnquirydata($parent, $id); //BROCHURE $brochure_arr = array(); $brochure_url = SITE_URL . "explore_assets/model/"; $expmodel_data = $parent->selectQuery(TABLE_COMPARE_MODEL, "model_id,CASE WHEN model_brochure!='' THEN CONCAT('" . $brochure_url . "',model_brochure) ELSE '' END AS 'model_brochure' ", "is_deleted=0 AND is_other=0 AND `model_type` = '0'", ""); if ($expmodel_data['nr'] > 0) { $arr_id = array_column($expmodel_data['result'], 'model_id'); $arr_name = array_column($expmodel_data['result'], 'model_brochure'); $brochure_arr = array_combine($arr_id, $arr_name); } // `model1`, `variant1`, `color1` switch ($data_arr->model1) { case 'GSX': //GIXXER $id = (strpos($data_arr->variant1, 'GSX250') !== false || strpos($data_arr->variant_name, 'GIXXER 250') !== false) ? GIXXER_250_ID : GIXXER_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'GSXSF': //GIXXER SF $id = (strpos($data_arr->variant1, 'GSXF250') !== false || strpos($data_arr->variant_name, 'GIXXER SF 250') !== false) ? GIXXER_SF_250_ID : GIXXER_SF_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'GL': //INTRUDER $id = INTRUDER_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'UB125': //BURGMAN $id = BURGMAN_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'AC': case 'ACZ': $id = ACCESS_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; default: $brochure_url = ''; break; } $data_arr->brochure = $brochure_url; //CALL HISTORY $data_arr->history = array(); $url = SUZ_DMS_URL; $post = array("query" => "BEGIN pkg_smipl_star_app.sp_followup_history(:p_mspin, :p_enq_num, :p_pmc, :p_cust_name, :p_mobile, :p_email, :p_model_cd, :p_model, :p_variant_cd, :p_variant, :p_status_cd, :p_status, :p_color_cd, :p_color, :p_make, :p_makemodel_cd, :p_makemodel, :p_evaluatorid, :p_evaluator_name, :p_expectedprice, :p_evaluatedprice, :p_buying_price, :p_buyertype, :p_enquiry_source, :p_enquiry_date, :list_cursor, :p_error, :p_err_msg, :p_remarks, :p_km_drive_month, :p_mode_of_purchase, :p_financer_code, :p_financer_name, :p_tl_remarks, :p_comp_manuf_cd, :p_comp_manuf_name, :p_comp_model_cd, :p_comp_model_name, :p_corporate_code, :p_rm_evaluator_remark, :p_evaluator_remark); END;", "params" => '[{"title":"p_mspin","value":"' . $smpin . '","type":""},{"title":"p_enq_num","value":"' . $data_arr->enq_num . '","type":""},{"title":"p_pmc","value":2,"type":""},{"title":"p_cust_name","value":"","type":"string","length":200},{"title":"p_mobile","value":"","type":"string","length":200},{"title":"p_email","value":"","type":"string","length":200},{"title":"p_model_cd","value":"","type":"string","length":200},{"title":"p_model","value":"","type":"string","length":200},{"title":"p_variant_cd","value":"","type":"string","length":200},{"title":"p_variant","value":"","type":"string","length":200},{"title":"p_status_cd","value":"","type":"string","length":200},{"title":"p_status","value":"","type":"string","length":200},{"title":"p_color_cd","value":"","type":"string","length":200},{"title":"p_color","value":"","type":"string","length":200},{"title":"p_make","value":"","type":"string","length":200},{"title":"p_makemodel_cd","value":"","type":"string","length":200},{"title":"p_makemodel","value":"","type":"string","length":200},{"title":"p_evaluatorid","value":"","type":"string","length":200},{"title":"p_evaluator_name","value":"","type":"string","length":200},{"title":"p_expectedprice","value":"","type":"string","length":200},{"title":"p_evaluatedprice","value":"","type":"string","length":200},{"title":"p_buying_price","value":"","type":"string","length":200},{"title":"p_buyertype","value":"","type":"string","length":200},{"title":"p_enquiry_source","value":"","type":"string","length":200},{"title":"p_enquiry_date","value":"","type":"string","length":200},{"title":"list_cursor","value":"","type":"cursor"},{"title":"p_error","value":"","type":"string","length":20 },{"title":"p_err_msg","value":"","type":"string","length":1000},{"title":"p_remarks","value":"","type":"string","length":1000},{"title":"p_km_drive_month","value":"","type":"string","length":200},{"title":"p_mode_of_purchase","value":"","type":"string","length":200},{"title":"p_financer_code","value":"","type":"string","length":200},{"title":"p_financer_name","value":"","type":"string","length":200},{"title":"p_tl_remarks","value":"","type":"string","length":200},{"title":"p_comp_manuf_cd","value":"","type":"string","length":200},{"title":"p_comp_manuf_name","value":"","type":"string","length":200},{"title":"p_comp_model_cd","value":"","type":"string","length":200},{"title":"p_comp_model_name","value":"","type":"string","length":200},{"title":"p_corporate_code","value":"","type":"string","length":200},{"title":"p_rm_evaluator_remark","value":"","type":"string","length":200},{"title":"p_evaluator_remark","value":"","type":"string","length":200}]'); $header = array('Authorization:Bearer ' . SUZ_TOKEN); //LOG $obj = new stdClass(); $obj->type = 'followhistory'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); // $hobj=new stdClass(); // $hobj->title='Enquiry Created'; // $hobj->remarks=trim($parent->current_user_data->fname." ".$parent->current_user_data->lname); // $hobj->created_on=date('Y-m-d',strtotime($data_arr->created_on)); // $hobj->created_on_str=date('d-M-Y',strtotime($data_arr->created_on)); // $hobj->image=''; // $hobj->type='';//testride // $hobj->colorcode='#FFFF00';// Hexcode // $hobj->type=$data_arr->action_str; //Testride // $hobj->stage=$data_arr->enquiry_str; // $hobj->status=$data_arr->status_str; // $hobj->order=1; // $data_arr->history[]=$hobj; if ($httpcode == '200' && $response != '') { //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = count($json->data); $obj->status = 1; //$obj->apiresponse=$response; projectfunc::updateCronLog($parent, $obj); $json = json_decode($response); if (isset($json->response) && $json->response == 'success' && isset($json->data) && count($json->data) > 0) { $error = 0; if (count($json->data)) { foreach ($json->data as $res) { $hobj = new stdClass(); $hobj->title = $res->ACTION_PLAN; $hobj->remarks = ($res->REMARKS) ? $res->REMARKS : ''; $hobj->created_on = date('Y-m-d', strtotime($res->FOLLOW_PLAN_DATE)); $hobj->created_on_str = date('d-M-Y', strtotime($res->FOLLOW_PLAN_DATE)); $hobj->order = strtotime($res->FOLLOW_PLAN_DATE); $hobj->image = ''; $hobj->type = ($res->ACTION_PLAN) ? $res->ACTION_PLAN : ''; $hobj->stage = ($res->STAGE_PLAN) ? $res->STAGE_PLAN : $res->STAGE_ACTUAL; $hobj->status = ($res->FOLLOWSTATUS) ? $res->FOLLOWSTATUS : ''; // Hexcode switch (trim($hobj->stage)) { case 'Invoiced': case 'Order Booking': case 'Vehicle Delivered': case 'Proforma Invoice': $hobj->colorcode = '#008000'; //green break; case 'Lost': $hobj->colorcode = '#FF0000'; //RED break; default: $hobj->colorcode = '#FF8C00'; //orange break; } $data_arr->history[] = $hobj; } } } } //SORT // if (count($data_arr->history) > 0) { // usort($data_arr->history, 'comparator'); // } //LOG $logstr = 'ENQUIRY DETAILS'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// Share //////////////////////////////////////////////// */ private function sharebrochure($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $email = escape_str($parent->_request['email']); $REQUEST_KEYS = array('name' => 'string', 'email' => 'string', 'model' => 'string', 'variant' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); if (!globalfunc::isValidEmail($email)) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error12']), 406); } $smpin = $parent->current_user_data->smpin; $name = escape_str($parent->_request['name']); $model = escape_str($parent->_request['model']); $variant = escape_str($parent->_request['variant']); $checkmodel_data = $parent->selectQuery(DMS_ENQUIRY_MODEL, "id,title,variant", " status='1' AND enq_yn='Y' AND title_code='" . $model . "' AND variant_code='" . $variant . "'", "1"); if ($checkmodel_data['nr'] == 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error13']), 406); } $brochure_arr = array(); $brochure_url = SITE_URL . "explore_assets/model/"; $expmodel_data = $parent->selectQuery(TABLE_COMPARE_MODEL, "model_id,CASE WHEN model_brochure!='' THEN CONCAT('" . $brochure_url . "',model_brochure) ELSE '' END AS 'model_brochure' ", "is_deleted=0 AND is_other=0 AND `model_type` = '0'", ""); if ($expmodel_data['nr'] > 0) { $arr_id = array_column($expmodel_data['result'], 'model_id'); $arr_name = array_column($expmodel_data['result'], 'model_brochure'); $brochure_arr = array_combine($arr_id, $arr_name); } $brochure_url = ''; switch (strtoupper($model)) { case 'GSX': //GIXXER $id = (strpos($variant, 'GSX250') !== false || strpos($checkmodel_data['result'][0]->title, 'GIXXER 250') !== false) ? GIXXER_250_ID : GIXXER_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'GSXSF': //GIXXER SF $id = (strpos($variant, 'GSXF250') !== false || strpos($checkmodel_data['result'][0]->title, 'GIXXER SF 250') !== false) ? GIXXER_SF_250_ID : GIXXER_SF_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'GL': //INTRUDER $id = INTRUDER_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'UB125': //BURGMAN $id = BURGMAN_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; case 'AC': case 'ACZ': $id = ACCESS_ID; $brochure_url = isset($brochure_arr[$id]) ? $brochure_arr[$id] : ''; break; default: $brochure_url = ''; break; } if ($brochure_url == '') { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error14']), 406); } // $id=escape_str($parent->params[1]); // $check_arr=$parent->selectQuery(DMS_ENQUIRY_MASTER ,"id,email,share_token"," smpin='".$smpin."' AND is_deleted=0 AND id='".$id."'","1"); // if($check_arr['nr']!='1') $parent->response(array('response'=>'failed', 'message'=>$this->page_data['error6']),406); // // $email=$check_arr['result'][0]->email; // if($email!='') $parent->response(array('response'=>'failed', 'message'=>$this->page_data['error11']),406); // // if($check_arr['result'][0]->share_token!='') // { // //SHARE TOKEN UPDATE // $access_token=globalfunc::generateToken($parent,'enquiry',128); // $update_str = "UPDATE ".DMS_ENQUIRY_MASTER." SET share_token='".$access_token."' WHERE id='".$id."'"; // $parent->executeQuery($update_str); // } $obj = array(); $obj['from'] = SUPPORT_EMAIL; $obj['FromName'] = 'HYPER-M'; $obj['to'] = $email; $obj['subject'] = 'HYPER-M - Brochure for ' . $checkmodel_data['result'][0]->title . ' ' . $checkmodel_data['result'][0]->variant; $explore_url = $brochure_url; $cond_mail_str1 = "Thank you for showing your interest in HYPER-M."; $cond_mail_str2 = "We hope you had a great experience in exploring our range of Students"; $email_link = 'Click Here to download the product e-brochure of ' . $checkmodel_data['result'][0]->title . ' ' . $checkmodel_data['result'][0]->variant . '
'; $message = '
HYPER-M
Dear ' . $name . ',
Greetings of the Day..!
' . $cond_mail_str1 . '
' . $cond_mail_str2 . '

' . $email_link . ' Thank you again for your visit and we look forward to see you soon.
 
'; $obj['message'] = $message; // globalfunc::sendMai($parent, $obj); $parent->executeQuery("INSERT INTO `" . TABLE_ENQBROCHURESHARE . "` (`smpin`, `name`,email, `model`, `variant`, `created_on`) VALUES ('" . $smpin . "','" . $name . "','" . $email . "','" . $model . "','" . $variant . "' , '" . NOW . "')"); //LOG $logstr = 'ENQUIRY SHARE BROCHURE'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'message' => $this->page_data['success7']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// QUOTATION //////////////////////////////////////////////// */ private function quotation($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $model = escape_str($parent->_request['model']); $variant = escape_str($parent->_request['variant']); $REQUEST_KEYS = array('model' => 'string', 'variant' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); //DMS_ENQUIRY_MODEL $check_arr = $parent->selectQuery(DMS_ENQUIRY_MODEL, "title,title_code,variant,variant_code", " title_code='" . $model . "' AND variant_code='" . $variant . "' AND enq_yn='Y' AND status=1 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error15']), 406); } //echo $parent->current_user_data->dealer_code; //DEALER $check_arr = $parent->selectQuery(DMS_DEALER, "dealer_code,for_cd", "dealer_code='" . $parent->current_user_data->dealer_code . "' AND for_cd!='' AND is_deleted=0 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error16']), 406); } $for_cd = $check_arr['result'][0]->for_cd; //CALL DMS $url = SUZ_DMS_URL; $post = array("query" => "BEGIN pkg_smipl_star_app.sp_vehicle_model_price(:p_model, :p_for, :p_pmc, :list_cursor, :p_err_cd, :p_err_msg); END;", "params" => '[{"title":"p_model","value":"' . $model . '","type":""},{"title":"p_for","value":"' . $for_cd . '","type":""},{"title":"p_pmc","value":"2","type":""},{"title":"list_cursor","value":"","type":"cursor"},{"title":"p_err_cd","value":"","type":""},{"title":"p_err_msg","value":"","type":""}]'); $header = array('Authorization:Bearer ' . SUZ_TOKEN); //LOG $obj = new stdClass(); $obj->type = 'modelprice'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); if ($httpcode == '200' && $response != '') { $json = json_decode($response); if (isset($json->response) && $json->response == 'success' && isset($json->data) && count($json->data) > 0) { //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = count($json->data); $obj->status = 1; //$obj->apiresponse=$response; projectfunc::updateCronLog($parent, $obj); foreach ($json->data as $res) { if (strtolower($variant) == strtolower($res->VARIANT_CD)) { $error = 0; $data = array('exsh_price' => $res->EXSH_PRICE); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); break; } } $parent->response(array('response' => 'failed', 'message' => $this->page_data['error17']), 406); } if ($json->response == 'success' && $json->data->p_err_msg != '') { $emsg = $json->data->p_err_msg; } } //LOG $logstr = 'ENQUIRY QUOTATION'; globalfunc::insertUserLog($parent, $logstr, $id); if ($error == 1) { $emsg = ($emsg != '') ? $emsg : "Error to connect DMS. Please try after sometime"; $parent->response(array('response' => 'failed', 'message' => $emsg), 406); } else { $parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200); } } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// SHARE QUOTATION //////////////////////////////////////////////// */ private function sharequotation($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $dealer_code = $parent->current_user_data->dealer_code; //,'validity_date'=>'' $REQUEST_KEYS = array('name' => 'string', 'email' => 'string', 'mobile' => 'string', 'email' => 'string', 'model' => 'string', 'variant' => 'string', 'exsh_price' => 'number', 'total_price' => 'number'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $name = escape_str($parent->_request['name']); $email = escape_str($parent->_request['email']); $mobile = escape_str($parent->_request['mobile']); $model = escape_str($parent->_request['model']); $variant = escape_str($parent->_request['variant']); //DMS_ENQUIRY_MODEL $check_arr = $parent->selectQuery(DMS_ENQUIRY_MODEL, "title,title_code,variant,variant_code", " title_code='" . $model . "' AND variant_code='" . $variant . "' AND enq_yn='Y' AND status=1 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error17']), 406); } $exsh_price = escape_str($parent->_request['exsh_price']); $exsh_remark = escape_str($parent->_request['exsh_remark']); $rto_price = escape_str($parent->_request['rto_price']); $rto_remark = escape_str($parent->_request['rto_remark']); $insurance_price = escape_str($parent->_request['insurance_price']); $insurance_remark = escape_str($parent->_request['insurance_remark']); $access_price = escape_str($parent->_request['access_price']); $access_remark = escape_str($parent->_request['access_remark']); $exwarr_price = escape_str($parent->_request['exwarr_price']); $exwarr_remark = escape_str($parent->_request['exwarr_remark']); $other_price = escape_str($parent->_request['other_price']); $other_remark = escape_str($parent->_request['other_remark']); $total_price = escape_str($parent->_request['total_price']); $total_remark = escape_str($parent->_request['total_remark']); $validity_date = escape_str($parent->_request['valid_date']); $discount = escape_str($parent->_request['offer_price']); $final_price = escape_str($parent->_request['after_discound']); if (!$validity_date != '') { $valid_day = 10; $validity_date = date('Y-m-d', strtotime('+ ' . $valid_day . ' day', strtotime(CUR_DATE))); } $sharetoken = TIMETOKEN . globalfunc::generateToken($parent, '', 32); $parent->executeQuery("INSERT INTO `" . TABLE_QUOTATIONSHARE . "` ( `smpin`, dealer_code, `sharetoken`, `name`, `mobile`, `email`, `model`, `variant`, `exsh_price`, `exsh_remark`, `rto_price`, `rto_remark`, `insurance_price`, `insurance_remark`, `access_price`, `access_remark`, `exwarr_price`, `exwarr_remark`, `other_price`, `other_remark`, `total_price`, `total_remark`,discount,final_price, `validity_date`, `created_on`, `modified_on`) VALUES ('" . $smpin . "','" . $dealer_code . "','" . $sharetoken . "', '" . $name . "', '" . $mobile . "', '" . $email . "', '" . $model . "', '" . $variant . "', '" . $exsh_price . "', '" . $exsh_remark . "', '" . $rto_price . "', '" . $rto_remark . "', '" . $insurance_price . "', '" . $insurance_remark . "', '" . $access_price . "', '" . $access_remark . "', '" . $exwarr_price . "', '" . $exwarr_remark . "', '" . $other_price . "', '" . $other_remark . "', '" . $total_price . "', '" . $total_remark . "','" . $discount . "','" . $final_price . "','" . $validity_date . "' ,'" . NOW . "', '" . NOW . "')"); //LOG $logstr = 'SHARE QUOTATION'; globalfunc::insertUserLog($parent, $logstr); $url = SITE_URL . "quotation/" . $sharetoken; //GET DEALER DETAILS $dealer_arr = $parent->selectQuery(DMS_DEALER, "*", "dealer_code='" . $dealer_code . "' AND is_deleted=0 ", "1"); $dealer_email = ($dealer_arr['nr'] > 0) ? $dealer_arr['result'][0]->email : ''; $obj = array(); $obj['from'] = SUPPORT_EMAIL; $obj['FromName'] = 'HYPER-M'; $obj['to'] = $email; if ($dealer_email != '') { $obj['cc'] = $dealer_email; } $obj['subject'] = 'HYPER-M - Quotation for ' . $check_arr['result'][0]->title . ' ' . $check_arr['result'][0]->variant; $explore_url = $url; $cond_mail_str1 = "Thank you for showing your interest in HYPER-M."; $cond_mail_str2 = "We hope you had a great experience in exploring our range of products"; $email_link = 'Click Here to view the Quotation for ' . $check_arr['result'][0]->title . ' ' . $check_arr['result'][0]->variant . '
'; $dealer_details = ''; if ($dealer_arr['nr'] > 0) { $dealer_details = $dealer_arr['result'][0]->dealer_name; $dealer_details .= ($dealer_arr['result'][0]->address != '') ? '
' . $dealer_arr['result'][0]->address : ''; $dealer_details .= ($dealer_arr['result'][0]->phone != '') ? '
Mob : ' . $dealer_arr['result'][0]->phone : ''; $dealer_details .= ($dealer_arr['result'][0]->email != '') ? '
Email : ' . $dealer_arr['result'][0]->email : ''; } $message = '
HYPER-M
Dear ' . $name . ',
Greetings of the Day..!
' . $cond_mail_str1 . '
' . $cond_mail_str2 . '

' . $email_link . ' Thank you again for your visit and we look forward to see you soon.

Regards,
' . $dealer_details . '
 
'; $obj['message'] = $message; // globalfunc::sendMai($parent, $obj); $parent->response(array('response' => 'success', 'data' => $url, 'message' => $this->page_data['success6']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// SHARE QUOTATION //////////////////////////////////////////////// */ // private function getquotation($parent) // { // globalfunc::checkParamCount($parent,2); // globalfunc::checkMethodType($parent,array('GET')); // globalfunc::checkAuthrozation($parent,array('type'=>'user')); // projectfunc::authorizedRole($parent,array('8','9','10','11','12','13')); // // $token=escape_str($parent->params[1]); // // //DMS_ENQUIRY_MODEL // $check_arr=$parent->selectQuery(TABLE_QUOTATIONSHARE ,"*","sharetoken='".$token."'","1"); // if(!$check_arr['nr']>0) // { // $client_ip=globalfunc::getIp($parent); // $sec=LOCK_ACCESS_MINUTES*60; // $expiry_time=date('Y-m-d H:i:s',strtotime('-'.$sec.' seconds',strtotime(NOW))); // $lock_qry_str="SELECT SUM(lock_count) lock_count FROM ".TABLE_LOCK_ACCESS." WHERE is_deleted='0' AND modified_on>='".$expiry_time."' AND ip='".$client_ip."' GROUP BY ip LIMIT 1"; // $lock_value=$parent->getQueryValue($lock_qry_str); // if(count($lock_value)>0 && $lock_value[0]->lock_count>=3) // { // $parent->response(array('response'=>'failed', 'message'=>'Sorry Invalid Access. Access Blocked For 10 min.'), 401); // } // globalfunc::insertLockLog($parent,$token); // $parent->response(array('response'=>'failed','message'=>$this->page_data['error6']),406); // } // $id=$check_arr['result'][0]->id; // $model_arr=$parent->selectQuery(DMS_ENQUIRY_MODEL ,"title,title_code,variant,variant_code"," title_code='".$check_arr['result'][0]->model."' AND variant_code='".$check_arr['result'][0]->variant."' ","1"); // $check_arr['result'][0]->model_str=($check_arr['nr']>0)?$model_arr['result'][0]->title:''; // $check_arr['result'][0]->variant_str=($check_arr['nr']>0)?$model_arr['result'][0]->variant:''; // // $data_arr=$check_arr['result'][0]; // // //LOG // $logstr='GET QUOTATION'; // globalfunc::insertUserLog($parent,$logstr,$id); // // // $parent->response(array('response'=>'success','data'=>$data_arr, 'message'=>$this->page_data['success1']),200); // } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PRICELIST //////////////////////////////////////////////// */ private function pricelist($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $model = escape_str($parent->_request['model']); $REQUEST_KEYS = array('model' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); //DMS_ENQUIRY_MODEL $check_arr = $parent->selectQuery(DMS_ENQUIRY_MODEL, "variant,variant_code", " title_code='" . $model . "' AND enq_yn='Y' AND status=1 GROUP BY variant_code ", ""); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error15']), 406); } $model_arr = $check_arr['result']; //DEALER $check_arr = $parent->selectQuery(DMS_DEALER, "dealer_code,for_cd", "dealer_code='" . $parent->current_user_data->dealer_code . "' AND for_cd!='' AND is_deleted=0 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error16']), 406); } $for_cd = $check_arr['result'][0]->for_cd; //CALL DMS $url = SUZ_DMS_URL; $post = array("query" => "BEGIN pkg_smipl_star_app.sp_vehicle_model_price(:p_model, :p_for, :p_pmc, :list_cursor, :p_err_cd, :p_err_msg); END;", "params" => '[{"title":"p_model","value":"' . $model . '","type":""},{"title":"p_for","value":"' . $for_cd . '","type":""},{"title":"p_pmc","value":"2","type":""},{"title":"list_cursor","value":"","type":"cursor"},{"title":"p_err_cd","value":"","type":""},{"title":"p_err_msg","value":"","type":""}]'); $header = array('Authorization:Bearer ' . SUZ_TOKEN); //LOG $obj = new stdClass(); $obj->type = 'modelprice'; $obj->apirequest = $post['params']; $log_id = projectfunc::cronLog($parent, $obj); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CURLOPT_POST, 1); // curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //Post Fields // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // $response = curl_exec($ch); // $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // curl_close($ch); $httpcode = '200'; $response=""; $error = 1; $count = 0; $vari_arr = array(); //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->apiresponse = $response; projectfunc::updateCronLog($parent, $obj); if ($httpcode == '200' && $response != '') { $json = json_decode($response); if (isset($json->response) && $json->response == 'success' && isset($json->data) && count($json->data) > 0) { //LOG UPDATE $obj = new stdClass(); $obj->id = $log_id; $obj->insert_count = count($json->data); $obj->status = 1; //$obj->apiresponse=$response; projectfunc::updateCronLog($parent, $obj); foreach ($json->data as $res) { $code = strtolower($res->VARIANT_CD); $vari_arr[$code] = $res->EXSH_PRICE; } foreach ($model_arr as $mkey => $val) { $error = 0; $variant_code = strtolower($model_arr[$mkey]->variant_code); $model_arr[$mkey]->exsh_price = (isset($vari_arr[$variant_code])) ? $vari_arr[$variant_code] : ''; $obj = new stdClass(); $obj->model = $model; $obj->variant = $variant_code; $obj->variantname = $model_arr[0]->variant; //print_r($obj); $model_arr[$mkey]->model_image = projectfunc::modelimage($parent, $obj); } } if ($json->response == 'success' && $json->data->p_err_msg != '') { $emsg = $json->data->p_err_msg; } } //LOG $logstr = 'ENQUIRY PRICE LIST'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $model_arr, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// TEST RIDE //////////////////////////////////////////////// */ private function testride($parent) { globalfunc::checkParamCount($parent, 2); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13')); $smpin = $parent->current_user_data->smpin; $id = escape_str($parent->params[1]); $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id", " smpin='" . $smpin . "' AND is_deleted=0 AND is_dms=1 AND id='" . $id . "'", "1"); if ($check_arr['nr'] != '1') { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } //CALL DMS //LOG $logstr = 'ENQUIRY TESTRIDE'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER LIST //////////////////////////////////////////////// */ private function getplannerdetails($parent, $id) { $list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", "id='" . $id . "' AND is_deleted=0", "1"); return ($list_arr['nr']) ? $list_arr['result'][0] : new stdClass(); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER LIST //////////////////////////////////////////////// */ private function plannerlist($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13', '14')); $userid = $parent->current_user_id; $type = escape_str($parent->_request['type']); $monthdata = array(); $todaydata = array(); $date_arr = array(); $REQUEST_KEYS = array('type' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); if ($type == 'month') { $REQUEST_KEYS = array('month' => 'number', 'year' => 'number'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $month = escape_str($parent->_request['month']); $year = escape_str($parent->_request['year']); if (!globalfunc::isValidDateTimeString($year . '-' . $month . '-01', 'Y-m-d', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error21']), 406); } $start_date = date('Y-m-d', strtotime($year . '-' . $month . '-01')); $end_date = date('Y-m-t', strtotime($year . '-' . $month . '-01')); $temp = $start_date; while (strtotime($temp) <= strtotime($end_date)) { $date_str = @explode('-', $temp); $value = $date_str[2]; $monthdata[$value] = array('date' => $temp, 'data' => array()); $temp = date('Y-m-d', strtotime('+ 1 day', strtotime($temp))); } $get_list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", " is_deleted='0' AND userid='" . $userid . "' AND plan_date>='" . $start_date . "' AND plan_date<='" . $end_date . "' ORDER BY plan_fromtime ASC", ""); if ($get_list_arr['nr'] > 0) { foreach ($get_list_arr['result'] as $res) { $value = date('d', strtotime($res->plan_date)); $monthdata[$value]['data'][] = $res; } } } else if ($type == 'today') { $start_date = CUR_DATE; $end_date = CUR_DATE; $get_list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", " is_deleted='0' AND userid='" . $userid . "' AND plan_date>='" . $start_date . "' AND plan_date<='" . $end_date . "' ORDER BY plan_fromtime ASC", ""); $todaydata = ($get_list_arr['nr'] > 0) ? $get_list_arr['result'] : array(); $monthdata = new stdClass(); } else if ($type == 'date') { $REQUEST_KEYS = array('date' => 'date|Y-m-d'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $date = escape_str($parent->_request['date']); $start_date = $date; $end_date = $date; $get_list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*,DATE_FORMAT(plan_date, '%d-%m-%Y')plandate,DATE_FORMAT(plan_fromtime, '%H:%i') fromtime,DATE_FORMAT(plan_totime, '%H:%i') totime", " is_deleted='0' AND userid='" . $userid . "' AND plan_date>='" . $start_date . "' AND plan_date<='" . $end_date . "' ORDER BY plan_fromtime ASC", ""); $date_arr = ($get_list_arr['nr'] > 0) ? $get_list_arr['result'] : array(); } else { $parent->response(array('response' => 'failed', 'message' => "Invalid type format"), 406); } $data = array('month' => $monthdata, 'today' => $todaydata, 'date' => $date_arr); //LOG $logstr = 'PLANNER LIST'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER INSERT //////////////////////////////////////////////// */ private function plannersave($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13', '14')); $userid = $parent->current_user_id; $REQUEST_KEYS = array('title' => 'string', 'description' => 'string', 'plandate' => 'string', 'fromtime' => 'string', 'totime' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $title = escape_str($parent->_request['title']); $description = escape_str($parent->_request['description']); $date = escape_str($parent->_request['plandate']); $date_arr = @explode('-', $date); $date_str = $date_arr[2] . "-" . $date_arr[1] . "-" . $date_arr[0]; $fromtime = escape_str($parent->_request['fromtime']); $totime = escape_str($parent->_request['totime']); if (!globalfunc::isValidDateTimeString($date_str, 'Y-m-d', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error18']), 406); } if (!globalfunc::isValidDateTimeString($date_str . " " . $fromtime . ":00", 'Y-m-d H:i:s', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error19']), 406); } if (!globalfunc::isValidDateTimeString($date_str . " " . $totime . ":00", 'Y-m-d H:i:s', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error19']), 406); } $fromdatetime = $date_str . " " . $fromtime; $todatetime = $date_str . " " . $totime; //CHECK SLOT ALREADY EXIST $list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*", " is_deleted='0' AND userid='" . $userid . "' AND ((plan_fromtime BETWEEN '" . $fromdatetime . "' AND '" . $todatetime . "') OR (plan_totime BETWEEN '" . $fromdatetime . "' AND '" . $todatetime . "') ) ", "1"); if ($list_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error20']), 406); } $parent->executeQuery("INSERT INTO `" . TABLE_ENQUIRYPLANNER . "` (`userid`, `plan_date`, `plan_title`, plan_description, `plan_fromtime`, `plan_totime`, `created_on`, `modified_on`) VALUES ('" . $userid . "','" . $date_str . "','" . $title . "','" . $description . "', '" . $fromdatetime . "','" . $todatetime . "','" . NOW . "', '" . NOW . "')"); $id = $parent->lastInsertId(); $data = $this->getplannerdetails($parent, $id); //LOG $logstr = 'PLANNER INSERT'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success3']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER UPDATE //////////////////////////////////////////////// */ private function plannerupdate($parent) { globalfunc::checkParamCount($parent, 2); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13', '14')); $userid = $parent->current_user_id; $id = escape_str($parent->params[1]); $list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*", "id='" . $id . "' AND is_deleted='0' AND userid='" . $userid . "'", "1"); if (!$list_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $REQUEST_KEYS = array('title' => 'string', 'description' => 'string', 'plandate' => 'string', 'fromtime' => 'string', 'totime' => 'string'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $title = escape_str($parent->_request['title']); $description = escape_str($parent->_request['description']); $date = escape_str($parent->_request['plandate']); $date_arr = @explode('-', $date); $date_str = $date_arr[2] . "-" . $date_arr[1] . "-" . $date_arr[0]; $fromtime = escape_str($parent->_request['fromtime']); $totime = escape_str($parent->_request['totime']); if (!globalfunc::isValidDateTimeString($date_str, 'Y-m-d', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error18']), 406); } if (!globalfunc::isValidDateTimeString($date_str . " " . $fromtime . ":00", 'Y-m-d H:i:s', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error19']), 406); } if (!globalfunc::isValidDateTimeString($date_str . " " . $totime . ":00", 'Y-m-d H:i:s', 'Asia/Kolkata')) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error19']), 406); } $fromdatetime = $date_str . " " . $fromtime; $todatetime = $date_str . " " . $totime; //CHECK SLOT ALREADY EXIST $list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*", " is_deleted='0' AND id!='" . $id . "' AND userid='" . $userid . "' AND ((plan_fromtime BETWEEN '" . $fromdatetime . "' AND '" . $todatetime . "') OR (plan_totime BETWEEN '" . $fromdatetime . "' AND '" . $todatetime . "') ) ", "1"); if ($list_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error20']), 406); } $parent->executeQuery("UPDATE " . TABLE_ENQUIRYPLANNER . " SET `plan_date`='" . $date_str . "', `plan_title`='" . $title . "', plan_description='" . $description . "', `plan_fromtime`='" . $fromdatetime . "', `plan_totime`='" . $todatetime . "', `modified_on`='" . NOW . "' WHERE id='" . $id . "'"); $data = $this->getplannerdetails($parent, $id); //LOG $logstr = 'PLANNER UPDATE'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success4']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER DELETE //////////////////////////////////////////////// */ private function plannerdelete($parent) { globalfunc::checkParamCount($parent, 2); globalfunc::checkMethodType($parent, array('DELETE')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); projectfunc::authorizedRole($parent, array('8', '9', '10', '11', '12', '13', '14')); $userid = $parent->current_user_id; $id = escape_str($parent->params[1]); $list_arr = $parent->selectQuery(TABLE_ENQUIRYPLANNER, "*", "id='" . $id . "' AND is_deleted='0' AND userid='" . $userid . "'", "1"); if (!$list_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $parent->executeQuery("UPDATE " . TABLE_ENQUIRYPLANNER . " SET is_deleted=1, `modified_on`='" . NOW . "' WHERE id='" . $id . "'"); //LOG $logstr = 'PLANNER DELETE'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'message' => $this->page_data['success5']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER TIMER //////////////////////////////////////////////// */ private function plannertimer($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('GET')); $t_arr = array("00", "30"); for ($i = 6; $i < 23; $i++) { $m = ($i < 10) ? "0" . $i : $i; foreach ($t_arr as $tstr) { //$t=($tstr<10)?"0".$tstr:$tstr; $tvalue = $m . ":" . $tstr; $time_arr[] = array('title' => $tvalue, 'title_code' => $tvalue); } } $data = $time_arr; //LOG $logstr = 'PLANNER TIMER'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// SMPIN DEALER //////////////////////////////////////////////// */ private function smpindealer($parent) { globalfunc::checkParamCount($parent, 2); globalfunc::checkMethodType($parent, array('GET')); $smpin = escape_str($parent->params[1]); $dse_details = $this->getdsedetails($parent, $smpin); $dealer_arr = $parent->selectQuery(DMS_DEALER, "dealer_code,dealer_name,phone,email,address,state,city", " dealer_code='" . $dse_details->dealer_code . "' ", "1"); $data = ($dealer_arr['nr'] > 0) ? $dealer_arr['result'] : array(); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// DEALER //////////////////////////////////////////////// */ private function dealer($parent) { globalfunc::checkParamCount($parent, 2); globalfunc::checkMethodType($parent, array('GET')); $dealer_code = escape_str($parent->params[1]); $dealer_arr = $parent->selectQuery(DMS_DEALER, "dealer_code,dealer_name,phone,email,address,state,city", " dealer_code='" . $dealer_code . "' ", "1"); $data = ($dealer_arr['nr'] > 0) ? $dealer_arr['result'] : array(); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* /////////////////////////////// PLANNER TIMER //////////////////////////////////////////////// */ private function getdsedetails($parent, $smpin) { $data = $parent->selectQuery(DMS_EMPLOYEE, "*", "smpin='" . $smpin . "' AND status=1", "1"); if (!$data['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error1']), 406); } return $data['result'][0]; } /* /////////////////////////////// COMMON //////////////////////////////////////////////// */ private function followupcommon($parent) { globalfunc::checkMethodType($parent, array('GET')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); $purpose_data = $parent->selectQuery(DMS_ENQUIRY_PURPOSE, "id,title,title_code", " status='1'", ""); $modeofcontact_data = $parent->selectQuery(DMS_ENQUIRY_MODE, "title,title_code", " status='1' ", ""); $purpose_arr = ($purpose_data['nr'] > 0) ? $purpose_data['result'] : array(); $modeofcontact_arr = ($modeofcontact_data['nr'] > 0) ? $modeofcontact_data['result'] : array(); $t_arr = array("00", "30"); for ($i = 9; $i < 19; $i++) { $m = ($i < 10) ? "0" . $i : $i; foreach ($t_arr as $tstr) { //$t=($tstr<10)?"0".$tstr:$tstr; $tvalue = $m . ":" . $tstr; $time_arr[] = array('title' => $tvalue, 'title_code' => $tvalue); } } //LOST REASON $lostreason = array(); $reason_data = $parent->selectQuery(DMS_ENQUIRY_REASON, "list_desc title,list_code title_code", " list_flag='L' AND status=1", ""); if ($reason_data['nr'] > 0) { foreach ($reason_data['result'] as $rkey => $res) { $subreason_data = $parent->selectQuery(DMS_ENQUIRY_SUBREASON, "list_desc title,list_code title_code", " reason_code='" . $res->title_code . "' AND status=1", ""); $reason_data['result'][$rkey]->subreason = ($subreason_data['nr'] > 0) ? $subreason_data['result'] : array(); } $lostreason = $reason_data['result']; } //POSTPONED REASON $reason_data = $parent->selectQuery(DMS_ENQUIRY_REASON, "list_desc title,list_code title_code", " list_flag='E' AND status=1", ""); $postponedreason = ($reason_data['nr'] > 0) ? $reason_data['result'] : array(); //LOST MODEL $lost_data = $parent->selectQuery(DMS_ENQUIRY_LOSTMODEL, "cmodel_desc title,cmodel_cd title_code", " status=1", ""); $lost_model = ($lost_data['nr'] > 0) ? $lost_data['result'] : array(); $data = array('purpose' => $purpose_arr, 'time' => $time_arr, 'modeofcontact' => $modeofcontact_arr, 'lostreason' => $lostreason, 'postponedreason' => $postponedreason, 'lost_model' => $lost_model); //LOG $logstr = 'ENQUIRY FOLLOWUP COMMON'; globalfunc::insertUserLog($parent, $logstr); $parent->response(array('response' => 'success', 'data' => $data, 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* ///////////////////////// TESTRIDE UPDATE //////////////////// */ private function testrideupdate($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); $REQUEST_KEYS = array('id' => 'number', 'license' => 'string', 'license_expiry' => 'date|d-m-Y'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $id = escape_str($parent->_request['id']); $license = escape_str($parent->_request['license']); $license_expiry_str = escape_str($parent->_request['license_expiry']); $date_arr = @explode("-", $license_expiry_str); $license_expiry = $date_arr[2] . "-" . $date_arr[1] . "-" . $date_arr[0]; //CHECK SLOT ALREADY EXIST $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id,mobile ", " id='" . $id . "' AND is_dms=1 AND is_deleted=0 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } $otp = globalfunc::generateOTP(); $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET license='" . $license . "',license_expiry='" . $license_expiry . "',otp='" . $otp . "' WHERE id='" . $id . "' "); $mobile = $check_arr['result'][0]->mobile; $sms_message = "Your one time password is " . $otp; // globalfunc::sendSMS($parent, $mobile, $sms_message); //LOG $logstr = 'TESTRIDE UPDATE'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ /* ///////////////////////// TESTRIDE OTP //////////////////// */ private function testrideotp($parent) { globalfunc::checkParamCount($parent, 1); globalfunc::checkMethodType($parent, array('POST')); globalfunc::checkAuthrozation($parent, array('type' => 'user')); $REQUEST_KEYS = array('id' => 'number', 'otp' => 'number'); globalfunc::mandatoryKey($parent, $REQUEST_KEYS); $id = escape_str($parent->_request['id']); $otp = escape_str($parent->_request['otp']); //CHECK SLOT ALREADY EXIST $check_arr = $parent->selectQuery(DMS_ENQUIRY_MASTER, "id,otp ", " id='" . $id . "' AND is_dms=1 AND is_deleted=0 ", "1"); if (!$check_arr['nr'] > 0) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error6']), 406); } if ($otp != $check_arr['result'][0]->otp) { $parent->response(array('response' => 'failed', 'message' => $this->page_data['error3']), 406); } $parent->executeQuery("UPDATE `" . DMS_ENQUIRY_MASTER . "` SET is_testride=1 WHERE id='" . $id . "' "); //LOG $logstr = 'TESTRIDE OTP'; globalfunc::insertUserLog($parent, $logstr, $id); $parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200); } /* //////////////////////////////////////////////////////////////////////////////////////////// */ }