page_data = globalfunc::getMessage($parent, $parent->lang, 'explore');
if (count($parent->params) == 0) {
$parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404);
} else {
$qry_params = explode("?", $parent->params[0]);
$parameter_val = strtolower($qry_params[0]);
switch ($parameter_val) {
case "model":
case "images360":
case "newimages360":
case "comparison":
case "salesprocess":
case "variant":
case "enquiry":
case "customer":
case "customerfeedback":
case "customerenquiry":
case "accessories_riders":
case "accessories_bikes":
case "smpindetails":
case "contentlist":
$this->$parameter_val($parent);
break;
}
}
$parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404);
}
// GET SMPIN Number of CE
private function smpindetails($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkAuthrozation($parent, array('type' => 'user'));
globalfunc::checkParamCount($parent, 1);
$dealer_code = $parent->current_user_data->dealer_code;
$query_userarr = $parent->selectQuery(TABLE_USER . " u JOIN " . DMS_EMPLOYEE . " as e ON e.smpin=u.smpin ", " u.`userid`,u.`smpin`,u.`emp_code`,u. `fname`,u. `lname` ", "u.is_deleted=0 AND u.status=1 AND u.dealer_code = '" . $dealer_code . "' AND u.role>7 AND u.role NOT IN (14,16,17) AND e.segment=1 ORDER BY u.created_on ASC", "");
if (!$query_userarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
$parent->response(array('response' => 'success', 'data' => $query_userarr['result'], 'message' => $this->page_data['success1']), 200);
}
//GET MODEL ALL MODEL EXLPORE FRONT PAGE
private function model($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$cond = '';
//ROLE WISE CONDITION
switch ($parent->current_user_role) {
case '0':
case 'guest':
$cond = " AND model_type='" . $parent->exp_model_type . "'";
break;
case '15':
$cond = " AND model_type='1'";
break;
case '16':
$cond = " AND model_type='0' AND is_experience=1 ";
break;
case '17':
$cond = " AND is_experience=1 ";
break;
default:
$cond = " AND model_type='0'";
break;
}
if (count($parent->params) != 1) {
globalfunc::checkParamCount($parent, 2);
$model_id = escape_str($parent->params['1']);
$cond .= " AND model_id='" . $model_id . "'";
} else {
globalfunc::checkParamCount($parent, 1);
$filter_arr = globalfunc::getFilterValues($parent, $parent->params[0]);
if (isset($filter_arr) && isset($filter_arr['model'])) {
$model_type = escape_str($filter_arr['model']);
switch ($filter_arr['model']) {
case 'big':
$cond .= " AND model_type='1'";
break;
case 'normal':
$cond .= " AND model_type='0'";
break;
default:
$cond .= " AND model_type='0'";
break;
}
$cond .= '';
}
}
$append_url = SITE_URL . "explore_assets/model/" . strtolower($parent->device_type) . "/";
$brochure_url = SITE_URL . "explore_assets/model/";
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id`,`title`,`description`, `model_name`, CASE WHEN model_image!='' THEN CONCAT('" . $append_url . "',model_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_image_url', CASE WHEN model_brochure!='' THEN CONCAT('" . $brochure_url . "',model_brochure) ELSE '' END AS 'model_brochure',CASE WHEN model_banner_image!='' THEN CONCAT('" . $append_url . "',model_banner_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_banner_image_url' , CASE WHEN model_brochure_image!='' THEN CONCAT('" . $append_url . "',model_brochure_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_brochure_image_url' ", "is_deleted=0 AND is_other=0 " . $cond . " ORDER BY position ASC,model_id ASC", "");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
//LOG
$logstr = 'EXPLORE MODEL';
globalfunc::insertUserLog($parent, $logstr);
if (count($parent->params) == 1) {
$parent->response(array('response' => 'success', 'data' => $query_modelarr['result'], 'message' => $this->page_data['success1']), 200);
} else {
$parent->response(array('response' => 'success', 'data' => $query_modelarr['result'][0], 'message' => $this->page_data['success1']), 200);
}
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//GET 360 IMAGES AND ZIP OF MODEL
private function images360($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$model_id = escape_str($parent->params['1']);
//COMPARE MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, "*", "model_id='" . $model_id . "' AND is_other=0", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
//ASSETS VERSION
$query_verarr = $parent->selectQuery(TABLE_MODEL_360ASSETS_VERSION, "*", "model_id='" . $model_id . "' ORDER BY file_version DESC", "1");
if (!$query_verarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"]), 406);
}
if (!file_exists('../../explore_assets/360/' . $model_id . '/')) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"]), 406);
}
$append_url = SITE_URL . "explore_assets/360/" . $model_id . '/';
$version = $query_verarr['result'][0]->file_version;
// GET 360 MODEL
$query_filearr = $parent->selectQuery(TABLE_MODEL_360IMAGE, "*,CASE WHEN image!='' THEN CONCAT('" . $append_url . "',image) ELSE '" . NOIMAGE_URL . "' END AS 'image_url' ", "model_id='" . $model_id . "' AND is_deleted=0 ORDER BY position ASC", "");
if (file_exists('../../explore_assets/360/' . $model_id . '/' . $version . '.zip')) {
//FILE ALREDY EXIST;
if ($query_filearr['nr'] > 0) {
$path_arr = @explode('services\_api', APPLICATION_PATH);
$path_arr[0] = str_replace('\\', '/', realpath($path_arr[0]));
$root_path = $path_arr[0];
foreach ($query_filearr['result'] as $key => $res_val) {
//GET POINTS
$query_hotspotarr = $parent->selectQuery(TABLE_MODEL_360IMAGE_HOTSPOT . " h LEFT JOIN " . TABLE_HOTSPOT_CONTENT . " c ON h.contentid=c.id", "h.*,c.`title`, c.`description`, c.`file`,CASE WHEN c.`file`!='' THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) ELSE '' END AS file_url , c.`file_type`,CASE WHEN (c.`file_type` IN (2) ) THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`thumb_image`) ELSE CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) END AS thumb_image_url", "h.image_id='" . $res_val->id . "' AND h.is_deleted=0", "");
$query_filearr['result'][$key]->hotspot = array();
if ($query_hotspotarr['nr'] > 0) {
foreach ($query_hotspotarr['result'] as $m => $res_p) {
$query_hotspotarr['result'][$m]->point_arr = json_decode($res_p->pointvalue);
}
$query_filearr['result'][$key]->hotspot = $query_hotspotarr['result'];
}
}
} else {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"]), 406);
}
} else {
$file_arr = array();
$missingfile_arr = array();
if ($query_filearr['nr'] > 0) {
// print_r(APPLICATION_PATH);
$path_arr = @explode('services' . DIRECTORY_SEPARATOR . '_api', APPLICATION_PATH);
// print_r($path_arr);
$path_arr[0] = str_replace('\\', '/', realpath($path_arr[0]));
$root_path = $path_arr[0];
foreach ($query_filearr['result'] as $key => $res_val) {
if (file_exists('../../explore_assets/360/' . $model_id . '/' . $res_val->image)) {
$file_arr[] = $root_path . '/explore_assets/360/' . $model_id . '/' . $res_val->image;
} else {
$missingfile_arr[] = 'explore_assets/360/' . $model_id . '/' . $res_val->image;
}
//GET POINTS
$query_hotspotarr = $parent->selectQuery(TABLE_MODEL_360IMAGE_HOTSPOT . " h LEFT JOIN " . TABLE_HOTSPOT_CONTENT . " c ON h.contentid=c.id", "h.*,c.`title`, c.`description`, c.`file`,CASE WHEN c.`file`!='' THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) ELSE '' END AS file_url ,CASE WHEN (c.`file_type` IN (2) ) THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`thumb_image`) ELSE CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) END AS thumb_image_url, c.`file_type`", "h.image_id='" . $res_val->id . "' AND h.is_deleted=0", "");
$query_filearr['result'][$key]->hotspot = array();
if ($query_hotspotarr['nr'] > 0) {
foreach ($query_hotspotarr['result'] as $m => $res_p) {
$query_hotspotarr['result'][$m]->point_arr = json_decode($res_p->pointvalue);
}
$query_filearr['result'][$key]->hotspot = $query_hotspotarr['result'];
}
}
if (count($missingfile_arr) > 0) {
$parent->response(array('response' => 'failed', 'data' => $missingfile_arr, 'message' => $this->page_data["error2"]), 406);
}
$returnzip = $this->zipFile($parent, '../../explore_assets/360/' . $model_id . '/', '../../explore_assets/360/' . $model_id . '/' . $version . '.zip', true, $version, $file_arr);
} else {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"]), 406);
}
}
//LOG
$logstr = 'EXPLORE 360MODEL';
globalfunc::insertUserLog($parent, $logstr);
$data_arr = array('version' => $query_verarr['result'][0]->file_version, 'zip' => SITE_URL . 'explore_assets/360/' . $model_id . '/' . $version . '.zip', 'imagelist' => $query_filearr['result']);
$parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//ZIP FILE GENERATE
private function zipFile($parent, $source, $destination, $flag = '', $version, $file_arr)
{
if (!extension_loaded('zip') || !file_exists($source)) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"]), 406);
}
$zip = new ZipArchive();
if (!$zip->open($destination, ZIPARCHIVE::CREATE)) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"]), 406);
}
$source = str_replace('\\', '/', realpath($source));
if (is_dir($source) === true) {
$i = 0;
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
//print_r($file_arr);
foreach ($files as $file) {
$file = str_replace('\\', '/', realpath($file));
//echo $file;
// print_r($file);
// print_r($file_arr);
if (in_array($file, $file_arr)) {
// echo $file;
if (is_dir($file) === true) {
//$zip->addEmptyDir(str_replace($source . '/', '', $flag.$file . '/'));
} else if (is_file($file) === true) {
$zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));
}
}
$i++;
}
} else if (is_file($source) === true) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"], "type" => "1"), 406);
} else {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"], "type" => "2"), 406);
}
$zip->close();
chmod($destination, 0777);
return $destination;
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//GET NEW 360 IMAGES AND ZIP OF MODEL
private function newimages360($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$model_id = escape_str($parent->params['1']);
//COMPARE MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, "*", "model_id='" . $model_id . "' AND is_other=0", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
//COMPARE MODEL VARIANT
$query_model_variantarr = $parent->selectQuery(TABLE_MODEL_360VARIANT, "*", "model_id='" . $model_id . "' ", "");
if (!$query_model_variantarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error4"]), 406);
}
//VARAIANT LOOP
foreach ($query_model_variantarr['result'] as $res_var) {
$variant_id = $res_var->id;
//ASSETS VERSION
$query_verarr = $parent->selectQuery(TABLE_MODEL_360ASSETS_VERSION, "*", "model_id='" . $model_id . "' AND variant_id='" . $variant_id . "' ORDER BY file_version DESC", "1");
if (!$query_verarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"], "type" => "3"), 406);
}
if (!file_exists('../../explore_assets/360/' . $model_id . '/' . $variant_id . '/')) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"], "type" => "4"), 406);
} else {
chmod('../../explore_assets/360/' . $model_id . '/' . $variant_id . '/', 0777);
}
}
$path_arr = @explode('services' . DIRECTORY_SEPARATOR . '_api', APPLICATION_PATH);
$path_arr[0] = str_replace('\\', '/', realpath($path_arr[0]));
$root_path = $path_arr[0];
foreach ($query_model_variantarr['result'] as $vkey => $res_var) {
$variant_id = $res_var->id;
$append_url = SITE_URL . "explore_assets/360/" . $model_id . '/' . $variant_id . '/';
$version = $query_verarr['result'][0]->file_version;
// GET 360 MODEL
$query_filearr = $parent->selectQuery(TABLE_MODEL_360IMAGE, "*,CASE WHEN image!='' THEN CONCAT('" . $append_url . "',image) ELSE '" . NOIMAGE_URL . "' END AS 'image_url' ", "model_id='" . $model_id . "' AND variant_id='" . $variant_id . "' AND is_deleted=0 ORDER BY position ASC", "");
if (file_exists('../../explore_assets/360/' . $model_id . '/' . $variant_id . '/' . $version . '.zip')) {
//FILE ALREDY EXIST;
if ($query_filearr['nr'] > 0) {
//$path_arr=@explode('services\_api',APPLICATION_PATH);
//$path_arr[0] = str_replace('\\', '/', realpath($path_arr[0]));
//$root_path=$path_arr[0];
foreach ($query_filearr['result'] as $key => $res_val) {
//GET POINTS
$query_hotspotarr = $parent->selectQuery(TABLE_MODEL_360IMAGE_HOTSPOT . " h LEFT JOIN " . TABLE_HOTSPOT_CONTENT . " c ON h.contentid=c.id", "h.*,c.`title`, c.`description`, c.`file`,CASE WHEN c.`file`!='' THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) ELSE '' END AS file_url , c.`file_type`,CASE WHEN (c.`file_type` IN (2) ) THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`thumb_image`) ELSE CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) END AS thumb_image_url", "h.image_id='" . $res_val->id . "' AND h.is_deleted=0", "");
$query_filearr['result'][$key]->hotspot = array();
if ($query_hotspotarr['nr'] > 0) {
foreach ($query_hotspotarr['result'] as $m => $res_p) {
$query_hotspotarr['result'][$m]->point_arr = json_decode($res_p->pointvalue);
}
$query_filearr['result'][$key]->hotspot = $query_hotspotarr['result'];
}
}
} else {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"], "type" => "5"), 406);
}
} else {
$file_arr = array();
$missingfile_arr = array();
if ($query_filearr['nr'] > 0) {
// print_r(APPLICATION_PATH);
foreach ($query_filearr['result'] as $key => $res_val) {
if (file_exists('../../explore_assets/360/' . $model_id . '/' . $variant_id . '/' . $res_val->image)) {
$file_arr[] = $root_path . '/explore_assets/360/' . $model_id . '/' . $variant_id . '/' . $res_val->image;
} else {
$missingfile_arr[] = 'explore_assets/360/' . $model_id . '/' . $variant_id . '/' . $res_val->image;
}
//GET POINTS
$query_hotspotarr = $parent->selectQuery(TABLE_MODEL_360IMAGE_HOTSPOT . " h LEFT JOIN " . TABLE_HOTSPOT_CONTENT . " c ON h.contentid=c.id", "h.*,c.`title`, c.`description`, c.`file`,CASE WHEN c.`file`!='' THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) ELSE '' END AS file_url ,CASE WHEN (c.`file_type` IN (2) ) THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`thumb_image`) ELSE CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) END AS thumb_image_url, c.`file_type`", "h.image_id='" . $res_val->id . "' AND h.is_deleted=0", "");
$query_filearr['result'][$key]->hotspot = array();
if ($query_hotspotarr['nr'] > 0) {
foreach ($query_hotspotarr['result'] as $m => $res_p) {
$query_hotspotarr['result'][$m]->point_arr = json_decode($res_p->pointvalue);
}
$query_filearr['result'][$key]->hotspot = $query_hotspotarr['result'];
}
}
if (count($missingfile_arr) > 0) {
$parent->response(array('response' => 'failed', 'data' => $missingfile_arr, 'message' => $this->page_data["error2"], "type" => "6"), 406);
}
$returnzip = $this->zipFile($parent, '../../explore_assets/360/' . $model_id . '/' . $variant_id . '/', '../../explore_assets/360/' . $model_id . '/' . $variant_id . '/' . $version . '.zip', true, $version, $file_arr);
} else {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error2"], "type" => "7"), 406);
}
}
$query_model_variantarr['result'][$vkey]->version = $version;
$query_model_variantarr['result'][$vkey]->zip = SITE_URL . 'explore_assets/360/' . $model_id . '/' . $variant_id . '/' . $version . '.zip';
$query_model_variantarr['result'][$vkey]->imagelist = $query_filearr['result'];
}
//LOG
$logstr = 'EXPLORE 360MODEL';
globalfunc::insertUserLog($parent, $logstr);
//$data_arr= array('version'=>$query_verarr['result'][0]->file_version,'zip'=>SITE_URL.'explore_assets/360/'.$model_id.'/'.$version.'.zip','imagelist'=>$query_filearr['result']);
$parent->response(array('response' => 'success', 'data' => $query_model_variantarr['result'], 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODEL COMPARISON
private function comparison($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$append_url = SITE_URL . "explore_assets/model/web/"; // DUE IMAGE CONFILCT IN Comparison
$model_id = escape_str($parent->params['1']);
//GET MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id`,`title`,`description`, `model_name`, CASE WHEN model_image!='' THEN CONCAT('" . $append_url . "',model_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_image_url' ", "model_id='" . $model_id . "' AND is_other=0 ", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
if ($parent->current_user_role == 0 && $parent->current_user_id == 'guest') {
$cond = " AND model_type='" . $parent->exp_model_type . "'";
} else {
//GET COMPARE CATEGORY
$cond = ($parent->current_user_role == '15') ? " AND model_type='1'" : " AND model_type='0'";
}
$append_url = SITE_URL . "explore_assets/model/" . strtolower($parent->device_type) . "/";
$cat_id_arr = array();
$query_catgrouparr = $parent->selectQuery(TABLE_COMPARE_FIELDS, "cat_id", "is_deleted='0' AND id IN (SELECT field_id FROM " . TABLE_COMPARE_VALUE . " WHERE model_id='" . $model_id . "' ) GROUP BY cat_id", "");
if ($query_catgrouparr['nr'] > 0) {
foreach ($query_catgrouparr['result'] as $res) {
$cat_id_arr[] = $res->cat_id;
}
$cond .= " AND id in (" . @implode(",", $cat_id_arr) . ")";
}
$query_catarr = $parent->selectQuery(TABLE_COMPARE_CATEGORY, "id,cat_title as title", "is_deleted='0' " . $cond . " ORDER BY cat_pos,id ASC", "");
$check_arr = array();
$category_arr = array();
if ($query_catarr['nr'] > 0) {
foreach ($query_catarr['result'] as $m => $res_cat) {
//COMPARE FIELDS
$query_fieldarr = $parent->selectQuery(TABLE_COMPARE_FIELDS, "id,title", "is_deleted='0' AND cat_id='" . $res_cat->id . "' AND id IN (SELECT field_id FROM " . TABLE_COMPARE_VALUE . " WHERE model_id='" . $model_id . "' ) ORDER BY position,id ASC", "");
if ($query_fieldarr['nr'] > 0) {
foreach ($query_fieldarr['result'] as $n => $res_field) {
//COMPARE VALUE
$query_fieldvaluearr = $parent->selectQuery(TABLE_COMPARE_VALUE, "cvalue", "is_deleted='0' AND field_id='" . $res_field->id . "' AND model_id='" . $model_id . "'", "1");
$query_fieldarr['result'][$n]->value = ($query_fieldvaluearr['nr']) ? $query_fieldvaluearr['result'][0]->cvalue : "";
$check_arr[$res_field->id] = $query_fieldarr['result'][$n]->value;
}
}
$query_catarr['result'][$m]->fields = ($query_fieldarr['nr'] > 0) ? $query_fieldarr['result'] : array();
$category_arr[] = (array) $query_catarr['result'][$m];
}
// $category_arr=$query_catarr['result'];
}
//COMPARE MODEL
$compare_model_arr = array();
$query_othmodelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id`,`title`,`description`, `model_name`, CASE WHEN model_image!='' THEN CONCAT('" . $append_url . "',model_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_image_url' ", " is_other='1' AND FIND_IN_SET('" . $model_id . "',compare_model) AND is_deleted='0' ORDER BY position ASC,model_id ASC ", "");
if ($query_othmodelarr['nr'] > 0) {
foreach ($query_othmodelarr['result'] as $val => $res_oth) {
$comp_check_arr = array();
//CATEGORY
$comp_category_arr = array();
if ($query_catarr['nr'] > 0) {
foreach ($query_catarr['result'] as $m => $res_cat) {
//COMPARE FIELDS
$query_fieldarr = $parent->selectQuery(TABLE_COMPARE_FIELDS, "id,title", "is_deleted='0' AND cat_id='" . $res_cat->id . "' AND id IN (SELECT field_id FROM " . TABLE_COMPARE_VALUE . " WHERE model_id='" . $model_id . "' ) ORDER BY position,id ASC", "");
if ($query_fieldarr['nr'] > 0) {
foreach ($query_fieldarr['result'] as $n => $res_field) {
$query_fieldarr['result'][$n]->is_equal = 0;
// echo "is_deleted='0' AND field_id='".$res_field->id."' AND model_id='".$res_oth->model_id."'";
$query_fieldvaluearr = $parent->selectQuery(TABLE_COMPARE_VALUE, "cvalue", "is_deleted='0' AND field_id='" . $res_field->id . "' AND model_id='" . $res_oth->model_id . "' ", "1");
$query_fieldarr['result'][$n]->value = ($query_fieldvaluearr['nr']) ? $query_fieldvaluearr['result'][0]->cvalue : "";
$comp_check_arr[$res_field->id] = $query_fieldarr['result'][$n]->value;
$query_fieldarr['result'][$n]->is_equal = (isset($check_arr[$res_field->id]) && trim($check_arr[$res_field->id]) == ($comp_check_arr[$res_field->id])) ? "1" : "0";
}
}
$query_catarr['result'][$m]->fields = ($query_fieldarr['nr'] > 0) ? $query_fieldarr['result'] : array();
$comp_category_arr[] = (array) $query_catarr['result'][$m];
}
}
$compare_model_arr[] = array('model' => $res_oth, 'category' => $comp_category_arr);
}
}
//LOG
$logstr = 'EXPLORE COMPARISON';
globalfunc::insertUserLog($parent, $logstr);
//print_r($category_arr);
$data_arr = array('model' => $query_modelarr['result'][0], 'category' => $category_arr, 'compare_model' => $compare_model_arr);
$parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODELS SALES PROCESS
private function salesprocess($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$model_id = escape_str($parent->params['1']);
//CHECK MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id` ", "model_id='" . $model_id . "' AND is_other=0 ", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
//GET MASTER VIEW TYPE
$query_typearr = $parent->selectQuery(TABLE_IMAGE_VIEW_TYPE, "id,title", "is_deleted='0' AND id IN (SELECT view_id FROM " . TABLE_MODEL_IMAGE_VIEW . " WHERE model_id='" . $model_id . "') ORDER BY position,id ASC ", "");
$append_url = SITE_URL . "explore_assets/sales/";
$data_arr = array();
if ($query_typearr['nr'] > 0) {
foreach ($query_typearr['result'] as $m => $res_type) {
//GET MASTER VIEW TYPE IMAGES
$query_typearr['result'][$m]->image = new stdClass();
$query_model_imagearr = $parent->selectQuery(TABLE_MODEL_IMAGE_VIEW, "*,CASE WHEN image!='' THEN CONCAT('" . $append_url . "',image) ELSE '" . NOIMAGE_URL . "' END AS 'image_url'", "is_deleted=0 AND model_id='" . $model_id . "' AND view_id='" . $res_type->id . "'", "1");
if ($query_model_imagearr['nr'] > 0) {
foreach ($query_model_imagearr['result'] as $n => $res_model) {
$query_model_imagearr['result'][$n]->hotspot = array();
//HOTSPOT IMAGES AND CONTENT
$query_hotspotarr = $parent->selectQuery(TABLE_MODEL_VIEW_HOTSPOT . " h LEFT JOIN " . TABLE_HOTSPOT_CONTENT . " c ON h.contentid=c.id", "h.*,c.`title`, c.`description`, c.`file`,CASE WHEN c.`file`!='' THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) ELSE '' END AS file_url ,CASE WHEN (c.`file_type` IN (2) ) THEN CONCAT('" . SITE_URL . "explore_assets/content/',c.`thumb_image`) ELSE CONCAT('" . SITE_URL . "explore_assets/content/',c.`file`) END AS thumb_image_url, c.`file_type`", "h.view_id='" . $res_model->id . "' AND h.is_deleted=0", "");
if ($query_hotspotarr['nr'] > 0) {
foreach ($query_hotspotarr['result'] as $k => $res_p) {
$query_hotspotarr['result'][$k]->point_arr = json_decode($res_p->pointvalue);
}
$query_model_imagearr['result'][$n]->hotspot = $query_hotspotarr['result'];
}
}
$query_typearr['result'][$m]->image = (array) $query_model_imagearr['result'][0];
}
}
$data_arr = $query_typearr['result'];
}
//LOG
$logstr = 'EXPLORE SALEPROCESS';
globalfunc::insertUserLog($parent, $logstr);
$parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODELS VARIANT
private function variant($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$model_id = escape_str($parent->params['1']);
//CHECK MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id` ", "model_id='" . $model_id . "' AND is_other=0 ", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
$append_url = SITE_URL . "explore_assets/variant/";
$data_arr = array();
//GET MODEL VARIANT
$query_variantarr = $parent->selectQuery(TABLE_MODEL_VARIANT, "`id`, `model_id`, `title`,`position`", "model_id='" . $model_id . "' AND is_deleted=0 ORDER BY position,id ", "");
if ($query_variantarr['nr'] > 0) {
foreach ($query_variantarr['result'] as $m => $res_var) {
$query_variantarr['result'][$m]->color = array();
//GET MODEL VARIANT COLOR
$query_colorarr = $parent->selectQuery(TABLE_MODEL_VARIANT_COLOR, "*, CASE WHEN image!='' THEN CONCAT('" . $append_url . "',image) ELSE '" . NOIMAGE_URL . "' END AS 'image_url'", "variant_id='" . $res_var->id . "' AND is_deleted=0 ORDER BY position,id ", "");
if ($query_colorarr['nr'] > 0) {
$query_variantarr['result'][$m]->color = $query_colorarr['result'];
}
}
$data_arr = $query_variantarr['result'];
}
//LOG
$logstr = 'EXPLORE VARIANT';
globalfunc::insertUserLog($parent, $logstr);
$parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODELS ENQUIRY
private function enquiry($parent)
{
globalfunc::checkMethodType($parent, array('POST'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$model_id = escape_str($parent->params['1']);
//CHECK MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id`,model_type ", "model_id='" . $model_id . "' AND is_other=0 ", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
$REQUEST_KEYS = array('variant_id' => 'integer', 'name' => 'string', 'mobile' => 'string', 'email' => 'string');
globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
$variant_id = escape_str($parent->_request['variant_id']);
$name = escape_str($parent->_request['name']);
$mobile = escape_str($parent->_request['mobile']);
$email = escape_str($parent->_request['email']);
$is_brochure = escape_str($parent->_request['is_brochure']);
$is_brochure = ($is_brochure == '1') ? "1" : "0";
$token = ($query_modelarr['result'][0]->model_type == '1') ? MODE_TWO_TOKEN : MODE_ONE_TOKEN;
$explore_url = SITE_URL . "#/download_brouchure/" . $model_id . "/" . $variant_id . "/" . $token;
$insert_str = "INSERT INTO " . TABLE_EXPLORE_ENQUIRY . " ( `user_id`, `model_id`, `variant_id`, `name`, `mobile`, `email`, `is_brochure`, `created_on`, `modified_on`) VALUES ( '" . $parent->current_user_id . "', '" . $model_id . "', '" . $variant_id . "', '" . $name . "', '" . $mobile . "', '" . $email . "', '" . $is_brochure . "','" . NOW . "','" . NOW . "')";
$insertquery = $parent->executeQuery($insert_str);
$query_dealerarr = $parent->selectQuery(DMS_DEALER, " *", "dealer_code='" . $parent->current_user_data->dealer_code . "'", "1");
if ($query_dealerarr['nr'] > 0) {
$dealer_details_str = $query_dealerarr['result'][0]->dealer_name;
$dealer_details_str .= ($query_dealerarr['result'][0]->address != '') ? '
' . trim($query_dealerarr['result'][0]->address) : '';
$dealer_details_str .= ($query_dealerarr['result'][0]->phone != '') ? '
Mob : ' . trim($query_dealerarr['result'][0]->phone) : '';
$dealer_details_str .= ($query_dealerarr['result'][0]->email != '') ? '
Email : ' . trim($query_dealerarr['result'][0]->email) : '';
} else {
$dealer_details_str = 'HYPER-M';
}
//"16", "17"
$cond_mail_str1 = (in_array($parent->current_user_role, array("16"))) ? "Thank you for showing your interest in HYPER-M and visiting Dealership." : "Thank you for showing your interest in HYPER-M.";
$cond_mail_str2 = (in_array($parent->current_user_role, array("16", "17"))) ? "We hope you had a great experience in exploring our range of students." : "We hope you had a great experience in exploring our range of students";
$email_link = ($is_brochure == '1') ? 'Click Here to download the product e-brochure for your reference.
' : "";
//MAIL AND SMS TRIGGER
$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 = array();
$obj['from'] = CUSTOMER_EXPERIENCE_EMAIL;
$obj['FromName'] = 'Customer Experience App';
//$obj['replayto']=SUPPORT_EMAIL;
$obj['to'] = $email;
$obj['subject'] = "THANK YOU FOR ENQUIRY - HYPER-M";
$obj['message'] = $message;
// globalfunc::sendMai($parent, $obj);
//LOG
$logstr = 'EXPLORE ENQUIRY';
globalfunc::insertUserLog($parent, $logstr);
$parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//CUSTOMER
private function customer($parent)
{
globalfunc::checkMethodType($parent, array('POST'));
//globalfunc::checkAuthrozation($parent,array('type'=>'explore'));
$smpin = escape_str($parent->_request['smpin']);
$emp_code = escape_str($parent->_request['emp_code']);
if (!($smpin != '' || $emp_code != '')) {
$parent->response(array('response' => 'failed', 'message' => 'Invalid Authentication token'), 401);
}
$user_qry_str = "SELECT * FROM " . TABLE_USER . " WHERE is_deleted='0' AND status='1' AND smpin='" . $smpin . "' AND emp_code='" . $emp_code . "' LIMIT 1";
$user_value = $parent->getQueryValue($user_qry_str);
if (!count($user_value) > 0) {
$parent->response(array('response' => 'failed', 'message' => 'Invalid Authentication token'), 401);
}
$parent->current_user_data = $user_value[0];
$parent->current_user_id = $user_value[0]->userid;
$parent->current_user_role = $user_value[0]->role;
$parent->current_smpin = $user_value[0]->smpin;
$parent->current_emp_code = $user_value[0]->emp_code;
$REQUEST_KEYS = array('customer_data' => 'array');
globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
$customer_data = escape_str($parent->_request['customer_data']);
$mobile = escape_str($parent->_request['mobile']);
$is_exist = 0;
$model_data = new stdClass();
if ($mobile) {
$startdate = date('Y-m-d', strtotime('-30 day', strtotime(NOW)));
$query_checkarr = $parent->selectQuery(TABLE__CUSTOMEREXP . " as ce JOIN " . TABLE_EXPLORE_ENQUIRY . " e ON ce.id=e.customerid ", "e.model_id,e.variant_id ", "ce.mobile='" . $mobile . "' AND ce.created_on>='" . $startdate . " 00:00:00' ORDER BY e.id DESC", "1");
if ($query_checkarr['nr'] > 0) {
$append_url = SITE_URL . "explore_assets/model/" . strtolower($parent->device_type) . "/";
$modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id`,`title`,`description`, `model_name`, CASE WHEN model_image!='' THEN CONCAT('" . $append_url . "',model_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_image_url', CASE WHEN model_banner_image!='' THEN CONCAT('" . $append_url . "',model_banner_image) ELSE '" . NOIMAGE_URL . "' END AS 'model_banner_image_url'", " model_id='" . $query_checkarr['result'][0]->model_id . "'", "1");
if ($modelarr['nr'] > 0) {
$query_variantarr = $parent->selectQuery(TABLE_MODEL_VARIANT, "`id`, `model_id`, `title`,`position`", "id='" . $query_checkarr['result'][0]->variant_id . "' ", "1");
$is_exist = 1;
$modelarr['result'][0]->variant = ($query_variantarr['nr'] > 0) ? $query_variantarr['result'][0] : '';
$model_data = $modelarr['result'][0];
}
}
}
$insert_arr = array();
if (count($customer_data) > 0) {
//VALIDATE
foreach ($customer_data as $res) {
$salutation = escape_str($res['salutation']);
$firstname = escape_str($res['firstname']);
$lastname = escape_str($res['lastname']);
$email = escape_str($res['email']);
$mobile = escape_str($res['mobile']);
$age = escape_str($res['age']);
$uid = escape_str($res['uid']);
$smpin = escape_str($res['smpin']);
$dsename = escape_str($res['dsename']);
if (!($salutation != '' && $firstname != '' && $mobile != '' && $age != '' && $uid != '')) {
$parent->response(array('response' => 'failed', 'message' => 'INVALID DATA'), 406);
}
$insert_arr[] = " ('" . $salutation . "', '" . $firstname . "', '" . $lastname . "', '" . $email . "','" . $mobile . "', '" . $age . "','" . $smpin . "', '" . $dsename . "', '" . $parent->current_user_id . "','" . $uid . "','" . NOW . "')";
}
$parent->executeQuery("INSERT INTO " . TABLE__CUSTOMEREXP . " ( `salutation`, `firstname`, `lastname`, `email`, `mobile`, `age`, `smpin`, `dsename`, `userid`,`uid`,`created_on`) VALUES " . @implode(",", $insert_arr));
} else {
$parent->response(array('response' => 'failed', 'message' => 'INVALID DATA'), 406);
}
// $REQUEST_KEYS=array('salutation'=>'string','firstname'=>'string' ,'age'=>'string','mobile'=>'number');
// globalfunc::mandatoryKey($parent,$REQUEST_KEYS);
//
// $salutation=escape_str($parent->_request['salutation']);
// $firstname=escape_str($parent->_request['firstname']);
// $lastname=escape_str($parent->_request['lastname']);
// $email=escape_str($parent->_request['email']);
// $mobile=escape_str($parent->_request['mobile']);
// $age=escape_str($parent->_request['age']);
//
// $insert_str = "INSERT INTO ".TABLE__CUSTOMEREXP." ( `salutation`, `firstname`, `lastname`, `email`, `mobile`, `age`, `userid`, `created_on`) VALUES ('".$salutation."', '".$firstname."', '".$lastname."', '".$email."','".$mobile."', '".$age."', '".$parent->current_user_id."', '".NOW."')";
// $insertquery = $parent->executeQuery($insert_str);
//
// $ins_id=$parent->lastInsertId();
//
//LOG
$logstr = 'EXPLORE CUSTOMER';
globalfunc::insertUserLog($parent, $logstr);
//
// $get_str = "SELECT * FROM ".TABLE__CUSTOMEREXP." WHERE id='".$ins_id."' LIMIT 1";
// $get_arr=$parent->getQueryValue($get_str);
$parent->response(array('response' => 'success', 'is_exist' => $is_exist, 'model_data' => $model_data, 'message' => $this->page_data['success1']), 200);
}
//CUSTOMER
private function customerfeedback($parent)
{
//
globalfunc::checkMethodType($parent, array('GET', 'POST'));
switch ($parent->get_request_method()) {
case "GET": //GET FEEDBACK QUESTION
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
// $sarr=array('Poor','Average','Good','Very Good','Excellent');
/*$sarr=array('1','2','3','4','5');
$i=1;
foreach($sarr as $sval)
{
$val=new stdClass();
$val->id=$i++;
$val->score=$val->id;
$val->rating_text=$sval;
$survey_arr[]=$val;
}*/
$sarr = array('5', '4', '3', '2', '1');
$i = 1;
foreach ($sarr as $sval) {
$val = new stdClass();
$val->id = $sval;
$val->score = $sval;
$val->rating_text = $sval;
$survey_arr[] = $val;
}
$ques_str = "SELECT q.id as qid, q.`questiontypeid`, q.`questiontext`, q.`qimage`, q.`qvideo` FROM " . TABLE__EXPQUESTION . " as q WHERE q.status=1 " . $econd;
$ques_arr = $parent->getQueryValue($ques_str);
$question_arr = array();
if (count($ques_arr) > 0) {
$s3 = awsfileserver::connectS3();
foreach ($ques_arr as $key => $res_ques) {
$res_ques->rating_options = array();
//QUESTION IMAGE
$res_ques->qimage_url = '';
if ($res_ques->qimage != '') {
$res_ques->qimage_url = awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_QUESTION_URL . $res_ques->qimage);
}
//QUESTION VIDEO
$res_ques->qvideo_url = '';
if ($res_ques->qvideo != '') {
$res_ques->qvideo_url = awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_QUESTION_URL . $res_ques->qvideo);
}
//RATING QUESTION
$res_ques->rating_options = array();
$res_ques->options = array();
if ($res_ques->questiontypeid == '7') {
$res_ques->rating_options = $survey_arr;
} else if ($res_ques->questiontypeid == '9' || $res_ques->questiontypeid == '10') {
//CHOICE
$chocie_arr = array();
//WEB NEED selected
$quesoption_str = "SELECT optid,opttext FROM " . TABLE__EXPQUESTIONOPTION . " WHERE qid='" . $res_ques->qid . "'";
$quesoption_arr = $parent->getQueryValue($quesoption_str);
$res_ques->options = $quesoption_arr;
}
$question_arr[] = $res_ques;
}
}
//LOG
$logstr = 'EXPLORE QUESTION';
globalfunc::insertUserLog($parent, $logstr);
$parent->response(array('response' => 'success', 'data' => $question_arr, 'total' => count($question_arr), 'message' => $this->page_data['success1']), 200);
break;
case "POST": //POST FEEDBACK SUBMIT
$smpin = escape_str($parent->_request['smpin']);
$emp_code = escape_str($parent->_request['emp_code']);
if (!($smpin != '' || $emp_code != '')) {
$parent->response(array('response' => 'failed', 'message' => 'Invalid Authentication token'), 401);
}
$user_qry_str = "SELECT * FROM " . TABLE_USER . " WHERE is_deleted='0' AND status='1' AND smpin='" . $smpin . "' AND emp_code='" . $emp_code . "' LIMIT 1";
$user_value = $parent->getQueryValue($user_qry_str);
if (!count($user_value) > 0) {
$parent->response(array('response' => 'failed', 'message' => 'Invalid Authentication token'), 401);
}
$parent->current_user_data = $user_value[0];
$parent->current_user_id = $user_value[0]->userid;
$parent->current_user_role = $user_value[0]->role;
$parent->current_smpin = $user_value[0]->smpin;
$parent->current_emp_code = $user_value[0]->emp_code;
$REQUEST_KEYS = array('customer_data' => 'array');
globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
$customer_data = escape_str($parent->_request['customer_data']);
if (count($customer_data) > 0) {
//VALIDATION
foreach ($customer_data as $key => $res) {
$uid = $res['uid'];
$ans_arr = $res['ans_arr'];
//$ans_arr = json_decode($ans_str);
if (!(isset($res['ans_arr']) && is_array($ans_arr) && count($ans_arr) > 0)) {
$parent->response(array('response' => 'failed', 'message' => 'INVALID DATA'), 406);
}
$customer_str = "SELECT id FROM " . TABLE__CUSTOMEREXP . " WHERE uid='" . $uid . "' LIMIT 1";
$customer_arr = $parent->getQueryValue($customer_str);
if (!count($customer_arr) > 0) {
$parent->response(array('response' => 'failed', 'message' => 'INVALID USER'), 406);
}
$customer_data[$key]['customerid'] = $customer_arr[0]->id;
}
foreach ($customer_data as $res) {
$uid = $res['uid'];
$ans_arr = $res['ans_arr'];
$customerid = $res['customerid'];
$userid = $parent->current_user_id;
//RESULT INSERT
$parent->executeQuery("INSERT INTO " . TABLE__FEEDBACKUSER . " ( `customerid`, `creatorid`, `created_on`, `modified_on`)VALUES('" . $customerid . "','" . $userid . "','" . NOW . "','" . NOW . "')");
$arid = $parent->lastInsertId();
//INSERT OPTIONS
$insert_result_arr = array();
for ($mid = 0; $mid < count($ans_arr); $mid++) {
// $qid = $ans_arr[$mid]->qid;
// $survey_rating = (isset($ans_arr[$mid]->survey_rating))?$ans_arr[$mid]->survey_rating:0;
// $survey_text=(isset($ans_arr[$mid]->survey_text) && is_string($ans_arr[$mid]->survey_text))?$ans_arr[$mid]->survey_text:'';
// $options_arr =(isset($ans_arr[$mid]->options))?$ans_arr[$mid]->options:array();
$qid = $ans_arr[$mid]['qid'];
$survey_rating = (isset($ans_arr[$mid]['survey_rating'])) ? $ans_arr[$mid]['survey_rating'] : 0;
$survey_text = (isset($ans_arr[$mid]['survey_text']) && is_string($ans_arr[$mid]['survey_text'])) ? $ans_arr[$mid]['survey_text'] : '';
$options_arr = (isset($ans_arr[$mid]['options'])) ? $ans_arr[$mid]['options'] : array();
if (is_array($options_arr) && count($options_arr) > 0) {
for ($nid = 0; $nid < count($options_arr); $nid++) {
$option_id = $options_arr[$nid];
$insert_result_arr[] = " ('" . $arid . "', '" . $customerid . "', '" . $qid . "','" . $survey_rating . "','" . $survey_text . "','" . $option_id . "','" . NOW . "','" . NOW . "')";
}
} else {
$insert_result_arr[] = " ('" . $arid . "', '" . $customerid . "', '" . $qid . "','" . $survey_rating . "','" . $survey_text . "','','" . NOW . "','" . NOW . "')";
}
}
if (count($insert_result_arr) > 0) {
$parent->executeQuery("INSERT INTO " . TABLE__FEEDBACKRESULT . " (arid, customerid, qid,survey_rating,survey_text,choiseid,created_on,modified_on)VALUES " . @implode(',', $insert_result_arr) . "");
} else {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["explore"]), 406);
}
}
} else {
$parent->response(array('response' => 'failed', 'message' => 'INVALID DATA'), 406);
}
//LOG
$logstr = 'EXPLORE FEEDBACK SUBMIT';
globalfunc::insertUserLog($parent, $logstr);
//$parent->response(array('response'=>'success', 'message'=>$this->page_data['success1']),200);
$parent->response(array('response' => 'success', 'message' => 'Thank you for your Feedback'), 200);
break;
}
}
//MODELS ENQUIRY
private function customerenquiry($parent)
{
globalfunc::checkMethodType($parent, array('POST'));
globalfunc::checkParamCount($parent, 1);
//globalfunc::checkAuthrozation($parent,array('type'=>'explore'));
$smpin = escape_str($parent->_request['smpin']);
$emp_code = escape_str($parent->_request['emp_code']);
if (!($smpin != '' || $emp_code != '')) {
$parent->response(array('response' => 'failed', 'message' => 'Invalid Authentication token'), 401);
}
$user_qry_str = "SELECT * FROM " . TABLE_USER . " WHERE is_deleted='0' AND status='1' AND smpin='" . $smpin . "' AND emp_code='" . $emp_code . "' LIMIT 1";
$user_value = $parent->getQueryValue($user_qry_str);
if (!count($user_value) > 0) {
$parent->response(array('response' => 'failed', 'message' => 'Invalid Authentication token'), 401);
}
$parent->current_user_data = $user_value[0];
$parent->current_user_id = $user_value[0]->userid;
$parent->current_user_role = $user_value[0]->role;
$parent->current_smpin = $user_value[0]->smpin;
$parent->current_emp_code = $user_value[0]->emp_code;
$REQUEST_KEYS = array('customer_data' => 'array');
globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
$customer_data = escape_str($parent->_request['customer_data']);
if (count($customer_data) > 0) {
//VALIDATION
foreach ($customer_data as $key => $res) {
//$REQUEST_KEYS=array('variant_id'=>'integer','name'=>'string','mobile'=>'string','email'=>'string');
//globalfunc::mandatoryKey($parent,$REQUEST_KEYS);
$model_id = escape_str($res['model_id']);
$uid = escape_str($res['uid']);
$variant_id = escape_str($res['variant_id']);
$name = escape_str($res['name']);
$mobile = escape_str($res['mobile']);
$email = escape_str($res['email']);
$is_brochure = escape_str($res['is_brochure']);
if (!($variant_id != '' && $model_id != '' && $name != '' && $mobile != '' && $email != '')) {
$parent->response(array('response' => 'failed', 'message' => 'INVALID DATA'), 406);
}
if ($uid != '') {
$customer_str = "SELECT id FROM " . TABLE__CUSTOMEREXP . " WHERE uid='" . $uid . "' LIMIT 1";
$customer_arr = $parent->getQueryValue($customer_str);
if (!count($customer_arr) > 0) {
$parent->response(array('response' => 'failed', 'message' => 'INVALID USER'), 406);
}
$customer_data[$key]['customerid'] = $customer_arr[0]->id;
} else {
$customer_data[$key]['customerid'] = 0;
}
//CHECK MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id`,model_type ", "model_id='" . $model_id . "' AND is_other=0 ", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
$token = ($query_modelarr['result'][0]->model_type == '1') ? MODE_TWO_TOKEN : MODE_ONE_TOKEN;
$customer_data[$key]['token'] = $token;
}
foreach ($customer_data as $res) {
//$REQUEST_KEYS=array('variant_id'=>'integer','name'=>'string','mobile'=>'string','email'=>'string');
//globalfunc::mandatoryKey($parent,$REQUEST_KEYS);
$model_id = escape_str($res['model_id']);
$variant_id = escape_str($res['variant_id']);
$name = escape_str($res['name']);
$mobile = escape_str($res['mobile']);
$email = escape_str($res['email']);
$is_brochure = escape_str($res['is_brochure']);
$is_brochure = ($is_brochure == '1') ? "1" : "0";
$customerid = $res['customerid'];
$token = $res['token'];
$explore_url = SITE_URL . "#/download_brouchure/" . $model_id . "/" . $variant_id . "/" . $token;
$insert_str = "INSERT INTO " . TABLE_EXPLORE_ENQUIRY . " ( `user_id`, `model_id`, `variant_id`, `name`, `mobile`, `email`, `customerid`, `is_brochure`, `created_on`, `modified_on`) VALUES ( '" . $parent->current_user_id . "', '" . $model_id . "', '" . $variant_id . "', '" . $name . "', '" . $mobile . "', '" . $email . "','" . $customerid . "', '" . $is_brochure . "','" . NOW . "','" . NOW . "')";
$insertquery = $parent->executeQuery($insert_str);
$query_dealerarr = $parent->selectQuery(DMS_DEALER, " *", "dealer_code='" . $parent->current_user_data->dealer_code . "'", "1");
if ($query_dealerarr['nr'] > 0) {
$dealer_details_str = $query_dealerarr['result'][0]->dealer_name;
$dealer_details_str .= ($query_dealerarr['result'][0]->address != '') ? '
' . trim($query_dealerarr['result'][0]->address) : '';
$dealer_details_str .= ($query_dealerarr['result'][0]->phone != '') ? '
Mob : ' . trim($query_dealerarr['result'][0]->phone) : '';
$dealer_details_str .= ($query_dealerarr['result'][0]->email != '') ? '
Email : ' . trim($query_dealerarr['result'][0]->email) : '';
} else {
$dealer_details_str = 'HYPER-M';
}
$cond_mail_str1 = (in_array($parent->current_user_role, array("16"))) ? "Thank you for showing your interest in HYPER-M and visiting Dealership." : "Thank you for showing your interest in HYPER-M.";
$cond_mail_str2 = (in_array($parent->current_user_role, array("16", "17"))) ? "We hope you had a great experience in exploring our range of students." : "We hope you had a great experience in exploring our range of students";
$email_link = ($is_brochure == '1') ? 'Click Here to download the product e-brochure for your reference.
' : "";
//MAIL AND SMS TRIGGER
$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 = array();
$obj['from'] = CUSTOMER_EXPERIENCE_EMAIL;
$obj['FromName'] = 'Customer Experience App';
//$obj['replayto']=SUPPORT_EMAIL;
$obj['to'] = $email;
$obj['subject'] = "THANK YOU FOR ENQUIRY - HYPER-M";
$obj['message'] = $message;
// globalfunc::sendMai($parent, $obj);
}
} else {
$parent->response(array('response' => 'failed', 'message' => 'INVALID DATA'), 406);
}
//LOG
$logstr = 'EXPLORE ENQUIRY';
globalfunc::insertUserLog($parent, $logstr);
$parent->response(array('response' => 'success', 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODEL ACCESSORIES RIDERS
private function accessories_riders($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 1);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$append_url = SITE_URL . "explore_assets/accessories/";
$data_arr = array('category' => array(), 'data' => array());
$cat_data = array();
//GET ACCESSORIES
$query_arr = $parent->selectQuery(TABLE_EXPLORE_ACCESSORIES, "*, CASE WHEN image!='' THEN CONCAT('" . $append_url . "',image) ELSE '" . NOIMAGE_URL . "' END AS 'image_url' ", "type='2' AND is_deleted=0 ", "");
if ($query_arr['nr'] > 0) {
foreach ($query_arr['result'] as $res) {
$cat_data[$res->cat_id][] = $res;
}
$cat_query_arr = $parent->selectQuery(TABLE_EXPLORE_ACCESSORIES_CATEGORY, "*", "is_deleted=0 AND id IN (SELECT cat_id FROM " . TABLE_EXPLORE_ACCESSORIES . " WHERE type='2' AND is_deleted=0 ) ORDER BY cat_pos ASC", "");
if ($cat_query_arr['nr']) {
foreach ($cat_query_arr['result'] as $key => $val) {
$cat_query_arr['result'][$key]->data = $cat_data[$val->id];
}
}
$data_arr = array('category' => $cat_query_arr['result'], 'data' => $query_arr['result']);
}
//LOG
$logstr = 'EXPLORE ACCESSORIES RIDERS';
globalfunc::insertUserLog($parent, $logstr);
// $data_arr= array('model'=>$query_modelarr['result'][0],'category'=>$category_arr,'compare_model'=>$compare_model_arr);
$parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODEL ACCESSORIES BIKES
private function accessories_bikes($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$append_url = SITE_URL . "explore_assets/accessories/";
$model_id = escape_str($parent->params['1']);
$data_arr = array('category' => array(), 'data' => array());
//GET ACCESSORIES
$query_arr = $parent->selectQuery(TABLE_EXPLORE_ACCESSORIES, "*, CASE WHEN image!='' THEN CONCAT('" . $append_url . "',image) ELSE '" . NOIMAGE_URL . "' END AS 'image_url' ", "type='1' AND is_deleted=0 AND model_id='" . $model_id . "' ", "");
if ($query_arr['nr'] > 0) {
$cat_query_arr = $parent->selectQuery(TABLE_EXPLORE_ACCESSORIES_CATEGORY, "*", "is_deleted=0 AND id IN (SELECT cat_id FROM " . TABLE_EXPLORE_ACCESSORIES . " WHERE type='1' AND is_deleted=0 AND model_id='" . $model_id . "' ) ORDER BY cat_pos ASC", "");
$data_arr = array('category' => $cat_query_arr['result'], 'data' => $query_arr['result']);
}
//LOG
$logstr = 'EXPLORE ACCESSORIES BIKES';
globalfunc::insertUserLog($parent, $logstr);
// $data_arr= array('model'=>$query_modelarr['result'][0],'category'=>$category_arr,'compare_model'=>$compare_model_arr);
$parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
//MODELS CONTENT
private function contentlist($parent)
{
globalfunc::checkMethodType($parent, array('GET'));
globalfunc::checkParamCount($parent, 2);
globalfunc::checkAuthrozation($parent, array('type' => 'explore'));
$url_data = escape_str($parent->params['1']);
//PAGINATION SETTINGS
$limit_cond = '';
$data_arr = array();
$limit_str = globalfunc::setPageLimit($parent, $url_data);
$limit_cond = ($limit_str) ? " LIMIT " . $limit_str : '';
$url_data_arr = @explode('?', $url_data);
$model_id = $url_data_arr[0];
//CHECK MODEL
$query_modelarr = $parent->selectQuery(TABLE_COMPARE_MODEL, " `model_id` ", "model_id='" . $model_id . "' AND is_other=0 ", "1");
if (!$query_modelarr['nr'] > 0) {
$parent->response(array('response' => 'failed', 'message' => $this->page_data["error1"]), 406);
}
//S3_CUS_CONTENT_URL
$model_content_arr = $parent->selectQuery(TABLE_EXPLORE_CONTENT . " c JOIN " . TABLE_EXPLORE_FILE . " f on c.contentid=f.contentid", "SQL_CALC_FOUND_ROWS c.contentid,c.title,c.description,c.uploaddate,c.version,c.uploaddate,f.filepath,f.thumbpath", " c.status='1' AND c.is_deleted='0' AND c.model_id='" . $model_id . "' ORDER BY c.contentid ASC " . $limit_cond, "");
$customer_arr = $parent->getQueryValue("select FOUND_ROWS() as total_records");
if ($model_content_arr['nr']) {
//CONNECT S3
$s3 = awsfileserver::connectS3();
foreach ($model_content_arr['result'] as $key => $res) {
$model_content_arr['result'][$key]->file_url = ($res->filepath != '') ? awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_CUS_CONTENT_URL . $res->filepath) : NOIMAGE_URL;
$model_content_arr['result'][$key]->thumb_url = ($res->thumbpath != '') ? awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_CUS_CONTENT_URL . $res->thumbpath) : NOIMAGE_URL;
$data_arr[] = $model_content_arr['result'][$key];
}
}
//GET COUNT
$total = (count($customer_arr) > 0) ? $customer_arr[0]->total_records : 0;
//LOG
$logstr = 'CUSTOMER EXPERIENCE MODELS CONTENT';
globalfunc::insertUserLog($parent, $logstr, $cateid);
$last_page = ($total) ? ceil($total / $parent->current_limit) - 1 : 0;
$parent->response(array('response' => 'success', 'data' => $data_arr, 'total' => $total, 'last_page' => $last_page, 'current_page' => $parent->current_page, 'message' => $this->page_data['success1']), 200);
}
/* //////////////////////////////////////////////////////////////////////////////////////////// */
}