File manager - Edit - /home/autoph/public_html/projects/Rating-AutoHub/public/css/controllers.zip
Back
PK }�Z(7|� brand.phpnu �[��� <?php class Brand { function read_brand_id_by_name($name, $db){ return $db -> select("SELECT id FROM `source_brand` WHERE status = 1 AND `name` = '$name' "); } function create_brand($name, $db){ return $db -> sql_query_id("INSERT INTO source_brand (`name`, `logo`, `status`) VALUES ('$name', 'default.png', '1')"); } function create_brand_v2($name, $status,$db){ return $db -> sql_query_id("INSERT INTO source_brand (`name`, `logo`, `status`) VALUES ('$name', 'default.png', '$status')"); } function read_brand_id_by_name_v2($name,$db){ // echo "SELECT id FROM `source_brand` WHERE 1 AND `name` = '$name' "; return $db -> select("SELECT id FROM `source_brand` WHERE 1 AND `name` = '$name' "); } function read_brand_name_by_id($id, $db){ return $db -> select("SELECT name FROM `source_brand` WHERE status = 1 AND `id` = '$id'"); } function read_brands_offered_model($search, $db){ $contents = $db -> return_result("SELECT id, name FROM `source_brand` WHERE status = 1 AND `name` LIKE '%$search%' ORDER BY name ASC LIMIT 10"); $json = []; foreach($contents as $model){ $json[] = ['id'=>$model['id'], 'text'=>$model['name']]; } echo json_encode($json); } function read_brands_offered_model_no_limit($search, $db){ $contents = $db -> return_result("SELECT id, name FROM `source_brand` WHERE status = 1 AND `name` LIKE '%$search%' ORDER BY name ASC"); $json = []; foreach($contents as $model){ $json[] = ['id'=>$model['id'], 'text'=>$model['name']]; } echo json_encode($json); } function create_brands_offered(){ } function read_brand_id_by_name_no_status($name, $db){ return $db -> select("SELECT id FROM `source_brand` WHERE 1 AND `name` = '$name' "); } function create_brand_no_status($name, $db){ return $db -> sql_query_id("INSERT INTO source_brand (`name`, `logo`, `status`) VALUES ('$name', 'default.png', '0')"); } } ?>PK }�Zw�Lz� � media_publication.phpnu �[��� <?php class MediaPublication{ function read_media_publications_content($search,$db){ $media_publications = $db -> return_result("SELECT id,name FROM `source_media_publications` WHERE status=1 AND `name` LIKE '%$search%' ORDER BY name ASC LIMIT 10"); $json = []; foreach($media_publications as $media_publication){ $json[] = ['id'=>$media_publication['name'], 'text'=>$media_publication['name']]; } echo json_encode($json); } function read_media_publication_id_by_name($name,$db){ return $db -> select("SELECT id FROM `source_media_publications` WHERE status=1 AND `name` = '$name' "); } function create_media_publication($name,$db){ return $db -> sql_query_id("INSERT INTO source_media_publications (name,date_added,status) VALUES ('$name',NOW(),'1')"); } } ?>PK }�Z��� logger.phpnu �[��� <?php class Logger{ function create($id,$description,$target_id,$code,$db){ $db->sql_query("INSERT INTO `all_activity_log`(`description`,`owner_id`,`target_id`,`code`) VALUES ('$description',NULLIF('$id',''),'$target_id','$code')"); } } ?>PK }�Z��}}�E �E compliance09-25-24_latest.phpnu �[��� <?php class Compliance { function read_sales_by_asa_id($sales_id, $brand_id, $complete_type, $type, $commission_status, $company, $start_date, $end_date, $asa_id, $sc_id, $search, $offset, $limit, $required_fields, $days, $secure, $utility, $db) { $asa_id_record_id = $asa_id; $json_arr['rows'] = array(); $company_filter = ($company == '') ? '' : " AND scd.company_id IN (" . $company . ") "; $sc_id = ($sc_id == '') ? '' : " AND s.sales_person = '$sc_id' "; $sales_record = ($sales_id == '') ? '' : " AND s.id = '$sales_id' "; $brand_filter = ($brand_id == '') ? '' : " AND sb.id = '$brand_id' "; if ($start_date <> '' && $end_date <> '' && $start_date <> '1970-01-01') { $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; } else { $date_filter = ""; } if ($search != '') { $search_alpha_numeric_only = $utility->alphaNumericOnly($search); $filter_has_sc = ""; $asa_id = ''; $search = " AND (CONCAT( IF(c.id IS NOT NULL, CONCAT( c.corporation_name, ' ', c.first_name, ' ', c.last_name , ' ', c.first_name, ' ', c.middle_name, ' ', c.last_name, ' ', concat('0',SUBSTRING(cc.mobile_phone_1, 4)), '',cc.mobile_phone_1 ) ,'') ) LIKE '%$search%' OR CONCAT( IF( v.conduction_sticker IS NOT NULL, v.conduction_sticker, '' ),'', IF( v.plate_number IS NOT NULL, v.plate_number, '' ),'', IF( s.order_number IS NOT NULL, s.order_number, '' )) LIKE '%$search_alpha_numeric_only%' OR s.id= '$search' OR v.id= '$search' OR cc.email_1 = '" . $search . "') "; } else { $filter_has_sc = " AND (sc.id IS NOT NULL AND sc.id <> 0) "; $asa_id = ($asa_id == '') ? '' : " AND s.asa_sales_person = '$asa_id' "; } $offset_limit = ($utility->isNotEmpty($offset) && $utility->isNotEmpty($limit)) ? " LIMIT $offset,$limit " : ''; $incomplete_where = " AND (" . $required_fields->getIncompleteWhere() . ") "; $complete_where = " AND (" . $required_fields->getCompleteWhere() . ") "; if ($utility->isNotEmpty($complete_type)) { if ($complete_type == '0') { if ($type == '') { $complete_type = $incomplete_where; $type = ''; } else { $complete_type = ''; $type = $required_fields->whereByType($type); } } else if ($complete_type == '1') { if ($type == '') { $complete_type = $complete_where; $type = ''; } else { $complete_type = ''; $type = $required_fields->whereByTypeComplete($type); } } else { if ($type == '') { $complete_type = ''; $type = ''; } else { $complete_type = ''; $type = $required_fields->whereByTypeComplete($type); } } } else { $complete_type = ''; $type = ''; } if ($utility->isNotEmpty($commission_status)) { switch ($commission_status) { case "0": $commission_status = " AND ((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3)) "; break; case "1": $commission_status = " AND ((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1))"; break; case "2": $commission_status = " AND (t1.m_commission_status_id = 2)"; break; } } else { $commission_status = ""; } if ($utility->isNotEmpty($days)) { preg_match_all('!\d+\-\d+!', $days, $day_matches); if (count($day_matches[0]) > 0) { $days_pieces = explode("-", $day_matches[0][0]); $days_filter = " AND DATEDIFF(NOW(), s.activity_date ) BETWEEN " . $days_pieces[0] . " AND " . $days_pieces[1] . ""; } else { $filteredNumbers = array_filter(preg_split("/\D+/", $days)); $firstOccurence = reset($filteredNumbers); if ($utility->isNotEmpty($firstOccurence)) { $days_filter = " AND DATEDIFF(NOW(), s.activity_date ) = $firstOccurence"; } else { $days_filter = ""; } } } else { $days_filter = ""; } $field = " t1.asa_sales_person as asa_sc_id, t1.m_asa_group_manager_id as asa_sm_id, t1.customer_id, t1.sales_id, t1.m_vehicle_id AS vehicle_id, t1.m_customer_name AS customer_name, t1.m_corporation_name AS corporation_name, t1.m_first_name AS first_name, t1.m_middle_name AS middle_name, t1.m_last_name AS last_name, t1.m_customer_type AS customer_type, t1.has_ltms_records as ltms, t1.m_customer_affiliation AS customer_affiliation, t1.m_gender as gender, t1.m_date_of_birth as date_of_birth, t1.m_address_1 AS address_1, t1.m_email_1 AS email_1, t1.m_mobile_phone_1 AS mobile_phone_1, t1.m_facebook AS facebook, t1.m_customer_company AS customer_company, t1.m_position AS position, t1.m_nature_of_business AS nature_of_business, t1.m_profession as profession, t1.m_conduction_sticker as conduction_sticker, t1.m_plate_number as plate_number, t1.m_brand_name as brand_name, t1.m_model_name as model_name, t1.m_model_variant as model_variant, t1.m_model_year as model_year, t1.m_vehicle_color as vehicle_color, t1.m_dms as dms, t1.m_company as company, t1.m_dealer as dealer, t1.m_end_user as end_user, t1.m_release_date as release_date, DATEDIFF(NOW(), t1.m_release_date) as release_date_count, t1.m_mode_of_sale as mode_of_sale, t1.m_type_of_payment as type_of_payment, t1.m_insurance as insurance, t1.m_source_of_sale as source_of_sale, t1.m_brand_offered as brand_offered, t1.m_sales_consultant as sales_consultant, t1.m_sales_manager as sales_manager, IF(t1.m_customer_type = 1,'Individual',IF(t1.m_customer_type = 2,'Corporation','')) as customer_type_name, /*t1.m_customer_type_name as customer_type_name,*/ t1.m_vehicle_image as vehicle_image, t1.m_customer_category as customer_category, t1.m_is_active as is_active, IF(t1.complete = 1,'COM','INC') as status, IF(t1.complete = 1 AND t1.m_complete_date = '',DATE_FORMAT(t1.m_release_date,'%Y-%m-%d'),DATE_FORMAT(t1.m_complete_date,'%Y-%m-%d')) as complete_date, t1.m_incomplete_date as incomplete_date, /*t1.m_commission_status as commission_status, t1.m_commission_status_id as commission_status_id,*/ IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3) ,'HOLD', IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1),'FOR RELEASE', 'RELEASED' )) as commission_status, IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3) ,'0', IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1) ,'1', '2' )) as commission_status_id, DATE_FORMAT(t1.m_commission_hold_date,'%M %d, %Y - %h:%m%p') as hold_commission_date, t1.m_commission_hold_by as hold_commission_by, DATE_FORMAT(t1.m_commission_release_date,'%M %d, %Y - %h:%m%p') as released_commission_date, t1.m_commission_release_by as released_commission_by, DATE_FORMAT(t1.m_commission_for_release_date,'%M %d, %Y - %h:%m%p') as for_release_commission_date, t1.m_commission_for_release_by as for_release_commission_by, t1.m_commission_accounting_status as commission_accounting_status, t1.m_commission_accounting_status_id as commission_accounting_status_id "; $query = "SELECT %s FROM (" . $required_fields->getAllInOneComplianceQuery() . " /*AND s.asa_sales_person <> 0 */ %s /* search */ %s /* complete type */ %s /* specific complete incomplete type eg facebook */ %s /*company*/ %s /* date */ %s /* asa id */ %s /*sc id*/ %s /* sales _id*/ %s /* brand _id*/ %s /* days filter*/ AND v.status = 1 AND s.status = 1 AND c.id IS NOT NULL AND c.id <> 0 AND c.status = 1 GROUP BY s.id ) as t1 INNER JOIN sales_consultant sc ON t1.sales_person = sc.id WHERE 1 %s %s /* com status */ %s /*limit*/"; $magic_query = sprintf($query, $field, $search, $complete_type, $type, $company_filter, $date_filter, $asa_id, $sc_id, $sales_record, $brand_filter, $days_filter, $filter_has_sc, $commission_status, $offset_limit); echo $magic_query;exit; $list = $db->sql_query($magic_query); $list_count = $db->sql_num_rows(sprintf($query, ' 1 ', $search, $complete_type, $type, $company_filter, $date_filter, $asa_id, $sc_id, $sales_record, $brand_filter, $days_filter, $filter_has_sc, $commission_status, '')); foreach ($list as $row) { //replace null to empty value $row = array_map(function ($v) { return (is_null($v)) ? "" : $v; //replace blank the null values }, $row); //check if complete or not $status = true; if (intval($asa_id_record_id) !== 0) { $access = intval($asa_id_record_id) == intval($row['asa_sc_id']); } else { $access = false; } $date1 = strtotime($row['release_date'] . " 00:00:00"); $date2 = strtotime($row['complete_date'] . " 00:00:00"); // echo $row['complete_date'];exit; // $d1 = new DateTime($row['release_date']); // $d2 = new DateTime($row['complete_date']); // Formulate the Difference between two dates $diff = abs($date2 - $date1); // To get the year divide the resultant date into // total seconds in a year (365*60*60*24) $years = floor($diff / (365 * 60 * 60 * 24)); // To get the month, subtract it with years and // divide the resultant date into // total seconds in a month (30*60*60*24) $months = floor(($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24)); // To get the day, subtract it with years and // months and divide the resultant date into // total seconds in a days (60*60*24) $days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24)); $json_arr['rows'] = array_merge($json_arr['rows'], array(array( 'asa_sc_id' => $row['asa_sc_id'], 'asa_sm_id' => $row['asa_sm_id'], 'customer_id' => $row['customer_id'], 'sales_id' => $row['sales_id'], 'vehicle_id' => $row['vehicle_id'], 'customer_name' => $row['customer_name'], 'corporation_name' => $row['corporation_name'], 'first_name' => $row['first_name'], 'middle_name' => $row['middle_name'], 'last_name' => $row['last_name'], 'customer_affiliation' => $row['customer_affiliation'], 'release_date' => $row['release_date'], 'gender' => $row['gender'], 'date_of_birth' => $row['date_of_birth'], 'address_1' => !$utility->isNotEmpty($row['address_1']) ?: ($secure) ? $utility->mask($row['address_1'], 3, 0) : $row['address_1'], 'email_1' => ($secure) ? $utility->mask_email($row['email_1']) : $row['email_1'], 'mobile_phone_1' => !$utility->isNotEmpty($row['mobile_phone_1']) ?: ($secure) ? $utility->mask($row['mobile_phone_1'], 4, 0) : $row['mobile_phone_1'], 'facebook' => !$utility->isNotEmpty($row['facebook']) ?: ($secure) ? $utility->mask($row['facebook'], 4, 0) : $row['facebook'], 'customer_company' => $row['customer_company'], 'position' => $row['position'], 'nature_of_business' => $row['nature_of_business'], 'profession' => $row['profession'], 'conduction_sticker' => $row['conduction_sticker'], 'plate_number' => $row['plate_number'], 'brand_name' => $row['brand_name'], 'model_name' => $row['model_name'], 'vehicle' => $row['brand_name'] . ($utility->isNotEmpty($row['model_name']) ? ' - ' . $row['model_name'] : ''), 'model_variant' => $row['model_variant'], 'model_year' => $row['model_year'], 'vehicle_color' => $row['vehicle_color'], 'dms' => $row['dms'], 'company' => $row['company'], 'dealer' => $row['dealer'], 'company_dealer' => $row['company'] . ' - ' . $row['dealer'], 'end_user' => $row['end_user'], 'release_date' => $row['release_date'], 'release_date_count' => $row['release_date_count'], // release 'st_percent' => ($row['status'] == 'COM' ? $this->get_st_percentage($days) : $this->get_st_percentage($row['release_date_count'])), 'sc_percent' => ($row['status'] == 'COM' ? $this->get_sc_percentage($days) : '0%'), // // debug // 'st_percent'=>($row['status'] == 'COM' ? $days. ' - '. $this->get_st_percentage($days) : $row['release_date_count'].' - ' .$this->get_st_percentage($row['release_date_count']) ), // 'sc_percent'=>$days. ' - '.($row['status'] == 'COM' ? $this->get_sc_percentage($days) : '0%'), 'mode_of_sale' => $row['mode_of_sale'], 'type_of_payment' => $row['type_of_payment'], 'insurance' => $row['insurance'], 'source_of_sale' => $row['source_of_sale'], 'brand_offered' => $row['brand_offered'], 'sales_consultant' => $row['sales_consultant'], 'sales_manager' => $row['sales_manager'], 'status' => $row['status'], 'commission' => $row['commission_status'], 'commission_id' => $row['commission_status_id'], 'commission_accounting_status' => $row['commission_accounting_status'], 'commission_accounting_status_id' => $row['commission_accounting_status_id'], 'commission_id_released' => $row['commission_status_id'], 'hold_commission_date' => $row['hold_commission_date'], 'hold_commission_by' => $row['hold_commission_by'], 'released_commission_date' => $row['released_commission_date'], 'released_commission_by' => $row['released_commission_by'], 'for_release_commission_date' => $row['for_release_commission_date'], 'for_release_commission_by' => $row['for_release_commission_by'], 'access' => ($access) ? true : false, 'customer_type' => $row['customer_type'], 'customer_type_name' => $row['customer_type_name'], 'customer_category' => $row['customer_category'], 'vehicle_image' => $row['vehicle_image'], 'complete_date' => $row['complete_date'], 'is_active' => (intval($row['is_active']) == 1 ? 'Active' : 'Inactive'), 'has_ltms' => $row['ltms'], ))); } $json_arr['total'] = intval($list_count); $json_arr['result'] = intval($list_count) > 0 ? true : false; return ($json_arr); // exit; // $incomplete_where = $required_fields -> getIncompleteWhere(); // $complete_where = $required_fields -> getCompleteWhere(); // if($complete_type == '0' || $complete_type == '1'){ // if($complete_type == '0'){ // if($type == ''){ // $complete_type = $incomplete_where; // $type = ''; // }else{ // $complete_type = ''; // $type = $required_fields->whereByType($type); // } // }else if($complete_type == '1'){ // if($type == ''){ // $complete_type = $complete_where; // $type = ''; // }else{ // $complete_type = ''; // $type = $required_fields->whereByTypeComplete($type); // } // } // }else{ // $complete_type = ''; // $type = ''; // } // // echo $type;exit; // $compliance_query = $required_fields->getComplianceQuery(); // $sales_query = $compliance_query." WHERE // ( // CONCAT( // IF( // v.conduction_sticker IS NOT NULL, // v.conduction_sticker, // '' // ),'', // IF( // v.plate_number IS NOT NULL, // v.plate_number, // '' // ),'', // IF( // s.order_number IS NOT NULL, // s.order_number, // '' // ),'', // IF(c.id IS NOT NULL, // CONCAT( // c.corporation_name, // ' ', // c.first_name, // ' ', // c.last_name , // ' ', // c.first_name, // ' ', // c.middle_name, // ' ', // c.last_name, // ' ', // concat('0',SUBSTRING(cc.mobile_phone_1, 4)), // '',cc.mobile_phone_1 // ) // ,'') // ) LIKE '%%%s%%' OR s.id= '%s' OR v.id= '%s' // ) // %s /*email*/ // %s /* complete type */ // %s /* specific complete incomplete type eg facebook */ // %s /* date_filter */ // %s /* specific sales_record */ // %s /* asa id */ // %s /* company filter */ // AND s.status = 1 // AND c.id IS NOT NULL // GROUP BY v.id,s.id // ORDER BY // s.activity_date DESC // "; // $count = " count(s.id) "; // $fields = " s.asa_sales_person as asa_sc_id, // s.asa_group_manager_id as asa_sm_id, // c.id AS customer_id, // s.id AS sales_id, // v.id AS vehicle_id, // IF( // c.type = 1, // CONCAT( // c.first_name, // ' ', // c.middle_name, // ' ', // c.last_name // ), // c.corporation_name // ) AS customer_name, // c.corporation_name, // c.first_name, // c.middle_name, // c.last_name, // c.type AS customer_type, // cac.name AS customer_affiliation, // ag.gender_name as gender, // c.date_of_birth, // cc.address_1, // cc.email_1, // cc.mobile_phone_1, // cc.facebook, // c2.corporation_name AS customer_company, // c.occupation AS position, // snob.name AS nature_of_business, // sp.name as profession, // v.conduction_sticker, // v.plate_number, // sb.name as brand_name, // scm.name as model_name, // scmv.name as model_variant, // v.vehicle_release_year as model_year, // vc.name as vehicle_color, // sdms.name as dms, // sc.code as company, // sd.code as dealer, // s.end_user, // s.activity_date as release_date, // smos.name as mode_of_sale, // stp.name as type_of_payment, // sic.name as insurance, // soi.name as source_of_sale, // sbo.description as brand_offered, // CONCAT(sct.first_name,' ',sct.last_name) as sales_consultant, // CONCAT(sct2.first_name,' ',sct2.last_name) as sales_manager "; // // echo sprintf($sales_query, $fields, $search, $search,$search,$asa_id)." LIMIT $offset,$limit";exit; // $offset_limit = ($offset == '' || $limit == '') ? '' : " LIMIT $offset,$limit" ; // // echo (sprintf($sales_query, $fields, $search, $search,$search,$filter_email,$complete_type,$type,$date_filter,$sales_record,$asa_id,$company_filter).$offset_limit);exit; // // echo (sprintf($sales_query, $fields, $search, $search,$search,$complete_type,$type,$date_filter,$asa_id,$company_filter).$offset_limit); // $sales_list_query = $db -> sql_query(sprintf($sales_query, $fields, $search, $search,$search,$complete_type,$type,$date_filter,$sales_record,$asa_id,$company_filter).$offset_limit); // $sales_list_query_count = $db -> select("SELECT COUNT(1) FROM ( ".sprintf($sales_query, $count, $search,$search,$search ,$complete_type,$type,$date_filter,$sales_record, $asa_id,$company_filter)." ) as total_count"); // foreach($sales_list_query as $row) { // //replace null to empty value // $row = array_map(function($v){ // return (is_null($v)) ? "" : $v; //replace blank the null values // },$row); // //check if complete or not // $status = true; // $required_field = $required_fields->getRequiredFields(); //get trequired fields array // foreach($required_field as $key => $item) { // if( // (trim($row[$key]) == '' || trim($row[$key]) == '0') && // ($key != 'sales_consultant' && $key != 'sales_manager' && $key != 'end_user' && $key != 'customer_company') && // ($key != 'gender' && $key != 'date_of_birth' && $key != 'profession' && $key != 'position') // ){ // $status = false; // break; // } // } // // echo intval($asa_id_record_id). ' '. intval($row['asa_sc_id']);exit; // if(intval($asa_id_record_id) !== 0){ // $access = intval($asa_id_record_id) == intval($row['asa_sc_id']); // }else{ // $access = false; // } // $json_arr['rows'] = array_merge($json_arr['rows'] ,array( array( // 'asa_sc_id'=>$row['asa_sc_id'], // 'asa_sm_id'=>$row['asa_sm_id'], // 'customer_id'=>$row['customer_id'], // 'sales_id'=>$row['sales_id'], // 'vehicle_id'=>$row['vehicle_id'], // 'customer_name'=> $row['customer_name'], // 'corporation_name'=> $row['corporation_name'], // 'first_name'=> $row['first_name'], // 'middle_name'=> $row['middle_name'], // 'last_name'=> $row['last_name'], // 'customer_type'=> $row['customer_type'], // 'customer_affiliation'=>$row['customer_affiliation'], // 'release_date'=>$row['release_date'], // 'gender'=>$row['gender'], // 'date_of_birth'=>$row['date_of_birth'], // 'address_1'=>$row['address_1'], // 'email_1'=>$row['email_1'], // 'mobile_phone_1'=>$row['mobile_phone_1'], // 'facebook'=>$row['facebook'], // 'customer_company'=>$row['customer_company'], // 'position'=>$row['position'], // 'nature_of_business'=>$row['nature_of_business'], // 'profession'=>$row['profession'], // 'conduction_sticker'=>$row['conduction_sticker'], // 'plate_number'=>$row['plate_number'], // 'brand_name'=>$row['brand_name'], // 'model_name'=>$row['model_name'], // 'model_variant'=>$row['model_variant'], // 'model_year'=>$row['model_year'], // 'vehicle_color'=>$row['vehicle_color'], // 'dms'=>$row['dms'], // 'company'=>$row['company'], // 'dealer'=>$row['dealer'], // 'end_user'=>$row['end_user'], // 'release_date'=>$row['release_date'], // 'mode_of_sale'=>$row['mode_of_sale'], // 'type_of_payment'=>$row['type_of_payment'], // 'insurance'=>$row['insurance'], // 'source_of_sale'=>$row['source_of_sale'], // 'brand_offered'=>$row['brand_offered'], // 'sales_consultant'=>$row['sales_consultant'], // 'sales_manager'=>$row['sales_manager'], // 'status'=>($status) ? 'COM' : 'INC' , // 'access'=>($access) ? true : false , // ))); // } // $json_arr['total'] = $sales_list_query_count; //total number of result // $json_arr['result'] = intval($sales_list_query_count) > 0 ? true : false ; // return $json_arr; } function read_sales_future_vehicle($user_id, $all_tag_access, $attended_filter, $company, $brand, $start_date, $end_date, $search, $offset, $limit, $required_fields, $secure, $utility, $db) { $json_arr['rows'] = array(); $company_filter = ($company == '') ? '' : " AND scd.company_id IN (" . $company . ") "; $brand_filter = ($brand == '') ? '' : " AND sbsbo.id IN (" . $brand . ") "; $view_all = ($all_tag_access) ? '' : " AND ( (fvas.added_by = $user_id AND fvas.status <> 0) OR fvas.id IS NULL) "; $attended_filter_status = $attended_filter; if ($utility->isNotEmpty($attended_filter)) { if (intval($attended_filter_status) === 1) { $attended_filter = " AND fvas.id IS NOT NULL "; } else { $attended_filter = " AND fvas.id IS NULL "; } } else { $attended_filter = ''; } // $attended_filter = ($attended_filter == '') ? '' : " AND fvas.id IS NOT NULL "; if ($start_date <> '' && $end_date <> '' && $start_date <> '1970-01-01') { $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; } else { $date_filter = ""; } if ($search != '') { $search_alpha_numeric_only = $utility->alphaNumericOnly($search); $search = " AND (CONCAT( IF(c.id IS NOT NULL, CONCAT( c.corporation_name, ' ', c.first_name, ' ', c.last_name , ' ', c.first_name, ' ', c.middle_name, ' ', c.last_name, ' ', concat('0',SUBSTRING(cc.mobile_phone_1, 4)), '',cc.mobile_phone_1 ) ,'') ) LIKE '%$search%' OR CONCAT( IF( v.conduction_sticker IS NOT NULL, v.conduction_sticker, '' ),'', IF( v.plate_number IS NOT NULL, v.plate_number, '' ),'', IF( s.order_number IS NOT NULL, s.order_number, '' )) LIKE '%$search_alpha_numeric_only%' OR CONCAT(sct.first_name,' ',sct.last_name,' ',sct.first_name) LIKE '%$search%' OR cc.email_1 = '" . $search . "') "; } $offset_limit = ($utility->isNotEmpty($offset) && $utility->isNotEmpty($limit)) ? " LIMIT $offset,$limit " : ''; $field = " t1.asa_sales_person as asa_sc_id, t1.m_asa_group_manager_id as asa_sm_id, t1.customer_id, t1.sales_id, t1.m_vehicle_id AS vehicle_id, t1.m_customer_name AS customer_name, t1.m_corporation_name AS corporation_name, t1.m_first_name AS first_name, t1.m_middle_name AS middle_name, t1.m_last_name AS last_name, t1.m_customer_type AS customer_type, t1.m_customer_affiliation AS customer_affiliation, t1.m_gender as gender, t1.m_date_of_birth as date_of_birth, t1.m_address_1 AS address_1, t1.m_email_1 AS email_1, t1.m_mobile_phone_1 AS mobile_phone_1, t1.m_facebook AS facebook, t1.m_customer_company AS customer_company, t1.m_position AS position, t1.m_nature_of_business AS nature_of_business, t1.m_profession as profession, t1.m_conduction_sticker as conduction_sticker, t1.m_plate_number as plate_number, t1.m_brand_name as brand_name, t1.m_model_name as model_name, t1.m_model_variant as model_variant, t1.m_model_year as model_year, t1.m_vehicle_color as vehicle_color, t1.m_dms as dms, t1.m_company as company, t1.m_dealer as dealer, t1.m_assigned_sc as assigned_sc, t1.m_assigned_sc_name as assigned_sc_name, t1.m_future_from_db as future_from_db, t1.m_end_user as end_user, t1.m_release_date as release_date, DATEDIFF(NOW(), t1.m_release_date) as release_date_count, t1.m_mode_of_sale as mode_of_sale, t1.m_type_of_payment as type_of_payment, t1.m_insurance as insurance, t1.m_source_of_sale as source_of_sale, t1.m_brand_offered as brand_offered, t1.m_brand_offered_brand as brand_offered_brand, t1.m_brand_offered_model as brand_offered_model, t1.m_sales_consultant as sales_consultant, t1.m_sales_manager as sales_manager, IF(t1.m_customer_type = 1,'Individual',IF(t1.m_customer_type = 2,'Corporation','')) as customer_type_name, /*t1.m_customer_type_name as customer_type_name,*/ t1.m_vehicle_image as vehicle_image, t1.m_customer_category as customer_category, t1.m_is_active as is_active, IF(t1.complete = 1,'COM','INC') as status, IF(t1.complete = 1 AND t1.m_complete_date = '',t1.m_release_date,t1.m_complete_date) as complete_date, t1.m_incomplete_date as incomplete_date, /*t1.m_commission_status as commission_status, t1.m_commission_status_id as commission_status_id,*/ IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3),'HOLD', IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1),'FOR RELEASE', 'RELEASED' )) as commission_status, IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3),'0', IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1),'1', '2' )) as commission_status_id, DATE_FORMAT(t1.m_commission_hold_date,'%M %d, %Y - %h:%m%p') as hold_commission_date, t1.m_commission_hold_by as hold_commission_by, DATE_FORMAT(t1.m_commission_release_date,'%M %d, %Y - %h:%m%p') as released_commission_date, t1.m_commission_release_by as released_commission_by, DATE_FORMAT(t1.m_commission_for_release_date,'%M %d, %Y - %h:%m%p') as for_release_commission_date, t1.m_commission_for_release_by as for_release_commission_by, t1.m_commission_accounting_status as commission_accounting_status, t1.m_commission_accounting_status_id as commission_accounting_status_id, t1.m_future_vehicle_status as future_vehicle_status, t1.m_future_vehicle_status_id as future_vehicle_status_id "; $query = "SELECT %s FROM (" . $required_fields->getAllInOneComplianceQuery() . " AND s.asa_sales_person <> 0 %s /* search */ %s /* company */ %s /*brand offer*/ %s /* date */ %s /* attened filter */ AND v.status = 1 AND s.status = 1 AND (s.sales_person <> 0 OR s.sales_person <> '') AND c.id IS NOT NULL AND c.id <> 0 AND c.status = 1 AND sbsbo.id IS NOT NULL AND sbsbo.id <> 0 AND (sc.id IS NOT NULL AND sc.id <> 0) %s GROUP BY s.id ) as t1 WHERE 1 %s /*limit*/"; $magic_query = sprintf($query, $field, $search, $company_filter, $brand_filter, $date_filter, $attended_filter, $view_all, $offset_limit); // echo $magic_query; $list = $db->sql_query($magic_query); $list_count = $db->sql_num_rows(sprintf($query, ' 1 ', $search, $company_filter, $brand_filter, $date_filter, $attended_filter, $view_all, '')); $future_vehicle_no = $offset; $asa_ids = array(); foreach ($list as $row) { $asa_ids[] = $row['asa_sc_id']; } $asa_info = $utility->curl_me( 'https://www.autohub.ph/connect/LOAD_SALES_PERSON.php', array('apiKey' => '3892635489643867', 'ids' => json_encode($asa_ids)), "POST" ); $asa_info_arr = json_decode($asa_info, true); // print_r($asa_info_arr['rows']);exit; foreach ($list as $row) { //replace null to empty value $row = array_map(function ($v) { return (is_null($v)) ? "" : $v; //replace blank the null values }, $row); // if(!($utility->isNotEmpty($row['assigned_sc']) && intval($row['assigned_status']) && $row['assigned_added_by'] == $user_id) || // intval($row['assigned_status']) || // $utility->isNotEmpty($row['assigned_sc']) // ){ // continue; // } //check if complete or not $status = true; $future_vehicle_no++; $asa_sc_mobile = ''; foreach ($asa_info_arr['rows'] as $asa_row_info) { // echo ($asa_row_info['u_id']); if ($asa_row_info['u_id'] == $row['asa_sc_id']) { $asa_sc_mobile = $asa_row_info['usr_mobile']; break; } } // echo $row['future_from_db']; $hidden_contact = $utility->isNotEmpty($row['future_from_db']); $json_arr['rows'] = array_merge($json_arr['rows'], array(array( 'future_vehicle_no' => strval($future_vehicle_no), 'asa_sc_id' => $row['asa_sc_id'], 'asa_sm_id' => $row['asa_sm_id'], 'customer_id' => $row['customer_id'], 'sales_id' => $row['sales_id'], 'vehicle_id' => $row['vehicle_id'], 'customer_name' => $row['customer_name'], 'corporation_name' => $row['corporation_name'], 'first_name' => $row['first_name'], 'middle_name' => $row['middle_name'], 'last_name' => $row['last_name'], 'customer_affiliation' => $row['customer_affiliation'], 'release_date' => $row['release_date'], 'gender' => $row['gender'], 'date_of_birth' => $row['date_of_birth'], // 'address_1'=>!$utility->isNotEmpty($row['address_1']) ? : ($secure) ? $utility->mask($row['address_1'],3,0) : $row['address_1'], 'email_1' => (!$hidden_contact) ? $utility->mask_email($row['email_1']) : $row['email_1'], 'mobile_phone_1' => !$utility->isNotEmpty($row['mobile_phone_1']) ? "" : ((!$hidden_contact) ? '+' . $utility->mask($row['mobile_phone_1'], 4, 0) : $row['mobile_phone_1']), // 'facebook'=>!$utility->isNotEmpty($row['facebook']) ? : ($hidden_contact) ? $utility->mask($row['facebook'],4,0) : $row['facebook'], 'customer_company' => $row['customer_company'], 'position' => $row['position'], 'nature_of_business' => $row['nature_of_business'], 'profession' => $row['profession'], 'conduction_sticker' => $row['conduction_sticker'], 'plate_number' => $row['plate_number'], 'brand_name' => $row['brand_name'], 'model_name' => $row['model_name'], 'brand_model' => $row['brand_name'] . ' - ' . $row['model_name'], 'brand_offered_brand' => $row['brand_offered_brand'] . ($utility->isNotEmpty($row['brand_offered_model']) ? ' - ' . $row['brand_offered_model'] : ''), 'model_variant' => $row['model_variant'], 'model_year' => $row['model_year'], 'vehicle_color' => $row['vehicle_color'], 'dms' => $row['dms'], 'company_dealer' => $row['company'] . ' - ' . $row['dealer'], 'company' => $row['company'], 'dealer' => $row['dealer'], 'end_user' => $row['end_user'], 'release_date' => $row['release_date'], 'release_date_count' => $row['release_date_count'], 'mode_of_sale' => $row['mode_of_sale'], 'type_of_payment' => $row['type_of_payment'], 'insurance' => $row['insurance'], 'source_of_sale' => $row['source_of_sale'], 'brand_offered' => $row['brand_offered'], 'sales_consultant' => $row['sales_consultant'], 'sc_info' => $row['sales_consultant'] . ' - (' . $asa_sc_mobile . ')', 'sales_manager' => $row['sales_manager'], 'status' => $row['status'], 'commission' => $row['commission_status'], 'assigned_sc' => $row['assigned_sc'], 'assigned_sc_name' => $row['assigned_sc_name'], 'commission_id' => $row['commission_status_id'], 'commission_accounting_status' => $row['commission_accounting_status'], 'commission_accounting_status_id' => $row['commission_accounting_status_id'], 'future_vehicle_status' => $row['future_vehicle_status'], 'future_vehicle_status_id' => $row['future_vehicle_status_id'], 'commission_id_released' => $row['commission_status_id'], 'hold_commission_date' => $row['hold_commission_date'], 'hold_commission_by' => $row['hold_commission_by'], 'released_commission_date' => $row['released_commission_date'], 'released_commission_by' => $row['released_commission_by'], 'for_release_commission_date' => $row['for_release_commission_date'], 'for_release_commission_by' => $row['for_release_commission_by'], 'customer_type' => $row['customer_type'], 'customer_type_name' => $row['customer_type_name'], 'customer_category' => $row['customer_category'], 'vehicle_image' => $row['vehicle_image'], 'complete_date' => $row['complete_date'], 'is_active' => (intval($row['is_active']) == 1 ? 'Active' : 'Inactive'), 'future_from_db' => $row['future_from_db'], ))); } $json_arr['total'] = intval($list_count); $json_arr['result'] = intval($list_count) > 0 ? true : false; return ($json_arr); } function read_car_clubs($company, $start_date, $end_date, $search, $offset, $limit, $required_fields, $secure, $utility, $db) { $json_arr['rows'] = array(); $company_filter = ($company == '') ? '' : " AND scd.company_id IN (" . $company . ") "; if ($start_date <> '' && $end_date <> '' && $start_date <> '1970-01-01') { $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; } else { $date_filter = ""; } if ($search != '') { $search_alpha_numeric_only = $utility->alphaNumericOnly($search); $search = " AND (CONCAT( IF(c.id IS NOT NULL, CONCAT( c.corporation_name, ' ', c.first_name, ' ', c.last_name , ' ', c.first_name, ' ', c.middle_name, ' ', c.last_name, ' ', concat('0',SUBSTRING(cc.mobile_phone_1, 4)), '',cc.mobile_phone_1 ) ,''),'', IF( cac.id IS NOT NULL, cac.name, '' ) ) LIKE '%$search%' OR CONCAT( IF( v.conduction_sticker IS NOT NULL, v.conduction_sticker, '' ),'', IF( v.plate_number IS NOT NULL, v.plate_number, '' )) LIKE '%$search_alpha_numeric_only%' OR s.id= '$search' OR v.id= '$search' OR cc.email_1 = '" . $search . "') "; } $offset_limit = ($utility->isNotEmpty($offset) && $utility->isNotEmpty($limit)) ? " LIMIT $offset,$limit " : ''; $field = " t1.asa_sales_person as asa_sc_id, t1.m_asa_group_manager_id as asa_sm_id, t1.customer_id, t1.sales_id, t1.m_vehicle_id AS vehicle_id, t1.m_customer_name AS customer_name, t1.m_corporation_name AS corporation_name, t1.m_first_name AS first_name, t1.m_middle_name AS middle_name, t1.m_last_name AS last_name, t1.m_customer_type AS customer_type, t1.m_customer_affiliation AS customer_affiliation, t1.m_gender as gender, t1.m_date_of_birth as date_of_birth, t1.m_address_1 AS address_1, t1.m_email_1 AS email_1, t1.m_mobile_phone_1 AS mobile_phone_1, t1.m_facebook AS facebook, t1.m_customer_company AS customer_company, t1.m_position AS position, t1.m_nature_of_business AS nature_of_business, t1.m_profession as profession, t1.m_conduction_sticker as conduction_sticker, t1.m_plate_number as plate_number, t1.m_brand_name as brand_name, t1.m_model_name as model_name, t1.m_model_variant as model_variant, t1.m_model_year as model_year, t1.m_vehicle_color as vehicle_color, t1.m_dms as dms, t1.m_company as company, t1.m_dealer as dealer, t1.m_end_user as end_user, t1.m_release_date as release_date, DATEDIFF(NOW(), t1.m_release_date) as release_date_count, t1.m_mode_of_sale as mode_of_sale, t1.m_type_of_payment as type_of_payment, t1.m_insurance as insurance, t1.m_source_of_sale as source_of_sale, t1.m_brand_offered as brand_offered, t1.m_brand_offered_brand as brand_offered_brand, t1.m_sales_consultant as sales_consultant, t1.m_sales_manager as sales_manager, IF(t1.m_customer_type = 1,'Individual',IF(t1.m_customer_type = 2,'Corporation','')) as customer_type_name, /*t1.m_customer_type_name as customer_type_name,*/ t1.m_vehicle_image as vehicle_image, t1.m_customer_category as customer_category, t1.m_is_active as is_active, IF(t1.complete = 1,'COM','INC') as status, IF(t1.complete = 1 AND t1.m_complete_date = '',t1.m_release_date,t1.m_complete_date) as complete_date, t1.m_incomplete_date as incomplete_date, /*t1.m_commission_status as commission_status, t1.m_commission_status_id as commission_status_id,*/ IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3),'HOLD', IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1),'FOR RELEASE', 'RELEASED' )) as commission_status, IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3),'0', IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1),'1', '2' )) as commission_status_id, DATE_FORMAT(t1.m_commission_hold_date,'%M %d, %Y - %h:%m%p') as hold_commission_date, t1.m_commission_hold_by as hold_commission_by, DATE_FORMAT(t1.m_commission_release_date,'%M %d, %Y - %h:%m%p') as released_commission_date, t1.m_commission_release_by as released_commission_by, DATE_FORMAT(t1.m_commission_for_release_date,'%M %d, %Y - %h:%m%p') as for_release_commission_date, t1.m_commission_for_release_by as for_release_commission_by, t1.m_commission_accounting_status as commission_accounting_status, t1.m_commission_accounting_status_id as commission_accounting_status_id, t1.m_future_vehicle_status as future_vehicle_status, t1.m_future_vehicle_status_id as future_vehicle_status_id "; $query = "SELECT %s FROM (" . $required_fields->getAllInOneComplianceQuery() . " /*AND s.asa_sales_person <> 0 */ %s /* search */ %s /*company*/ %s /* date */ AND cac.affiliation_id = 5 AND cac.status = 1 AND cal.status = 1 AND v.status = 1 AND s.status = 1 AND c.id IS NOT NULL AND c.id <> 0 AND c.status = 1 GROUP BY s.id ) as t1 WHERE 1 %s /*limit*/"; // echo $query ;exit; $magic_query = sprintf($query, $field, $search, $company_filter, $date_filter, $offset_limit); // echo $magic_query;exit; $list = $db->sql_query($magic_query); $list_count = $db->sql_num_rows(sprintf($query, ' 1 ', $search, $company_filter, $date_filter, '')); $future_vehicle_no = 0; foreach ($list as $row) { //replace null to empty value $row = array_map(function ($v) { return (is_null($v)) ? "" : $v; //replace blank the null values }, $row); //check if complete or not $status = true; $future_vehicle_no++; $json_arr['rows'] = array_merge($json_arr['rows'], array(array( 'future_vehicle_no' => strval($future_vehicle_no), 'asa_sc_id' => $row['asa_sc_id'], 'asa_sm_id' => $row['asa_sm_id'], 'customer_id' => $row['customer_id'], 'sales_id' => $row['sales_id'], 'vehicle_id' => $row['vehicle_id'], 'customer_name' => $row['customer_name'], 'corporation_name' => $row['corporation_name'], 'first_name' => $row['first_name'], 'middle_name' => $row['middle_name'], 'last_name' => $row['last_name'], 'customer_affiliation' => $row['customer_affiliation'], 'release_date' => $row['release_date'], 'gender' => $row['gender'], 'date_of_birth' => $row['date_of_birth'], 'address_1' => !$utility->isNotEmpty($row['address_1']) ?: ($secure) ? $utility->mask($row['address_1'], 3, 0) : $row['address_1'], 'email_1' => ($secure) ? $utility->mask_email($row['email_1']) : $row['email_1'], 'mobile_phone_1' => !$utility->isNotEmpty($row['mobile_phone_1']) ?: ($secure) ? $utility->mask($row['mobile_phone_1'], 4, 0) : $row['mobile_phone_1'], 'facebook' => !$utility->isNotEmpty($row['facebook']) ?: ($secure) ? $utility->mask($row['facebook'], 4, 0) : $row['facebook'], 'customer_company' => $row['customer_company'], 'position' => $row['position'], 'nature_of_business' => $row['nature_of_business'], 'profession' => $row['profession'], 'conduction_sticker' => $row['conduction_sticker'], 'plate_number' => $row['plate_number'], 'brand_name' => $row['brand_name'], 'model_name' => $row['model_name'], 'brand_model' => $row['brand_name'] . ' - ' . $row['model_name'], 'brand_offered_brand' => $row['brand_offered_brand'], 'model_variant' => $row['model_variant'], 'model_year' => $row['model_year'], 'vehicle_color' => $row['vehicle_color'], 'dms' => $row['dms'], 'company' => $row['company'], 'dealer' => $row['dealer'], 'end_user' => $row['end_user'], 'release_date' => $row['release_date'], 'release_date_count' => $row['release_date_count'], 'mode_of_sale' => $row['mode_of_sale'], 'type_of_payment' => $row['type_of_payment'], 'insurance' => $row['insurance'], 'source_of_sale' => $row['source_of_sale'], 'brand_offered' => $row['brand_offered'], 'sales_consultant' => $row['sales_consultant'], 'sales_manager' => $row['sales_manager'], 'status' => $row['status'], 'commission' => $row['commission_status'], 'commission_id' => $row['commission_status_id'], 'commission_accounting_status' => $row['commission_accounting_status'], 'commission_accounting_status_id' => $row['commission_accounting_status_id'], 'future_vehicle_status' => $row['future_vehicle_status'], 'future_vehicle_status_id' => $row['future_vehicle_status_id'], 'commission_id_released' => $row['commission_status_id'], 'hold_commission_date' => $row['hold_commission_date'], 'hold_commission_by' => $row['hold_commission_by'], 'released_commission_date' => $row['released_commission_date'], 'released_commission_by' => $row['released_commission_by'], 'for_release_commission_date' => $row['for_release_commission_date'], 'for_release_commission_by' => $row['for_release_commission_by'], 'customer_type' => $row['customer_type'], 'customer_type_name' => $row['customer_type_name'], 'customer_category' => $row['customer_category'], 'vehicle_image' => $row['vehicle_image'], 'complete_date' => $row['complete_date'], 'is_active' => (intval($row['is_active']) == 1 ? 'Active' : 'Inactive'), ))); } $json_arr['total'] = intval($list_count); $json_arr['result'] = intval($list_count) > 0 ? true : false; return ($json_arr); } function read_sales_compliance_status_history($sales_id, $utility, $db) { $list = $db->sql_query("SELECT DATE_FORMAT(t1.date_added,'%M %d, %Y - %h:%m%p') as date, CONCAT(e.first_name,' ',e.last_name) as user, t1.status, t1.description FROM ( SELECT scs.sales_id,scs.employee_id,scss.name as status,scs.description,scs.date_added FROM sales_commission_status scs INNER JOIN source_commission_status scss ON scs.commission_status = scss.id WHERE sales_id = $sales_id UNION ALL SELECT scas.sales_id,scas.employee_id,scass.name as status,'',scas.date_added FROM sales_commission_accounting_status scas INNER JOIN source_commission_accounting_status scass ON scas.commission_accounting_status = scass.id WHERE sales_id = $sales_id ) t1 INNER JOIN employee e ON t1.employee_id=e.id ORDER BY t1.date_added DESC"); $data = array(); foreach ($list as $row) { $data = array_merge($data, array(array('date' => $row['date'], 'user' => $row['user'], 'status' => $row['status'], 'description' => $row['description']))); } echo json_encode($data); } function read_sales_complete_incomplete_count($asa_id, $required_fields, $db) { $incomplete_where = $required_fields->getIncompleteWhere(); $complete_where = $required_fields->getCompleteWhere(); $compliance_query = $required_fields->getComplianceQuery(); $sales_query = $compliance_query . " WHERE 1 %s AND s.asa_sales_person = '%s' AND s.status = 1 AND c.id IS NOT NULL GROUP BY v.id,s.id ORDER BY s.activity_date DESC "; $count = " count(s.id) "; // echo sprintf($sales_query, $count ,$complete_where, $asa_id);exit; $sales_list_query_count_complete = $db->select("SELECT COUNT(1) FROM ( " . sprintf($sales_query, $count, $complete_where, $asa_id) . " ) as total_count"); $sales_list_query_count_incomplete = $db->select("SELECT COUNT(1) FROM ( " . sprintf($sales_query, $count, $incomplete_where, $asa_id) . " ) as total_count"); $result_arr["sales_consultant_data"] = array(); $result_arr["sales_consultant_data"] = array_merge( $result_arr["sales_consultant_data"], array(array( 'total' => number_format($sales_list_query_count_complete + $sales_list_query_count_incomplete), 'complete' => number_format($sales_list_query_count_complete), 'incomplete' => number_format($sales_list_query_count_incomplete), 'score' => ($sales_list_query_count_complete + $sales_list_query_count_incomplete) == 0 ? '0.00%' : number_format(($sales_list_query_count_complete / ($sales_list_query_count_complete + $sales_list_query_count_incomplete)) * 100, 2) . '%', )) ); echo json_encode($result_arr); } function getComplianceSummaryCount($asa_id, $sc_id, $start_date, $end_date, $company, $required_fields, $db) { $company = ($company == '') ? '' : " AND sc.id IN (" . $company . ") "; if ($start_date != '' && $end_date != '' && $start_date <> '1970-01-01') { $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; } else { $date_filter = ''; } $asa_id = ($asa_id == '') ? '' : " AND s.asa_sales_person = '$asa_id' "; $sc_id = ($sc_id == '') ? '' : " AND s.sales_person = '$sc_id' "; $field = " sc.id as datacon_sc_id,t1.asa_sales_person as asa_id,CONCAT(sc.first_name,' ',sc.last_name) as name, SUM(t1.complete) as complete, SUM(t1.incomplete) as incomplete, SUM(t1.total) total, ((SUM(t1.complete)/SUM(t1.total))*100) as rate, SUM(IF((t1.complete = 0 AND (t1.m_commission_status_id = 0 || t1.m_commission_status_id = 3)) OR (t1.complete = 1 AND t1.m_commission_status_id = 3),1, 0)) as hold, SUM(IF((t1.complete = 1 AND t1.m_commission_status_id = 0) OR (t1.complete = 1 AND t1.m_commission_status_id = 1) OR (t1.complete = 0 AND t1.m_commission_status_id = 1),1,0)) as for_release, SUM(IF(t1.m_commission_status_id = 2,1,0)) as released "; $count = " COUNT(1) "; $query = "SELECT %s FROM (" . $required_fields->getAllInOneComplianceQuery() . " /*AND s.asa_sales_person <> 0 */ %s /*company*/ %s /* date */ %s /* asa id */ %s /*sc id*/ AND v.status = 1 AND s.status = 1 AND c.id IS NOT NULL AND c.id <> 0 AND c.status = 1 GROUP BY s.id ) as t1 INNER JOIN sales_consultant sc ON t1.sales_person = sc.id WHERE 1 AND (sc.id IS NOT NULL AND sc.id <> 0)"; // echo (sprintf($query,$field,$company,$date_filter,$asa_id,$sc_id));exit; $list = $db->sql_query(sprintf($query, $field, $company, $date_filter, $asa_id, $sc_id)); $complete = 0; $incomplete = 0; $total = 0; $for_release = 0; $released = 0; $hold = 0; $rate = '0%'; foreach ($list as $row) { $row = array_map(function ($v) { return (is_null($v)) ? "0" : $v; //replace blank the null values }, $row); $complete = $row['complete']; $incomplete = $row['incomplete']; $for_release = $row['for_release']; $released = $row['released']; $hold = $row['hold']; $total = $row['total']; $rate = number_format($row['rate'], 2) . '%'; } $counts['complete_compliance'] = $complete; $counts['incomplete_compliance'] = $incomplete; $counts['total_compliance'] = $total; $counts['hold_compliance'] = $hold; $counts['for_release_compliance'] = $for_release; $counts['released_compliance'] = $released; $counts['rate_compliance'] = $rate; // $list = $db->sql_query(sprintf($query,$field,$company,$date_filter)); // $counts = $this->getComplianceSummaryCountFetch($asa_id,$start_date,$end_date,$company,$required_fields,$db); echo json_encode($counts); } // function getComplianceSummaryCountFetch($asa_id,$start_date,$end_date,$company,$required_fields,$db){ //deprecated // $incomplete_where = $required_fields -> getIncompleteWhere(); // $complete_where = $required_fields -> getCompleteWhere(); // if($start_date != '' && $end_date != '' && $start_date <> '1970-01-01'){ // $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; // }else{ // $date_filter = ''; // } // $company_filter = ($company == '') ? '' : " AND scd.company_id IN (".$company.") "; // $asa_id = ($asa_id == '') ? '' : " AND s.asa_sales_person = '$asa_id' "; // $compliance_query = $required_fields->getComplianceQuery(); // $sales_query = $compliance_query." WHERE 1 // %s // %s // %s // %s // AND s.status = 1 // AND c.id IS NOT NULL // GROUP BY v.id,s.id // ORDER BY // s.activity_date DESC // "; // $count = " count(s.id) "; // $counts = array(); // // echo ("SELECT COUNT(1) FROM ( ".sprintf($sales_query, $count ,$complete_where,$date_filter,$asa_id ,$company_filter )." ) as total_count"); exit; // $counts['complete_compliance'] = $db -> select("SELECT COUNT(1) FROM ( ".sprintf($sales_query, $count ,$complete_where,$date_filter,$asa_id ,$company_filter )." ) as total_count"); // $counts['incomplete_compliance'] = $db -> select("SELECT COUNT(1) FROM ( ".sprintf($sales_query, $count ,$incomplete_where,$date_filter,$asa_id ,$company_filter )." ) as total_count"); // $counts['total_compliance'] = intval($counts['complete_compliance']) + intval($counts['incomplete_compliance']); // if($counts['total_compliance'] > 0){ // $score = number_format((intval($counts['complete_compliance']) / $counts['total_compliance'])*100,2); // }else{ // $score = 0; // } // $counts['rate_compliance'] = floatval($score).'%'; // return $counts; // } function get_sc_percentage($days) { $days = intval($days); $percentage = "0%"; if ($days <= 14) { $percentage = "100%"; } else if ($days >= 15 && $days <= 30) { $percentage = "50%"; } else if ($days >= 31 && $days <= 50) { $percentage = "30%"; } else if ($days >= 51) { $percentage = "0%"; } return $percentage; } function get_st_percentage($days) { $days = intval($days); $percentage = "0%"; if ($days <= 14) { $percentage = "0%"; } else if ($days >= 15 && $days <= 30) { $percentage = "50%"; } else if ($days >= 31 && $days <= 50) { $percentage = "70%"; } else if ($days >= 51) { $percentage = "100%"; } return $percentage; } function read_required_fields_and_counts($asa_id, $sc_id, $company, $start_date, $end_date, $required_fields, $db) { $company = " AND sc.id IN (" . $company . ") "; if ($start_date != '' && $end_date != '' && $start_date <> '1970-01-01') { $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; } else { $date_filter = ''; } $asa_id = ($asa_id == '') ? '' : " AND s.asa_sales_person = '$asa_id' "; $sc_id = ($sc_id == '') ? '' : " AND s.sales_person = '$sc_id' "; $field = " sc.id as datacon_sc_id,t1.asa_sales_person as asa_id,CONCAT(sc.first_name,' ',sc.last_name) as name, SUM(t1.complete) as complete, SUM(t1.incomplete) as incomplete, SUM(t1.total) total, ((SUM(t1.complete)/SUM(t1.total))*100) as rate, SUM(t1.gender) gender, SUM(t1.incomplete_gender) incomplete_gender, ((SUM(t1.gender)/SUM(t1.total))*100) as gender_rate, SUM(t1.date_of_birth) date_of_birth, SUM(t1.incomplete_date_of_birth) incomplete_date_of_birth, ((SUM(t1.date_of_birth)/SUM(t1.total))*100) as date_of_birth_rate, SUM(t1.profession) profession, SUM(t1.incomplete_profession) incomplete_profession, ((SUM(t1.profession)/SUM(t1.total))*100) as profession_rate, SUM(t1.position) position, SUM(t1.incomplete_position) incomplete_position, ((SUM(t1.position)/SUM(t1.total))*100) as position_rate, SUM(t1.facebook) facebook, SUM(t1.incomplete_facebook) incomplete_facebook, ((SUM(t1.facebook)/SUM(t1.total))*100) as facebook_rate, SUM(t1.customer_company) customer_company, SUM(t1.incomplete_customer_company) incomplete_customer_company, ((SUM(t1.customer_company)/SUM(t1.total))*100) as customer_company_rate, SUM(t1.brand_name) brand_name, SUM(t1.incomplete_brand_name) incomplete_brand_name, ((SUM(t1.brand_name)/SUM(t1.total))*100) as brand_name_rate, SUM(t1.release_date) release_date, SUM(t1.incomplete_release_date) incomplete_release_date, ((SUM(t1.release_date)/SUM(t1.total))*100) as release_date_rate, SUM(t1.mode_of_sale) mode_of_sale, SUM(t1.incomplete_mode_of_sale) incomplete_mode_of_sale, ((SUM(t1.mode_of_sale)/SUM(t1.total))*100) as mode_of_sale_rate, SUM(t1.end_user) end_user, SUM(t1.incomplete_end_user) incomplete_end_user, ((SUM(t1.end_user)/SUM(t1.total))*100) as end_user_rate, SUM(t1.nature_of_business) nature_of_business, SUM(t1.incomplete_nature_of_business) incomplete_nature_of_business, ((SUM(t1.nature_of_business)/SUM(t1.total))*100) as nature_of_business_rate, SUM(t1.customer_affiliation) customer_affiliation, SUM(t1.incomplete_customer_affiliation) incomplete_customer_affiliation, ((SUM(t1.customer_affiliation)/SUM(t1.total))*100) as customer_affiliation_rate, SUM(t1.type_of_payment) type_of_payment, SUM(t1.incomplete_type_of_payment) incomplete_type_of_payment, ((SUM(t1.type_of_payment)/SUM(t1.total))*100) as type_of_payment_rate, SUM(t1.insurance) insurance, SUM(t1.incomplete_insurance) incomplete_insurance, ((SUM(t1.insurance)/SUM(t1.total))*100) as insurance_rate, SUM(t1.sales_consultant) sales_consultant, SUM(t1.incomplete_sales_consultant) incomplete_sales_consultant, ((SUM(t1.sales_consultant)/SUM(t1.total))*100) as sales_consultant_rate, SUM(t1.sales_manager) sales_manager, SUM(t1.incomplete_sales_manager) incomplete_sales_manager, ((SUM(t1.sales_manager)/SUM(t1.total))*100) as sales_manager_rate, SUM(t1.source_of_sale) source_of_sale, SUM(t1.incomplete_source_of_sale) incomplete_source_of_sale, ((SUM(t1.source_of_sale)/SUM(t1.total))*100) as source_of_sale_rate, SUM(t1.brand_offered) brand_offered, SUM(t1.incomplete_brand_offered) incomplete_brand_offered, ((SUM(t1.brand_offered)/SUM(t1.total))*100) as brand_offered_rate, SUM(t1.address_1) address_1, SUM(t1.incomplete_address_1) incomplete_address_1, ((SUM(t1.address_1)/SUM(t1.total))*100) as address_1_rate, SUM(t1.email_1) email_1, SUM(t1.incomplete_email_1) incomplete_email_1, ((SUM(t1.email_1)/SUM(t1.total))*100) as email_1_rate, SUM(t1.mobile_phone_1) mobile_phone_1, SUM(t1.incomplete_mobile_phone_1) incomplete_mobile_phone_1, ((SUM(t1.mobile_phone_1)/SUM(t1.total))*100) as mobile_phone_1_rate, SUM(t1.conduction_sticker) conduction_sticker, SUM(t1.incomplete_conduction_sticker) incomplete_conduction_sticker, ((SUM(t1.conduction_sticker)/SUM(t1.total))*100) as conduction_sticker_rate, SUM(t1.vehicle_color) vehicle_color, SUM(t1.incomplete_vehicle_color) incomplete_vehicle_color, ((SUM(t1.vehicle_color)/SUM(t1.total))*100) as vehicle_color_rate, SUM(t1.model_name) model_name, SUM(t1.incomplete_model_name) incomplete_model_name, ((SUM(t1.model_name)/SUM(t1.total))*100) as model_name_rate, SUM(t1.model_year) model_year, SUM(t1.incomplete_model_year) incomplete_model_year, ((SUM(t1.model_year)/SUM(t1.total))*100) as model_year_rate, SUM(t1.model_variant) model_variant, SUM(t1.incomplete_model_variant) incomplete_model_variant, ((SUM(t1.model_variant)/SUM(t1.total))*100) as model_variant_rate, SUM(t1.customer_name) customer_name, SUM(t1.incomplete_customer_name) incomplete_customer_name, ((SUM(t1.customer_name)/SUM(t1.total))*100) as customer_name_rate "; $query = "SELECT %s FROM (" . $required_fields->getAllInOneComplianceQuery() . " /*AND s.asa_sales_person <> 0 */ %s /*company*/ %s /* date */ %s /* asa id */ %s /*sc id*/ AND v.status = 1 AND s.status = 1 AND c.id IS NOT NULL AND c.id <> 0 AND c.status = 1 GROUP BY s.id ) as t1 INNER JOIN sales_consultant sc ON t1.sales_person = sc.id WHERE 1 AND (sc.id IS NOT NULL AND sc.id <> 0)"; $list = $db->sql_query(sprintf($query, $field, $company, $date_filter, $asa_id, $sc_id)); $data = array(); $required_field = $required_fields->getRequiredFields(); //get trequired fields array foreach ($required_field as $key => $item) { foreach ($list as $datas) { if (isset($datas[$key])) { $submitted = $datas['total']; $complete = $datas[$key]; $incomplete = $datas['incomplete_' . $key]; $score = $datas[$key . '_rate']; $data = array_merge($data, array(array('information_code' => $key, 'information' => $item, 'submitted' => (string) $submitted, 'score' => (string) floatval($score), 'complete' => (string) $complete, 'incomplete' => (string) $incomplete))); } } } echo json_encode($data); // exit; // // echo $company.'<br>'.$start_date.'<br>'.$end_date; // $data=array(); // $required_field = $required_fields->getRequiredFields(); // $incomplete_fields = $required_fields -> getIncompleteFieldCount(); // $complete_fields = $required_fields -> getCompleteFieldCount(); // $compliance_query = $required_fields -> getComplianceQuery(); // // $fields = $required_fields->getRequiredFieldsCount(); // if($start_date != '' && $end_date != '' && $start_date <> '1970-01-01'){ // $date_filter = " AND DATE_FORMAT(s.activity_date,'%Y-%m-%d 00:00:00') BETWEEN DATE_FORMAT('$start_date', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('$end_date', '%Y-%m-%d 23:59:00') "; // }else{ // $date_filter = ''; // } // $company_filter = ($company == '') ? '' : " AND scd.company_id IN (".$company.") "; // $asa_id = ($asa_id == '') ? '' : " AND s.asa_sales_person = '$asa_id' "; // $sc_id = ($asa_id == '') ? '' : " AND s.sales_person = '$sc_id' "; // $query = $compliance_query." WHERE 1 // %s // %s // %s // %s // AND s.status = 1 // AND c.id IS NOT NULL // ORDER BY // s.activity_date DESC // "; // // echo (sprintf($query, $complete_fields.','.$incomplete_fields, '',$date_filter, $asa_id,$company_filter ));exit; // $query_result = $db -> sql_query(sprintf($query, $complete_fields.','.$incomplete_fields, '',$date_filter, $asa_id,$company_filter )); // foreach($required_field as $key => $item) { // if( // ($key != 'sales_consultant' && $key != 'sales_manager' && $key != 'end_user' && $key != 'customer_company') // ){ // foreach($query_result as $datas){ // if(isset($datas[$key])){ // $submitted = intval($datas[$key]) + intval($datas['incomplete_'.$key]); // // if($datas['type'] == '2'){ // // if($datas[$key] == 'profession' || $datas[$key] == '' ||){ // // } // // }else{ // // $complete = $datas[$key]; // // } // $complete = $datas[$key]; // $incomplete = $datas['incomplete_'.$key]; // if($submitted > 0){ // $score = number_format(($complete / $submitted)*100,2); // }else{ // $score = 0; // } // $data = array_merge($data,array(array('information_code'=>$key,'information'=>$item,'submitted'=>(string) $submitted,'score'=>(string) floatval($score),'complete'=>(string) $complete,'incomplete'=>(string) $incomplete))); // } // } // } // } // echo json_encode($data); } function update_sales_commission($asa_id, $sales_id, $status, $user_id, $description, $utility, $db) { // $db->sql_query("UPDATE sales SET commission_status = '$status',commission_status_modified_by = NULLIF('$user_id',''), commission_status_modified_date = NOW() WHERE id = '$sales_id' "); $db->sql_query("INSERT INTO `sales_commission_status`(`sales_id`, `employee_id`, `commission_status`,`description`) VALUES ('$sales_id','$user_id','$status','$description')"); } function update_sales_commission_accounting($asa_id, $sales_id, $status, $user_id, $utility, $db) { // echo "INSERT INTO `sales_commission_accounting_status`(`sales_id`, `employee_id`, `commission_accounting_status`) VALUES ('$sales_id','$user_id','$status')";exit; $db->sql_query("INSERT INTO `sales_commission_accounting_status`(`sales_id`, `employee_id`, `commission_accounting_status`) VALUES ('$sales_id','$user_id','$status')"); } function update_sales_future_vehicle($asa_id, $sales_id, $status, $user_id, $utility, $db) { // echo "INSERT INTO `sales_commission_accounting_status`(`sales_id`, `employee_id`, `commission_accounting_status`) VALUES ('$sales_id','$user_id','$status')";exit; $db->sql_query("INSERT INTO `sales_future_vehicle_status`(`sales_id`, `employee_id`, `status_id`) VALUES ('$sales_id','$user_id','$status')"); } function update_future_vehicle_assigned_sc_all($sales_id, $utility, $db) { $db->sql_query("UPDATE `future_vehicle_assigned_sc` SET `status`= 0 WHERE `sales_id` = $sales_id"); } function update_future_vehicle_assigned_sc($sales_id, $asa_id, $asa_name, $utility, $db) { $db->sql_query("UPDATE `future_vehicle_assigned_sc` SET `status`= 1,asa_sc_name = '$asa_name' WHERE `sales_id` = $sales_id AND asa_id = $asa_id "); } function read_future_vehicle_assigned_sc($sales_id, $assigned_sc_id, $utility, $db) { $db->sql_query("SELECT * FROM `future_vehicle_assigned_sc` WHERE 1 AND `sales_id` = $sales_id AND `asa_id` = $assigned_sc_id "); } function create_future_vehicle_assigned_sc($sales_id, $assigned_sc_id, $assigned_sc_name, $user_id, $utility, $db) { $db->sql_query("INSERT INTO `future_vehicle_assigned_sc`(`sales_id`, `asa_id`,`asa_sc_name`, `added_by`, `date_added`, `status`) VALUES ('$sales_id','$assigned_sc_id','$assigned_sc_name','$user_id',NOW(),'1')"); } function read_future_tag($sales_id, $asa_id, $user_id, $utility, $db) { return $db->sql_query("SELECT * FROM `future_vehicle_tag_db` WHERE 1 AND `sales_id` = $sales_id AND `assigned_sc` = $asa_id "); } function create_future_tag($sales_id, $asa_id, $user_id, $utility, $db) { return $db->sql_query("INSERT INTO `future_vehicle_tag_db`( `sales_id`, `assigned_sc`, `added_by`, `date_added`, `status`) VALUES ('$sales_id','$asa_id','$user_id',NOW(),1)"); } function update_future_tag($sales_id, $asa_id, $user_id, $status, $utility, $db) { return $db->sql_query("UPDATE `future_vehicle_tag_db` SET `status`= $status WHERE 1 AND `sales_id` = $sales_id AND `assigned_sc` = $asa_id "); } function update_future_tag_all($sales_id, $utility, $db) { return $db->sql_query("UPDATE `future_vehicle_tag_db` SET `status`= 0 WHERE 1 AND `sales_id` = $sales_id "); } } PK }�ZY}�o o sms.phpnu �[��� <?php class SMSS { function update_sc_reminder_status($json, $db) { $num_rows = $db->sql_num_rows("SELECT * FROM `config_sms_sc_reminder` WHERE 1"); if (intval($num_rows) > 0) { //update $db->sql_query("UPDATE `config_sms_sc_reminder` SET template='$json' "); } else { //insert $db->sql_query("INSERT INTO `config_sms_sc_reminder` (template) VALUES ('$json') "); } } function get_sc_reminder($utility, $db) { return $db->select("SELECT template FROM `config_sms_sc_reminder` LIMIT 1"); } function read_color($name, $db) { $colors = $db->return_result("SELECT id,name FROM `vehicle_color` WHERE status = 1 AND `name` LIKE '%$name%' LIMIT 10 "); $json = []; foreach ($colors as $color) { $json[] = ['id' => $color['name'], 'text' => $color['name']]; } echo json_encode($json); } function read_color_name_by_id($id, $db) { return $db->select("SELECT name FROM `vehicle_color` WHERE status = 1 AND `id` = '$id'"); } function create_color($name, $db) { return $db->sql_query_id("INSERT INTO vehicle_color (`name`, `status`) VALUES ('$name', '1')"); } function read_module_template($id, $db) { return $db->select("SELECT template FROM `sms_module_templates` WHERE status = 1 AND `id` = '$id'"); } function read_module_status($id, $db) { return $db->select("SELECT status FROM `sms_modules` WHERE status = 1 AND `id` = '$id'"); } function update_module_status($id, $module, $status, $db) { // return $db->sql_query("UPDATE `sms_modules` SET status = $status WHERE 1 AND `id` = '$id'"); return $db->sql_query("INSERT INTO sms_modules (id,module,status) VALUES ('$id','$module','$status') ON DUPLICATE KEY UPDATE module = VALUES (module),status = VALUES (status)"); } function update_module_template($id, $module_id, $template, $db) { // return $db->sql_query("UPDATE `sms_module_templates` SET template = '$template' WHERE 1 AND `id` = '$id'"); return $db->sql_query("INSERT INTO `sms_module_templates` (id,module_id,template,status) VALUES ('$id','$module_id','$template','1') ON DUPLICATE KEY UPDATE `template` = VALUES (template), `module_id` = VALUES (module_id),`status` = VALUES (status) "); } } PK }�Z�e�d �d import_finance_pdc.phpnu �[��� <?php class Import { function getArrayFields($id, $db){ $return_array = array(); $data_list = $db->sql_query("SELECT `name` FROM `source_finance_pdc_fields_name` WHERE `finance_field_pdc_id` = '$id'"); foreach($data_list as $row){ $return_array = array_merge($return_array, array($row['name'])); } // print_r($return_array); exit; return $return_array; } function getIssueSummaryField($str, $ColumnNumber, $array_data){ for($i = 0; $i < $ColumnNumber; $i++){ if(in_array($str, $array_data, true)){ return $i; } } return "-5"; } function getFieldFromExcel($row, $ColumnNumber, $array_data){ for($i = 0; $i < $ColumnNumber; $i++){ if(in_array(trim($row[$i]), $array_data, true)){ return $row[$i]; } } return ""; } function checkExist($row, $field, $utility){ if(!$utility->isNotEmpty($field)){ return ""; } $key = array_search($field, $GLOBALS['row_headers']); return isset($row[$key]) ? $row[$key] : '' ; } function getCompanyIdByName($data_dms, $data_company, $utility, $db){ $id = $db -> select("SELECT id FROM `source_company` WHERE (`code` = '$data_company' OR `name` = '$data_company') AND dms_id = '$data_dms' LIMIT 1"); if($utility->isNotEmpty($id)){ return $id; } return 0; } function getDealerIdByNameOrCode($data_dealer, $utility, $db){ $id = $db->select("SELECT id FROM `source_dealer` WHERE (`code` = '$data_dealer' OR `name` = '$data_dealer') AND status = 1 LIMIT 1"); if($utility->isNotEmpty($id)){ return $id; } return 0; } function getCompanyDealerIdByName($data_company,$data_dealer,$utility,$db){ $company_dealer_id = $db -> select("SELECT id FROM `source_company_dealer` WHERE `company_id` = '$data_company' AND `dealer_id` = '$data_dealer' AND type= '1' AND status = '1' LIMIT 1"); if($utility->isNotEmpty($company_dealer_id)){ return $company_dealer_id; } return 0; } function getGenderID($gender,$utility){ $gender_id = "0"; $gender = strtolower($gender); if($utility->isNotEmpty($gender)){ if(substr($gender,0,1) == "m" ){ $gender_id = "1"; } else if(substr($gender,0,1) == "f" ){ $gender_id = "2"; } } return $gender_id; } function getSuffix($data_suffix){ $id = "0"; switch($data_suffix){ case "I"; $id = "1"; break; case "II"; $id = "2"; break; case "III"; $id = "3"; break; case "JR"; $id = "4"; break; case "SR"; $id = "5"; break; } return $id; } function getSalesConsultant($name, $utility, $db){ $id = 0; if($utility->isNotEmpty(($name))){ $query = $db->select("SELECT id FROM `sales_consultant` WHERE CONCAT(first_name,' ',last_name) LIKE '%$name%' AND status = 1 LIMIT 1"); if($utility->isNotEmpty($query)){ $id = $query; } else { return false; } } return $id; } function validateDate($date, $format = 'Y-m-d'){ $d = DateTime::createFromFormat($format, $date); // The Y ( 4 digits year ) returns TRUE for any integer with any number of digits so changing the comparison from == to === fixes the issue. return $d && $d->format($format) === $date; } function in_array_r($needle, $haystack, $strict = false) { foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && $this->in_array_r($needle, $item, $strict))) { return true; } } return false; } function in_array_y($array, $key, $val) { foreach ($array as $item) if (isset($item[$key]) && $item[$key] == $val) return true; return false; } function getDuplicateByEmailAndMobile($data_customer_email, $data_customer_mobile, $data_company_dealer, $utility, $db){ if($utility->isNotEmpty($data_customer_mobile)){ $append_mobile = " AND (`customer_mobile_number` = '$data_customer_mobile' "; } else { $append_mobile = ""; } if($utility->isNotEmpty($data_customer_email)){ $append_email = " OR `customer_email` = '$data_customer_email') "; } else { $append_email = ")"; } $query = "SELECT id, customer_fullname, customer_email, customer_mobile_number, company_id, dealer_id FROM finance WHERE 1 %s %s AND status = 1 "; // echo sprintf($query, $append_mobile, $append_email); exit; return ($db->return_result(sprintf($query, $append_mobile, $append_email))); } function alphaNumericOnly($s){ $str = preg_replace("/[^a-zA-Z0-9]+/", "", $s); if(strlen($str) < 5){ return ""; } return $str; } function getDmsCompanyId($data_dealer, $utility, $db){ $query = "SELECT sdms.id as dms_id, sc.id as company_id FROM source_dms sdms INNER JOIN source_company sc ON sdms.id = sc.dms_id INNER JOIN source_company_dealer scd ON sc.id = scd.company_id WHERE sdms.status = 1 AND sc.status = 1 AND scd.type = 1 AND scd.status = 1 AND scd.dealer_id = '$data_dealer' LIMIT 1"; $results = $db->sql_query($query); $data_dms_company = array(); foreach($results as $result){ $data_dms_company =(array( 'dms' => $result['dms_id'], 'company'=>$result['company_id'] )); } return ($data_dms_company); } function updateIndividualCompany($corporation_id,$individual_id, $db){ $db -> sql_query("UPDATE customer SET corporation_id = '$corporation_id' WHERE id = '$individual_id' "); } function check_string_exist($str){ $str = strtolower($str); $none = array("na", "n/a", "none"); if(in_array($str, $none)){ return true; } return false; } function start_import($row, $customer_class, $utility, $db){ //store raw data from excel $data_company = $this->checkExist($row, $GLOBALS['company'], $utility); $data_dealer = $this->checkExist($row, $GLOBALS['dealer'], $utility); $data_brand = $this->checkExist($row, $GLOBALS['brand'], $utility); $data_model = $this->checkExist($row, $GLOBALS['model'], $utility); $data_insurance_company = $this->checkExist($row, $GLOBALS['insurance_company'], $utility); $data_policy_number = $this->checkExist($row, $GLOBALS['policy_number'], $utility); $data_client_name = $this->checkExist($row, $GLOBALS['client_name'], $utility); $data_client_mobile = $this->checkExist($row, $GLOBALS['client_mobile'], $utility); $data_client_email = $this->checkExist($row, $GLOBALS['client_email'], $utility); $data_bank_branch = $this->checkExist($row, $GLOBALS['bank_branch'], $utility); $data_check_date = $this->checkExist($row, $GLOBALS['check_date'], $utility); $data_check_number = $this->checkExist($row, $GLOBALS['check_number'], $utility); $data_check_amount = $this->checkExist($row, $GLOBALS['check_amount'], $utility); $data_plate_cs_number = $this->checkExist($row, $GLOBALS['plate_cs_number'], $utility); $data_variant = 0; //data cleansing use for validations $data_client_mobile = $utility->fix_mobile_format(remove_non_numeric($data_client_mobile)); $data_policy_number = $this->alphaNumericOnly($data_policy_number); // validate required data if((!$utility->isNotEmpty($data_dealer))){ // CHECK DEALER $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_dealer']), $row); $GLOBALS['no_dealer_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_brand))){ // CHECK BRAND $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_brand']), $row); $GLOBALS['no_brand_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK MODEL $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_model']), $row); $GLOBALS['no_model_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK INSURANCE COMPANY $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_insurance_company']), $row); $GLOBALS['no_insurance_company_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK POLICY NUMBER $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_policy_number']), $row); $GLOBALS['no_policy_number_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK CLIENT NAME $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_client_name']), $row); $GLOBALS['no_client_name_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK CLIENT MOBILE $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_client_mobile']), $row); $GLOBALS['no_client_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK CLIENT EMAIL $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_client_email']), $row); $GLOBALS['no_client_email_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK CHECK DATE $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_check_date']), $row); $GLOBALS['no_check_date_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK CHECK NUMBER $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_check_number']), $row); $GLOBALS['no_check_number_count']++; $GLOBALS['not_inserted_count']++; return 0; } if((!$utility->isNotEmpty($data_model))){ // CHECK PLATE CS NUMBER $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_plate_cs_number']), $row); $GLOBALS['no_plate_cs_number_count']++; $GLOBALS['not_inserted_count']++; return 0; } // VALIDATIONS // dealer $data_customer_dealer_count = $db->select("SELECT COUNT(1) FROM source_dealer WHERE code = '$data_dealer' OR name = '$data_dealer'"); $data_company = ""; if($data_customer_dealer_count > 0){ $data_dealer = $db->select("SELECT id FROM source_dealer WHERE code = '$data_dealer' OR name = '$data_dealer'"); $data_company = $db->select("SELECT company_id FROM source_company_dealer WHERE dealer_id = '$data_dealer' AND status != 0"); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['dealer_error']), $row); $GLOBALS['dealer_error_count']++; $GLOBALS['not_inserted_count']++; return 0; } // brand $data_brand_count = $db->select("SELECT COUNT(1) FROM finance_source_brand WHERE name = '$data_brand'"); if($data_brand_count > 0){ $data_brand = $db->select("SELECT id FROM finance_source_brand WHERE name = '$data_brand' AND status != 0"); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['unknown_brand']), $row); $GLOBALS['not_inserted_count']++; return 0; } // model $data_model_count = $db->select("SELECT COUNT(1) FROM finance_source_car_model WHERE name = '$data_model'"); if($data_model_count > 0){ $data_model = $db->select("SELECT id FROM finance_source_car_model WHERE name = '$data_model' AND status != 0"); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['unknown_model']), $row); $GLOBALS['not_inserted_count']++; return 0; } // insurance company $verified_insurance_provider_count = $db->select("SELECT COUNT(1) FROM finance_ins_provider WHERE name = '$data_insurance_company' AND status = 1"); if($verified_insurance_provider_count > 0){ $data_insurance_company = $db->select("SELECT id FROM finance_ins_provider WHERE name = '$data_insurance_company' AND status = 1"); } else { if(isset($GLOBALS['insurance_provider_map'][(($data_insurance_company))])){ $data_insurance_company = str_replace("'", "\'", $GLOBALS['insurance_provider_map'][(($data_insurance_company))]); $data_insurance_company = $db->select("SELECT id FROM finance_ins_provider WHERE name = '$data_insurance_company'"); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['unknown_ins_provider']), $row); $GLOBALS['not_inserted_count']++; return 0; } } // client mobile number validation if(strpos($data_client_mobile, '/') > 0){ $multi_mobile = array(); $multi_mobile = explode("/", $data_client_mobile); $multi_mobile[0] = $utility->fix_mobile_format(remove_non_numeric($multi_mobile[0])); $multi_mobile[1] = $utility->fix_mobile_format(remove_non_numeric($multi_mobile[1])); $isValid1 = isMobileValid($multi_mobile[0]); $isValid2 = isMobileValid($multi_mobile[1]); if($isValid1 == 0 && $isValid2 == 0){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_mobile']), $row); $GLOBALS['invalid_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } else { $data_client_mobile = $multi_mobile[0] . " / " . $multi_mobile[1]; } } else { $data_client_mobile = $utility->fix_mobile_format(remove_non_numeric($data_client_mobile)); $isValidMobile = isMobileValid($data_client_mobile); if(!$isValidMobile){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_mobile']), $row); $GLOBALS['invalid_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } } // client email validation if(strpos($data_client_email, '/') > 0){ $multi_email = array(); $multi_email = explode("/", $data_client_email); $isValidEmail1 = $utility->isValidEmail($multi_email[0]); $isValidEmail2 = $utility->isValidEmail($multi_email[1]); if($isValidEmail1 == 0 && $isValidEmail2 == 0){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_email']), $row); $GLOBALS['invalid_email_count']++; $GLOBALS['not_inserted_count']++; return 0; } else { $data_client_email = $multi_email[0] . " / " . $multi_email[1]; } } else { $isValidEmail = $utility->isValidEmail($data_client_email); if(!$isValidEmail){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_email']), $row); $GLOBALS['not_inserted_count']++; return 0; } } // bank/branch $data_bank = ""; $data_branch = ""; if(strpos($data_bank_branch, '/') > 0){ $bank_branch_details = array(); $bank_branch_details = explode("/", $data_bank_branch); $data_bank = $bank_branch_details[0]; $data_branch = $bank_branch_details[1]; $bank_data_count = $db->select("SELECT COUNT(1) FROM bank_db WHERE `abbreviation` = '$data_bank' OR `name` = '$data_bank' AND status = 1"); if($bank_data_count > 0){ $data_bank = $db->select("SELECT id FROM bank_db WHERE `abbreviation` = '$data_bank' OR `name` = '$data_bank' AND status = 1"); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['unknown_bank']), $row); $GLOBALS['unknown_bank_count']++; $GLOBALS['not_inserted_count']++; return 0; } } else { $bank_data_count = $db->select("SELECT COUNT(1) FROM bank_db WHERE `abbreviation` = '$data_bank_branch' OR `name` = '$data_bank_branch' AND status = 1"); if($bank_data_count > 0){ $data_bank = $db->select("SELECT id FROM bank_db WHERE `abbreviation` = '$data_bank_branch' OR `name` = '$data_bank_branch' AND status = 1"); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['unknown_bank']), $row); $GLOBALS['unknown_bank_count']++; $GLOBALS['not_inserted_count']++; return 0; } } // check date $arr_date = array(); $arr_date = explode("/", $data_check_date); if(count($arr_date) == 3){ $month_check = $arr_date[0]; $day_check = $arr_date[1]; $year_check = $arr_date[2]; if(!checkdate($month_check, $day_check, $year_check)){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_check_date']), $row); $GLOBALS['not_inserted_count']++; return 0; } $data_check_date = $utility->fix_date($data_check_date, false, $utility); } else { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_check_date']), $row); $GLOBALS['not_inserted_count']++; return 0; } // check plate/cs number $data_plate_cs_number_1 = ""; $data_plate_cs_number_2 = ""; if(strpos($data_plate_cs_number, '/') > 0){ $multi_data = array(); $multi_data = explode("/", $data_plate_cs_number); $data_plate_cs_number_1 = $this->alphaNumericOnly($multi_data[0]); $data_plate_cs_number_2 = $this->alphaNumericOnly($multi_data[1]); } else { $data_plate_cs_number_1 = $this->alphaNumericOnly($data_plate_cs_number); } // ===== START CHECK DUPLICATES ====> $duplicate_record_count = getDuplicateRecord($data_plate_cs_number_1, $data_plate_cs_number_2, $data_check_number, $data_check_date, $db); if($duplicate_record_count > 0){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_record']), $row); $GLOBALS['duplicate_record_count']++; $GLOBALS['not_inserted_count']++; return 0; } // NO DUPLICATE $data_uploader = $_SESSION['user']['id']; $current_date = $db->select("SELECT NOW() AS today"); $db->sql_query("INSERT INTO `finance_pdc` (`plate_cs_number1`, `plate_cs_number2`, `brand_id`, `model_id`, `variant_id`, `client_name`, `client_mobile`, `client_email`, `company_id`, `dealer_id`, `insurance_company_id`, `policy_number`, `bank_id`, `branch`, `check_date`, `pdc_check_number`, `check_amount`, `added_by`, `date_added`, `modified_by`, `date_modified`, `status`) VALUES ('$data_plate_cs_number_1', '$data_plate_cs_number_2', '$data_brand', '$data_model', '$data_variant', '$data_client_name', '$data_client_mobile', '$data_client_email', '$data_company', '$data_dealer', '$data_insurance_company', '$data_policy_number', '$data_bank', '$data_branch', '$data_check_date', '$data_check_number', '$data_check_amount', '$data_uploader', '$current_date', '$data_uploader', '$current_date', 1)"); $GLOBALS['inserted_count']++; } } function getDuplicatePlateCs($plate_cs_number, $db){ $count = $db->select("SELECT COUNT(1) FROM `finance` WHERE `plate_cs_number` = '$plate_cs_number' AND status = 1"); return intval($count); } function getDuplicateEmail($email, $db){ $count = $db->select("SELECT COUNT(1) FROM `finance` WHERE `customer_email` = '$email' AND status = 1"); return intval($count); } function getDuplicateMobile($mobile, $db){ $count = $db->select("SELECT COUNT(1) FROM `finance` WHERE `customer_mobile_number` = '$mobile' AND status = 1"); return intval($count); } function getDuplicateRecord($plate_cs_number_1, $plate_cs_number_2, $check_number, $check_date, $db){ $count = 0; $query = ""; if($plate_cs_number_2 != ""){ $query = "SELECT COUNT(1) FROM `finance_pdc` WHERE (`plate_cs_number1` = '$plate_cs_number_1' OR `plate_cs_number1` = '$plate_cs_number_2' OR `plate_cs_number2` = '$plate_cs_number_1' OR `plate_cs_number2` = '$plate_cs_number_2') AND `pdc_check_number` = '$check_number' AND `check_date` = '$check_date'"; } else { $query = "SELECT COUNT(1) FROM `finance_pdc` WHERE (`plate_cs_number1` = '$plate_cs_number_1' OR `plate_cs_number2` = '$plate_cs_number_1') AND `pdc_check_number` = '$check_number' AND `check_date` = '$check_date'"; } $count = $db->select($query); // echo $count; exit; return intval($count); } function getDuplicatePolicyNumber($policy_number, $db){ $count = $db->select("SELECT COUNT(1) FROM `finance` WHERE `policy_number` = '$policy_number' AND status = 1"); return intval($count); } function isMobileValid($data){ if(substr($data, 0, 4 ) === "+639"){ if(strlen($data) == 13){ return 1; } else { return 0; } } else { return 0; } } function remove_non_numeric($data){ return preg_replace("/[^0-9\/s\/]/", "", $data); // return preg_replace("/[^0-9]/","",$data); } ?>PK }�ZC���7 7 validate_email.phpnu �[��� <?php use Egulias\EmailValidator\EmailValidator; use Egulias\EmailValidator\Validation\DNSCheckValidation; use Egulias\EmailValidator\Validation\MultipleValidationWithAnd; use Egulias\EmailValidator\Validation\NoRFCWarningsValidation; use Egulias\EmailValidator\Validation\RFCValidation; use Egulias\EmailValidator\Validation\MessageIDValidation; require '../../vendor/autoload.php'; $validator = new EmailValidator(); $multipleValidations = new MultipleValidationWithAnd([ // new RFCValidation(), // new NoRFCWarningsValidation(), new DNSCheckValidation(), // new MessageIDValidation() ]); //ietf.org has MX records signaling a server with email capabilites $email = $_REQUEST['email']; if($validator->isValid($email, $multipleValidations)){ echo "Valid Email"; }else{ echo "Invalid Email"; }PK }�Z�D0� check_vehicle.phpnu �[��� <?php include_once("../../cfg/db.php"); $search_item = $db->escape(trim($_POST['search_item'])); $search_query = "SELECT id, name, code FROM source_company WHERE (code LIKE '%$search_item%' OR name LIKE '%$search_item%') AND id != 0 AND status = 1 ORDER BY name ASC"; //echo $check_query; return; $result = $db->sql_query($search_query); //echo $search_query; return; while($row = $result->fetch_assoc()) { echo '<option value="'.$row['id'].'">'.$row["code"].' - '.$row["name"].'</option>'; } ?>PK }�Z]N9�� � sales_consultant.phpnu �[��� <?php class SalesConsultant { function read_sales_consultant_id_by_name($name, $db){ return $db -> select("SELECT id FROM `source_sales_consultant` WHERE status = 1 AND `name` = '$name' AND `type` = 0"); } function read_sales_consultant_name_by_id($id, $db){ return $db -> select("SELECT name FROM `source_sales_consultant` WHERE status = 1 AND `id` = '$id' AND type = 0"); } function create_sales_consultant($name, $db){ return $db -> sql_query_id("INSERT INTO source_sales_consultant (`name`, `status`, `type`) VALUES ('$name', 1, 0)"); } } ?>PK }�Z mm�- - company_dealer.phpnu �[��� <?php class CompanyDealer{ function read_company_dealer_id($company_id,$dealer_id,$type,$db){ return $db -> select("SELECT id FROM `source_company_dealer` WHERE type = '1' AND `company_id` = '$company_id' AND `dealer_id` = '$dealer_id' AND status = '1' LIMIT 1"); } } ?>PK }�Z��U�� �� import.phpnu �[��� <?php class Import { function getArrayFields($id, $db) { $return_array = array(); $data_list = $db->sql_query("SELECT `name` FROM `source_dms_fields_name_v2` WHERE `dms_field_id` = '$id' "); foreach ($data_list as $row) { $return_array = array_merge($return_array, array($row['name'])); } return $return_array; } function getIssueSummaryField($str, $ColumnNumber, $array_data) { for ($i = 0; $i < $ColumnNumber; $i++) { if (in_array($str, $array_data, true)) { return $i; } } return "-5"; } function getFieldFromExcel($row, $ColumnNumber, $array_data) { for ($i = 0; $i < $ColumnNumber; $i++) { if (in_array(trim($row[$i]), $array_data, true)) { return $row[$i]; } } return ""; } function checkExist($row, $field, $utility) { if (!$utility->isNotEmpty($field)) { return ""; } $key = array_search($field, $GLOBALS['row_dms_headers']); return isset($row[$key]) ? $row[$key] : ''; } function getDmsIdByName($data_dms, $utility, $db) { $id = $db->select("SELECT `id` FROM `source_dms` WHERE `name` = '$data_dms' LIMIT 1"); if ($utility->isNotEmpty($id)) { return $id; } return 0; } function getCompanyIdByName($data_dms, $data_company, $utility, $db) { $id = $db->select("SELECT id FROM `source_company` WHERE (`code` = '$data_company' OR `name` = '$data_company') AND dms_id = '$data_dms' LIMIT 1"); if ($utility->isNotEmpty($id)) { return $id; } return 0; } function getDealerIdByNameOrCode($data_dealer, $utility, $db) { $id = $db->select("SELECT id FROM `source_dealer` WHERE (`code` = '$data_dealer' OR `name` = '$data_dealer') AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($id)) { return $id; } return 0; } function getCompanyDealerIdByName($data_company, $data_dealer, $utility, $db) { $company_dealer_id = $db->select("SELECT id FROM `source_company_dealer` WHERE `company_id` = '$data_company' AND `dealer_id` = '$data_dealer' AND type= '1' AND status = '1' LIMIT 1"); if ($utility->isNotEmpty($company_dealer_id)) { return $company_dealer_id; } return 0; } function getGenderID($gender, $utility) { $gender_id = "0"; $gender = strtolower($gender); if ($utility->isNotEmpty($gender)) { if (substr($gender, 0, 1) == "m") { $gender_id = "1"; } else if (substr($gender, 0, 1) == "f") { $gender_id = "2"; } } return $gender_id; } function getSuffix($data_suffix) { $id = "0"; switch ($data_suffix) { case "I"; $id = "1"; break; case "II"; $id = "2"; break; case "III"; $id = "3"; break; case "JR"; $id = "4"; break; case "SR"; $id = "5"; break; } return $id; } function getProfessionID($data, $utility, $db) { $id = 0; if ($utility->isNotEmpty($data)) { $data_id = $db->select("SELECT id FROM source_profession WHERE name = '$data' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($data_id)) { $id = $data_id; } else { $id = $db->sql_query_id("INSERT INTO source_profession (name,status) VALUES ('$data','1')"); } } return $id; } function getNatureOfBusinessID($data, $utility, $db) { $id = 0; if ($utility->isNotEmpty($data)) { $data_id = $db->select("SELECT id FROM source_nature_of_business WHERE name = '$data' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($data_id)) { $id = $data_id; } else { $current_user = $_SESSION['user']['id']; $id = $db->sql_query_id("INSERT INTO source_nature_of_business (name,`added_by`,`last_modified_by`,`add_source`,status) VALUES ('$data','$current_user','$current_user',0,'1')"); } } return $id; } function getSalesConsultant($name, $utility, $db) { $id = 0; if ($utility->isNotEmpty(($name))) { $query = $db->select("SELECT id FROM `sales_consultant` WHERE CONCAT(first_name,' ',last_name) LIKE '%$name%' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($query)) { $id = $query; } else { return false; // $id = $db -> sql_query_id("INSERT INTO sales_consultant (first_name,status) VALUES ('$name','1')"); } } return $id; } function getVehicleColorID($color_file, $utility, $db) { $color_id = 0; if ($utility->isNotEmpty($color_file)) { $color_data = $db->select("SELECT id FROM vehicle_color WHERE name = '$color_file' and status = 1 LIMIT 1"); if ($utility->isNotEmpty($color_data)) { $color_id = $color_data; } else { $color_id = $db->sql_query_id("INSERT INTO vehicle_color (name,status) VALUES ('$color_file','1')"); } } return $color_id; } function getVehicleBrandID($brand_file, $utility, $db) { $brand_id = 0; if ($utility->isNotEmpty($brand_file)) { $brand_file = $db->escape($brand_file); $brand_data = $db->select("SELECT id FROM source_brand WHERE name = '$brand_file' and status = 1 LIMIT 1"); if ($utility->isNotEmpty($brand_data)) { $brand_id = $brand_data; } else { $brand_id = 0; // $db -> sql_query_id("INSERT INTO source_brand (name,status) VALUES ('$brand_file','1')"); } } return $brand_id; } function getVehicleModelID($brand_id, $model_name, $utility, $db) { $model_id = 0; if ($utility->isNotEmpty($model_name)) { $model_data = $db->select("SELECT id FROM source_car_model WHERE brand_id = '$brand_id' AND name = '$model_name' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty(trim($model_data))) { $model_id = $model_data; } else { $model_id = 0; //$db -> sql_query_id("INSERT INTO source_car_model (brand_id,name,model_variant_description,status) VALUES ('$brand_id','$model_name','$model_description','1')"); } } return $model_id; } function getVehicleModelVariantID($model_id, $model_variant_name, $utility, $db) { $model_variant_id = 0; if ($utility->isNotEmpty($model_variant_name)) { $model_variant_data = $db->select("SELECT id FROM source_car_model_variant WHERE car_model_id = '$model_id' AND name = '$model_variant_name' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty(trim($model_variant_data))) { $model_variant_id = $model_variant_data; } else { $model_variant_id = $db->sql_query_id("INSERT INTO source_car_model_variant (car_model_id,name,status) VALUES ('$model_id','$model_variant_name','1')"); } } return $model_variant_id; } function getLeadSourceID($data, $utility, $db) { $source_of_contact = 0; if ($utility->isNotEmpty(trim($data))) { $data = $db->escape($data); $source_inquiry_data = $db->select("SELECT id FROM source_of_inquiry WHERE name = '$data' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($source_inquiry_data)) { $source_of_contact = $source_inquiry_data; } else { $source_of_contact = $db->sql_query_id("INSERT INTO source_of_inquiry (name,status) VALUES ('$data','1')"); } } return $source_of_contact; } function getModeOfSale($data, $utility, $db) { $id = 0; if ($utility->isNotEmpty(trim($data))) { $data_id = $db->select("SELECT id FROM source_mode_of_sale WHERE name = '$data' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($data_id)) { $id = $data_id; } else { $id = $db->sql_query_id("INSERT INTO source_mode_of_sale (name,status) VALUES ('$data','1')"); } } return $id; } function getTypeOfPayment($data, $utility, $db) { $id = 0; if ($utility->isNotEmpty($data)) { $data_id = $db->select("SELECT id FROM source_type_of_payment WHERE name = '$data' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($data_id)) { $id = $data_id; } else { $id = $db->sql_query_id("INSERT INTO source_type_of_payment (name,status) VALUES ('$data','1')"); } } return $id; } function getInsuranceCompanyID($insurance_company_file, $utility, $db) { $insurance_company_id = 0; if ($utility->isNotEmpty($insurance_company_file)) { $insurance_company_data = $db->select("SELECT id FROM source_insurance_company WHERE name = '$insurance_company_file' and status = 1 LIMIT 1"); if ($utility->isNotEmpty($insurance_company_data)) { $insurance_company_id = $insurance_company_data; } else { $insurance_company_id = $db->sql_query_id("INSERT INTO source_insurance_company (name,status) VALUES ('$insurance_company_file','1')"); } } return $insurance_company_id; } function getAffiliationID($affiliation_category_id, $data, $utility, $db) { if ($data == '') { return ''; //to prevent inserting even no affiliations } $id = 0; if ($utility->isNotEmpty($data)) { $data = $db->escape($data); $id_data = $db->select("SELECT id FROM `customer_affiliations_content` WHERE `name` = '$data' AND affiliation_id = '$affiliation_category_id' AND status = 1 LIMIT 1"); if ($utility->isNotEmpty($id_data)) { $id = $id_data; } else { $id = $db->sql_query_id("INSERT INTO customer_affiliations_content (affiliation_id,name) VALUES ('$affiliation_category_id','$data')"); } } return $id; } function validateDate($date, $format = 'Y-m-d') { $d = DateTime::createFromFormat($format, $date); // The Y ( 4 digits year ) returns TRUE for any integer with any number of digits so changing the comparison from == to === fixes the issue. return $d && $d->format($format) === $date; } function in_array_r($needle, $haystack, $strict = false) { foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && $this->in_array_r($needle, $item, $strict))) { return true; } } return false; } function in_array_y($array, $key, $val) { foreach ($array as $item) if (isset($item[$key]) && $item[$key] == $val) return true; return false; } function get_aha_status($status) { if (strpos($status, 'Y') !== false || strpos($status, 'y') !== false) { return true; }; return false; } function getDuplicateByEmailAndMobile($data_email, $data_mobile, $data_company_dealer, $utility, $db) { if ($utility->isNotEmpty($data_mobile)) { $append_mobile = " AND (`mobile_phone_1` = '$data_mobile' "; } else { $append_mobile = ""; } if ($utility->isNotEmpty($data_email)) { $append_email = " OR `email_1` = '$data_email') "; } else { $append_email = ")"; } $query = "SELECT c.id as customer_record_id,c.type,c.corporation_name,c.first_name,c.last_name,cc.email_1,cc.mobile_phone_1,cd.company_dealer_id FROM customer c INNER JOIN customer_contact cc ON c.id = cc.customer_id INNER JOIN customer_dms cd ON c.id = cd.customer_record_id WHERE 1 %s %s AND c.type = 1 AND c.status = 1 "; return ($db->return_result(sprintf($query, $append_mobile, $append_email))); // exit; } function alphaNumericOnly($s) { $str = preg_replace("/[^a-zA-Z0-9]+/", "", $s); if (strlen($str) < 5) { return ""; } return $str; } // function fix_mobile_format($data){ // if(strlen($data) < 5){ // return ""; // } // $final_data = ""; // //if area code equal to 639xx it will change to 09xxxxxxxxx // if(substr($data,0,2) === "09"){ // $final_data = "+639".substr($data,2,strlen($data)); // }else if(substr($data,0,3) === "639"){ // $final_data = "+639".substr($data,3,strlen($data)); // }else if(substr($data,0,1) === "9" && strlen($data) == 10){ // $final_data = "+639".substr($data,1,strlen($data)); // }else{ // $final_data = $data; // } // //if number start with 09xxx, check the length, if length is not 11 return blank, if not 09xxx return it // if(substr($final_data,0,4) === "+639"){ // if(strlen($final_data) == 13){ // return $final_data; // }else{ // return $final_data; // } // } // return $final_data; // } function getDmsCompanyId($data_dealer, $utility, $db) { $query = "SELECT sd.id as dms_id,sc.id as company_id FROM source_dms sd INNER JOIN source_company sc ON sd.id = sc.dms_id INNER JOIN source_company_dealer scd ON sc.id = scd.company_id WHERE sd.status = 1 AND sc.status = 1 AND scd.type = 1 AND scd.status = 1 AND scd.dealer_id = '$data_dealer' LIMIT 1"; $results = $db->sql_query($query); $data_dms_company = array(); foreach ($results as $result) { $data_dms_company = (array( 'dms' => $result['dms_id'], 'company' => $result['company_id'] )); } return ($data_dms_company); } function updateIndividualCompany($corporation_id, $individual_id, $db) { $db->sql_query("UPDATE customer SET corporation_id = '$corporation_id' WHERE id = '$individual_id' "); } function getDuplicatePlate($plate_number, $utility, $db) { $count = $db->select("SELECT COUNT(1) FROM `vehicle` v INNER JOIN sales s ON v.id = s.vehicle_id WHERE v.`plate_number` = '$plate_number' AND v.`status` = 1 AND s.status = 1"); return intval($count); } function getDuplicateCS($conduction_sticker, $utility, $db) { $count = $db->select("SELECT COUNT(1) FROM `vehicle` v INNER JOIN sales s ON v.id = s.vehicle_id WHERE v.`conduction_sticker` = '$conduction_sticker' AND v.`status` = 1 AND s.status = 1"); return intval($count); } function check_string_exist($str) { $str = strtolower($str); $none = array("na", "n/a", "none"); if (in_array($str, $none)) { return true; } return false; } function read_city_id($data_city, $db) { return $db->select("SELECT ac.`id` FROM `all_city` ac LEFT OUTER JOIN all_state astate ON ac.provCode = astate.provCode WHERE ac.status = 1 AND CONCAT(ac.`citymunDesc`, ' (',astate.provDesc,')') LIKE '%$data_city%' ORDER by ac.`citymunDesc` ASC LIMIT 1"); } function start_import($row, $customer_class, $utility, $db) { // print_r($row);exit; //store raw data from excel $data_dms = $this->checkExist($row, $GLOBALS['dms'], $utility); $data_company = $this->checkExist($row, $GLOBALS['company'], $utility); $data_dealer = $this->checkExist($row, $GLOBALS['dealer'], $utility); $data_customer_no = $this->checkExist($row, $GLOBALS['customer_no'], $utility); $data_corporation_name = $this->checkExist($row, $GLOBALS['corporation_name'], $utility); $data_first_name = $this->checkExist($row, $GLOBALS['first_name'], $utility); $data_middle_name = $this->checkExist($row, $GLOBALS['middle_name'], $utility); $data_last_name = $this->checkExist($row, $GLOBALS['last_name'], $utility); $data_suffix = $this->checkExist($row, $GLOBALS['suffix'], $utility); $data_profession = $this->checkExist($row, $GLOBALS['profession'], $utility); $data_position = $this->checkExist($row, $GLOBALS['position'], $utility); $data_business_company = $this->checkExist($row, $GLOBALS['business_company'], $utility); $data_nature_of_business = $this->checkExist($row, $GLOBALS['nature_of_business'], $utility); $data_affiliation = $this->checkExist($row, $GLOBALS['affiliation'], $utility); $data_facebook = $this->checkExist($row, $GLOBALS['facebook'], $utility); $data_address_1 = $this->checkExist($row, $GLOBALS['address_1'], $utility); $data_address_2 = $this->checkExist($row, $GLOBALS['address_2'], $utility); $data_email = $this->checkExist($row, $GLOBALS['email'], $utility); $data_mobile = $this->checkExist($row, $GLOBALS['mobile'], $utility); $data_business_phone = $this->checkExist($row, $GLOBALS['business_phone'], $utility); $data_birthday = $this->checkExist($row, $GLOBALS['birthday'], $utility); $data_gender = $this->checkExist($row, $GLOBALS['gender'], $utility); $data_brand = $this->checkExist($row, $GLOBALS['brand'], $utility); $data_model = $this->checkExist($row, $GLOBALS['model'], $utility); $data_model_variant = $this->checkExist($row, $GLOBALS['model_variant'], $utility); $data_color = $this->checkExist($row, $GLOBALS['color'], $utility); $data_conduction_sticker = $this->checkExist($row, $GLOBALS['conduction_sticker'], $utility); $data_plate_number = $this->checkExist($row, $GLOBALS['plate_number'], $utility); $data_vin = $this->checkExist($row, $GLOBALS['vin'], $utility); $data_registration_no = $this->checkExist($row, $GLOBALS['registration_no'], $utility); $data_date = $this->checkExist($row, $GLOBALS['date'], $utility); $data_release_no = $this->checkExist($row, $GLOBALS['release_no'], $utility); $data_mode_of_sale = $this->checkExist($row, $GLOBALS['mode_of_sale'], $utility); $data_type_of_payment = $this->checkExist($row, $GLOBALS['type_of_payment'], $utility); $data_insurance = $this->checkExist($row, $GLOBALS['insurance'], $utility); $data_source = $this->checkExist($row, $GLOBALS['source'], $utility); $data_offered_vehicle = $this->checkExist($row, $GLOBALS['offered_vehicle'], $utility); $data_sales_manager = $this->checkExist($row, $GLOBALS['sales_manager'], $utility); $data_sales_consultant = $this->checkExist($row, $GLOBALS['sales_consultant'], $utility); $data_model_year = $this->checkExist($row, $GLOBALS['model_year'], $utility); $data_end_user = $this->checkExist($row, $GLOBALS['end_user'], $utility); $data_car_club = $this->checkExist($row, $GLOBALS['car_club'], $utility); $data_city = $this->checkExist($row, $GLOBALS['city'], $utility); $data_aha_status = $this->checkExist($row, $GLOBALS['aha_status'], $utility); //data cleansing use for validations $data_email = $utility->isValidEmail($data_email); $data_email = $db->escape($data_email); $data_mobile = $utility->fix_mobile_format($utility->remove_non_numeric($data_mobile)); $data_mobile = $db->escape($data_mobile); $data_business_phone = $utility->fix_mobile_format($utility->remove_non_numeric($data_business_phone)); $data_birthday = $utility->fix_date_v2($data_birthday); $data_date = $utility->fix_date_v2($data_date); $data_conduction_sticker = $this->alphaNumericOnly($data_conduction_sticker); $data_plate_number = $this->alphaNumericOnly($data_plate_number); $data_vin = $this->alphaNumericOnly($data_vin); //end data cleansing use for validations //generated ids $data_customer_record_id = $db->select("SELECT UUID_SHORT()"); $data_vehicle_record_id = $db->select("SELECT UUID_SHORT()"); $data_sales_record_id = $db->select("SELECT UUID_SHORT()"); $data_duplicate_customer_record = false; $data_duplicate_customer_record_identical = false; //validate required data if (!$utility->isNotEmpty($data_date)) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_date']), $row); $GLOBALS['no_date_count']++; $GLOBALS['not_inserted_count']++; return 0; } $date_now = date("Y-m-d"); // this format is string comparable //validate date data if (!($date_now >= $data_date)) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_date']), $row); $GLOBALS['invalid_date_count']++; $GLOBALS['not_inserted_count']++; return 0; } //validate birthday if ( (!$utility->isNotEmpty($data_corporation_name) && ($utility->isNotEmpty($data_first_name) && $utility->isNotEmpty($data_last_name))) ) { if ($utility->isNotEmpty($data_birthday)) { // echo $data_birthday;exit; $from = new DateTime($data_birthday); $to = new DateTime('today'); $customer_ind_age = intval($from->diff($to)->y); if ($customer_ind_age < 17) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['under_age']), $row); $GLOBALS['under_age_count']++; $GLOBALS['not_inserted_count']++; return 0; } } } if ( (!$utility->isNotEmpty($data_corporation_name) && (!$utility->isNotEmpty($data_first_name) || !$utility->isNotEmpty($data_last_name))) ) { // if(!$utility->isNotEmpty($data_first_name) || !$utility->isNotEmpty($data_last_name)){ $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_name']), $row); $GLOBALS['no_name_count']++; $GLOBALS['not_inserted_count']++; return 0; // } } // if(!$utility->isNotEmpty($data_first_name) || !$utility->isNotEmpty($data_last_name)){ // if(!$utility->isNotEmpty($data_corporation_name) ){ // $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_name']),$row); // $GLOBALS['no_name_count']++; // $GLOBALS['not_inserted_count']++; // return 0; // } // } if ($utility->isNotEmpty($data_first_name) && $utility->isNotEmpty($data_last_name)) { if (!$utility->isNotEmpty($data_mobile)) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_mobile']), $row); $GLOBALS['no_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } if (strlen($data_mobile) != 13) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_mobile']), $row); $GLOBALS['invalid_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } if (!substr($data_mobile, 0, 4) === "+639") { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_mobile']), $row); $GLOBALS['invalid_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } } if (strlen($data_mobile) <= 3) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_mobile']), $row); $GLOBALS['invalid_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } if (!$utility->isNotEmpty($data_conduction_sticker)) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_cs']), $row); $GLOBALS['no_cs_count']++; $GLOBALS['not_inserted_count']++; return 0; } //start validate dealer if (!$utility->isNotEmpty($data_dealer)) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_dealer']), $row); $GLOBALS['no_dealer_count']++; $GLOBALS['not_inserted_count']++; return 0; } $data_dealer = $this->getDealerIdByNameOrCode($data_dealer, $utility, $db); if (intval($data_dealer) === 0) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_dealer']), $row); $GLOBALS['no_dealer_count']++; $GLOBALS['not_inserted_count']++; return 0; } //end validate dealer //get dms & company using dealer id $data_dms_company = $this->getDmsCompanyId($data_dealer, $utility, $db); if (count($data_dms_company) < 1) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_dealer']), $row); $GLOBALS['no_dealer_count']++; $GLOBALS['not_inserted_count']++; return 0; } $data_dms = $data_dms_company["dms"]; $data_company = $data_dms_company["company"]; //start validate company dealer //get id from source company dealer // echo $data_company.' ' .$data_dealer." asda";exit; $data_company_dealer = $this->getCompanyDealerIdByName($data_company, $data_dealer, $utility, $db); if (intval($data_company_dealer) === 0) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_dealer']), $row); $GLOBALS['no_dealer_count']++; $GLOBALS['not_inserted_count']++; return 0; } //end validate company dealer //validate sc/gm name $data_sales_manager = $this->getSalesConsultant($data_sales_manager, $utility, $db); if (!$data_sales_manager) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_gm']), $row); $GLOBALS['invalid_gm_count']++; $GLOBALS['not_inserted_count']++; return 0; } $data_sales_consultant = $this->getSalesConsultant($data_sales_consultant, $utility, $db); if (!$data_sales_consultant) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['invalid_sc']), $row); $GLOBALS['invalid_sc_count']++; $GLOBALS['not_inserted_count']++; return 0; } //check duplicate vvehicle if ($utility->isNotEmpty($data_plate_number)) { if (in_array($data_plate_number, $GLOBALS['vehicle_data_plate'])) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_plate']), $row); $GLOBALS['duplicate_plate_count']++; $GLOBALS['not_inserted_count']++; return 0; } else if ($this->getDuplicatePlate($data_plate_number, $utility, $db)) { //separet to lessen databasae request $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_plate']), $row); $GLOBALS['duplicate_plate_count']++; $GLOBALS['not_inserted_count']++; return 0; } else { $GLOBALS['vehicle_data_plate'][] = $data_plate_number; //if duplicate customer this will remain in GLOBALS['vehicle_data_plate'] // this will be remove } } if ($utility->isNotEmpty($data_conduction_sticker)) { if (in_array($data_conduction_sticker, $GLOBALS['vehicle_data_cs'])) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_cs']), $row); $GLOBALS['duplicate_cs_count']++; $GLOBALS['not_inserted_count']++; return 0; } else if ($this->getDuplicateCS($data_conduction_sticker, $utility, $db)) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_cs']), $row); $GLOBALS['duplicate_cs_count']++; $GLOBALS['not_inserted_count']++; return 0; } else { $GLOBALS['vehicle_data_cs'][] = $data_conduction_sticker; //if duplicate customer this will remain in GLOBALS['vehicle_data_cs'] // this will be remove } } $data_brand = $this->getVehicleBrandID($data_brand, $utility, $db); if (!$data_brand) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_brand']), $row); $GLOBALS['no_brand_count']++; $GLOBALS['not_inserted_count']++; return 0; } $data_model = $this->getVehicleModelID($data_brand, $data_model, $utility, $db); if (!$data_model) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['no_model']), $row); $GLOBALS['no_model_count']++; $GLOBALS['not_inserted_count']++; return 0; } if ($this->get_aha_status($data_aha_status)) { $data_aha_status = 1; } else { $data_aha_status = 0; } //corporation area $data_nature_of_business = $this->getNatureOfBusinessID($data_nature_of_business, $utility, $db); $data_affiliation = $this->getAffiliationID('1', $data_affiliation, $utility, $db); $data_car_club = $this->getAffiliationID('5', $data_car_club, $utility, $db); $customer_data_query = 'INSERT INTO customer (`id`,`corporation_name`,`salutation_id`,`first_name`,`middle_name`,`last_name`,`suffix_id`,`gender_id`,`nationality_id`,`date_of_birth`,`marital_status_id`,`source_id`,`mode_of_contact_id`,`spouse_name`,`no_of_children`,`occupation`,`contact_person`,/*`sales_person`,*/`date_created`,`time_created`,`upload_by`,`religion_id`,`nature_of_business_id`,`profession_id`,`corporation_id`,`type`,`upload_source`,`aha_status`,`status`) VALUES %s '; $customer_record_query = 'INSERT INTO customer_dms (`customer_record_id`,`customer_dms_id`,`company_dealer_id`,`status`) VALUES %s '; $data_corporation_name_final = ""; $upload_source = 0; if ($utility->isNotEmpty($data_corporation_name)) { $data_corporation_name_final = $data_corporation_name; } else if ($utility->isNotEmpty($data_business_company)) { $data_corporation_name_final = $data_business_company; $upload_source = 1; } $data_corporation_name_final_id = 0; if ($utility->isNotEmpty($data_corporation_name_final)) { $corporation_details_info_query = "SELECT c.id,c.`corporation_name` FROM `customer` c WHERE c.`corporation_name` = '$data_corporation_name_final' AND c.status = 1 AND c.type = 2 GROUP BY c.id LIMIT 1 "; $data_corporation_info = array(); $corporation_details_info = $db->sql_query($corporation_details_info_query); foreach ($corporation_details_info as $data) { $data_corporation_info = $data; } if (count($data_corporation_info) > 0) { $dms_comapny_dealer_count = $customer_class->read_customer_dms_company_dealer($data_corporation_info['id'], $data_dms, $data_company_dealer, $db); if ($dms_comapny_dealer_count > 0) { // has identical record $data_corporation_name_final_id = $data_corporation_info['id']; } else { // has same name but not same dms $customer_record = "('" . $data_corporation_info['id'] . "','$data_customer_no','$data_company_dealer','1')"; $inserted_customer_count = $db->sql_query_num_inserted(sprintf($customer_record_query, $customer_record)); } } else { //has no any record $data_corporation_name_final_id = $db->select("SELECT UUID_SHORT()"); $customer_data = "('$data_corporation_name_final_id','$data_corporation_name_final','','','','','','','608','','','','','','','','','$data_date','','" . $GLOBALS['user_id'] . "','','$data_nature_of_business','0','0','2','$upload_source','$data_aha_status','1')"; $db->sql_query_id(sprintf($customer_data_query, $customer_data)); if ($utility->isNotEmpty($data_city)) { $address_1_city_id = $db->select("SELECT ac.`id` FROM `all_city` ac LEFT OUTER JOIN all_state astate ON ac.provCode = astate.provCode WHERE ac.status = 1 AND CONCAT(ac.`citymunDesc`, ' (',astate.provDesc,')') LIKE '%$data_city%' ORDER by ac.`citymunDesc` ASC LIMIT 1"); } else { $address_1_city_id = ''; } $customer_contact = "('','','$data_facebook','','','','$data_corporation_name_final_id','$data_address_1','$data_address_2','0','0','$address_1_city_id','','','','$data_email','','$data_business_phone','','$data_mobile','','' ,'1')"; $customer_contact_query = 'INSERT INTO customer_contact (`viber`,`telegram`,`facebook`,`instagram`,`whatsapp`,`website`,`customer_id`,`address_1`,`address_2`,`address_1_state`,`address_2_state`,`address_1_city`,`address_2_city`,`address_1_postal`,`address_2_postal`,`email_1`,`email_2`,`business_phone`,`fax_phone`,`mobile_phone_1`,`mobile_phone_2`,`residential_phone`,`status`) VALUES ' . $customer_contact . ' '; $db->sql_query($customer_contact_query); $customer_record = "('$data_corporation_name_final_id','$data_customer_no','$data_company_dealer','1')"; $inserted_customer_count = $db->sql_query_num_inserted(sprintf($customer_record_query, $customer_record)); if (!($utility->isNotEmpty($data_first_name) && $utility->isNotEmpty($data_last_name))) { if ($utility->isNotEmpty($data_affiliation)) { $GLOBALS['customer_affiliation'][] = "('$data_affiliation', '$data_corporation_name_final_id', '1' )"; } if ($utility->isNotEmpty($data_car_club)) { $GLOBALS['customer_affiliation'][] = "('$data_car_club', '$data_corporation_name_final_id', '1' )"; } } } } //start check duplicates //set to indicidual only if (($utility->isNotEmpty($data_first_name) && $utility->isNotEmpty($data_last_name))) { $duplicate_information = $this->getDuplicateByEmailAndMobile($data_email, $data_mobile, $data_company_dealer, $utility, $db); //will read customer individual only if (count($duplicate_information) > 0) { if ($this->in_array_y($duplicate_information, 'company_dealer_id', $data_company_dealer)) { if ($duplicate_information[0]['type'] == 1) { if ( ($data_first_name == $duplicate_information[0]['first_name']) && ($data_last_name == $duplicate_information[0]['last_name']) && !$data_duplicate_customer_record_identical ) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_customer']), $row); $GLOBALS['duplicate_customer_count']++; $GLOBALS['not_inserted_count']++; $data_duplicate_customer_record_identical = true; // return 0; } } else if ($duplicate_information[0]['type'] == 2) { //corporation will ignore all time if ( $data_corporation_name == $duplicate_information[0]['corporation_name'] && !$data_duplicate_customer_record_identical ) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_customer']), $row); $GLOBALS['duplicate_customer_count']++; $GLOBALS['not_inserted_count']++; $data_duplicate_customer_record_identical = true; // return 0; } } if (!$data_duplicate_customer_record_identical) { if ($data_mobile == $duplicate_information[0]['mobile_phone_1']) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_mobile']), $row); $GLOBALS['duplicate_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } if ($data_email == $duplicate_information[0]['email_1']) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_email']), $row); $GLOBALS['duplicate_email_count']++; $GLOBALS['not_inserted_count']++; return 0; } } } else { if ($duplicate_information[0]['type'] == 1) { if (($data_first_name == $duplicate_information[0]['first_name']) && ($data_last_name == $duplicate_information[0]['last_name']) && !$data_duplicate_customer_record ) { $data_duplicate_customer_record = true; } } else if ($duplicate_information[0]['type'] == 2) { //corporation will ignore all time if ( $data_corporation_name == $duplicate_information[0]['corporation_name'] && !$data_duplicate_customer_record ) { $data_duplicate_customer_record = true; } } if (!$data_duplicate_customer_record) { if ($data_mobile == $duplicate_information[0]['mobile_phone_1']) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_mobile']), $row); $GLOBALS['duplicate_mobile_count']++; $GLOBALS['not_inserted_count']++; return 0; } if ($data_email == $duplicate_information[0]['email_1']) { $GLOBALS['not_inserted_list_v2'][] = array_merge(array($GLOBALS['duplicate_email']), $row); $GLOBALS['duplicate_email_count']++; $GLOBALS['not_inserted_count']++; return 0; } } } } if (!$data_duplicate_customer_record_identical) { //INSERT CUSTOMER DATA if (!$data_duplicate_customer_record) { //data cleansing use for inserting final data -customer if (($utility->isNotEmpty($data_first_name) && $utility->isNotEmpty($data_last_name))) { $data_suffix = $this->getSuffix($data_suffix); $data_profession = $this->getProfessionID($data_profession, $utility, $db); $data_gender = $this->getGenderID($data_gender, $utility); $customer_data = "('$data_customer_record_id','','','$data_first_name','$data_middle_name','$data_last_name','$data_suffix','$data_gender','608','$data_birthday','','','','','','$data_position','','$data_date','','" . $GLOBALS['user_id'] . "','','$data_nature_of_business','$data_profession','$data_corporation_name_final_id','1','0','$data_aha_status','1')"; $db->sql_query_id(sprintf($customer_data_query, $customer_data)); if ($utility->isNotEmpty($data_city)) { $address_1_city_id = $db->select("SELECT ac.`id` FROM `all_city` ac LEFT OUTER JOIN all_state astate ON ac.provCode = astate.provCode WHERE ac.status = 1 AND CONCAT(ac.`citymunDesc`, ' (',astate.provDesc,')') LIKE '%$data_city%' ORDER by ac.`citymunDesc` ASC LIMIT 1"); } else { $address_1_city_id = ''; } $customer_contact = "('','','$data_facebook','','','','$data_customer_record_id','$data_address_1','$data_address_2','0','0','$address_1_city_id','','','','$data_email','','$data_business_phone','','$data_mobile','','' ,'1')"; $customer_contact_query = 'INSERT IGNORE INTO customer_contact (`viber`,`telegram`,`facebook`,`instagram`,`whatsapp`,`website`,`customer_id`,`address_1`,`address_2`,`address_1_state`,`address_2_state`,`address_1_city`,`address_2_city`,`address_1_postal`,`address_2_postal`,`email_1`,`email_2`,`business_phone`,`fax_phone`,`mobile_phone_1`,`mobile_phone_2`,`residential_phone`,`status`) VALUES ' . $customer_contact . ' '; $db->sql_query($customer_contact_query); if ($utility->isNotEmpty($data_affiliation)) { $GLOBALS['customer_affiliation'][] = "('$data_affiliation', '$data_customer_record_id', '1' )"; } if ($utility->isNotEmpty($data_car_club)) { $GLOBALS['customer_affiliation'][] = "('$data_car_club', '$data_customer_record_id', '1' )"; } } } else { $data_customer_record_id = $duplicate_information[0]['customer_record_id']; //means duplicate information but not dms source //update customer company if (intval($data_corporation_name_final_id) !== 0) { $this->updateIndividualCompany($data_corporation_name_final_id, $data_customer_record_id, $db); } } $customer_record = "('$data_customer_record_id','$data_customer_no','$data_company_dealer','1')"; $inserted_customer_count = $db->sql_query_num_inserted(sprintf($customer_record_query, $customer_record)); $GLOBALS['inserted_count']++; } else { $data_customer_record_id = $duplicate_information[0]['customer_record_id']; //from existing record identical dups //update customer company id if (intval($data_corporation_name_final_id) !== 0) { $this->updateIndividualCompany($data_corporation_name_final_id, $data_customer_record_id, $db); } } } else { // no individual customer $data_customer_record_id = $data_corporation_name_final_id; $GLOBALS['inserted_count']++; } //end check duplicates //set owner if corporation name us no empty if ($utility->isNotEmpty($data_corporation_name)) { $data_customer_record_id = $data_corporation_name_final_id; } //data cleansing use for inserting final data -vehicle & sales // $data_brand = $this->getVehicleBrandID($data_brand,$utility,$db); // $data_model = $this->getVehicleModelID($data_brand,$data_model,$utility,$db); $data_model_variant = $this->getVehicleModelVariantID($data_model, $data_model_variant, $utility, $db); $data_color = $this->getVehicleColorID($data_color, $utility, $db); $data_mode_of_sale = $this->getModeOfSale($data_mode_of_sale, $utility, $db); $data_type_of_payment = $this->getTypeOfPayment($data_type_of_payment, $utility, $db); $data_insurance = $this->getInsuranceCompanyID($data_insurance, $utility, $db); $data_source = $this->getLeadSourceID($data_source, $utility, $db); //INSERT VEHICLE DATA $GLOBALS['vehicle_data'][] = "('$data_vehicle_record_id','$data_customer_no', '$data_customer_record_id','$data_color', '$data_brand', '', '', '', '', '', '', '$data_model', '', '$data_model_variant', NULLIF('$data_plate_number',''), '', '', '$data_vin', NULLIF('$data_conduction_sticker',''), '', '', '','$data_date','', '$data_model_year', '', '', '', '$data_company_dealer', '" . $GLOBALS['user_id'] . "', '', '$data_registration_no','1')"; //INSERT SALES DATA $GLOBALS['sales_data'][] = "('$data_sales_record_id',NULLIF('$data_vehicle_record_id',''),NULLIF('$data_plate_number',''),'$data_customer_no',NULLIF('$data_conduction_sticker',''),NULLIF('',''),'','','','','$data_date','','','$data_insurance','','','','$data_source','','','','','','','','','$data_date','$data_sales_consultant','','$data_company_dealer','" . $GLOBALS['user_id'] . "','1','','','$data_mode_of_sale','$data_type_of_payment','$data_sales_manager','','$data_end_user','','')"; $data_offered_vehicle = $this->check_string_exist($data_offered_vehicle) ? '' : $data_offered_vehicle; $data_offered_vehicle_brand = $this->getVehicleBrandID($data_offered_vehicle, $utility, $db); if ($utility->isNotEmpty($data_offered_vehicle)) { $GLOBALS['vehicle_offered'][] = "('$data_sales_record_id', '$data_offered_vehicle_brand','0','$data_offered_vehicle','1')"; } } } PK }�Z:�a� � validate_emailv2.phpnu �[��� <?php require '../../vendor/autoload.php'; use SMTPValidateEmail\Validator as SmtpEmailValidator; /** * Validating multiple addresses/recipients at once: * (checking multiple addresses belonging to the same server * uses a single connection) */ $emails = [ 'someone@example.org', 'someone.else@example.com', '143clarkz@gmail.com' ]; $sender = '143clarkz@gmail.com'; $validator = new SmtpEmailValidator($emails, $sender); $results = $validator->validate(); echo json_encode($results); // var_dump($results); // /** // * The `validate()` method accepts the same parameters // * as the constructor, so this is equivalent to the above: // */ // $emails = [ // 'someone@example.org', // 'someone.else@example.com' // ]; // $sender = 'mail@connect.autohub.ph'; // $validator = new SmtpEmailValidator(); // $results = $validator->validate($emails, $sender); // var_dump($results); PK }�Z���ũ � unit_association.phpnu �[��� <?php class UnitAssociation{ function read_unit_association_content($search,$db){ $unit_associations = $db -> return_result("SELECT id,name FROM `source_unit_association` WHERE status=1 AND `name` LIKE '%$search%' ORDER BY name ASC LIMIT 10"); $json = []; foreach($unit_associations as $unit_association){ $json[] = ['id'=>$unit_association['name'], 'text'=>$unit_association['name']]; } echo json_encode($json); } function read_unit_association_id_by_name($name,$db){ return $db -> select("SELECT id FROM `source_unit_association` WHERE status=1 AND `name` = '$name' "); } function create_unit_association($name,$db){ return $db -> sql_query_id("INSERT INTO source_unit_association (name,date_added,status) VALUES ('$name',NOW(),'1')"); } } ?>PK }�Z4�� � color.phpnu �[��� <?php class Color { function read_color_id_by_name($name, $db){ return $db -> select("SELECT id FROM `vehicle_color` WHERE status = 1 AND `name` = '$name' "); } function read_color($name, $db){ $colors = $db -> return_result("SELECT id,name FROM `vehicle_color` WHERE status = 1 AND `name` LIKE '%$name%' LIMIT 10 "); $json = []; foreach($colors as $color){ $json[] = ['id'=>$color['name'], 'text'=>$color['name']]; } echo json_encode($json); } function read_color_name_by_id($id, $db){ return $db -> select("SELECT name FROM `vehicle_color` WHERE status = 1 AND `id` = '$id'"); } function create_color($name, $db){ return $db -> sql_query_id("INSERT INTO vehicle_color (`name`, `status`) VALUES ('$name', '1')"); } } ?> PK }�Z��� type.phpnu �[��� <?php class Type { function read_type_id_by_name($name, $db){ return $db -> select("SELECT id FROM `vehicle_type` WHERE status = 1 AND `name` = '$name' "); } function read_type_name_by_id($id, $db){ return $db -> select("SELECT name FROM `vehicle_type` WHERE status = 1 AND `id` = '$id'"); } function create_brand($name, $db){ return $db -> sql_query_id("INSERT INTO vehicle_type (`name`, `status`) VALUES ('$name', '1')"); } } ?> PK }�Z C�b� � celebrity_influencer.phpnu �[��� <?php class CelebrityInfluencer{ function read_celebrity_influencers_content($search,$db){ $celebrity_influencers = $db -> return_result("SELECT id,name FROM `source_celebrity_influencers` WHERE status=1 AND `name` LIKE '%$search%' ORDER BY name ASC LIMIT 10"); $json = []; foreach($celebrity_influencers as $celebrity_influencer){ $json[] = ['id'=>$celebrity_influencer['name'], 'text'=>$celebrity_influencer['name']]; } echo json_encode($json); } function read_celebrity_influencer_id_by_name($name,$db){ return $db -> select("SELECT id FROM `source_celebrity_influencers` WHERE status=1 AND `name` = '$name' "); } function create_celebrity_influencer($name,$db){ return $db -> sql_query_id("INSERT INTO source_celebrity_influencers (name,date_added,status) VALUES ('$name',NOW(),'1')"); } } ?>PK }�Zfeq� � cis.phpnu �[��� <?php class CIS { function create_customer_affiliations_list($data_to_insert, $db){ $query_customer_affiliations_list = "INSERT INTO `cis_affiliation_list`(`affiliations_content_id`, `customer_id`, `status`) VALUES ".$data_to_insert.""; //echo $query_customer_affiliations_list; return; $rows_affected = $db->sql_query_num_inserted($query_customer_affiliations_list); return $rows_affected; } } ?>PK }�Z�5�g� � profession.phpnu �[��� <?php class Profession { function read_profession_id_by_name($name, $db){ return $db -> select("SELECT id FROM `source_profession` WHERE status = 1 AND `name` = '$name' "); } function read_profession($name, $db){ $professions = $db -> return_result("SELECT id,name FROM `source_profession` WHERE status = 1 AND `name` LIKE '%$name%' LIMIT 10 "); $json = []; foreach($professions as $profession){ $json[] = ['id'=>$profession['name'], 'text'=>$profession['name']]; } echo json_encode($json); } function read_profession_name_by_id($id, $db){ return $db -> select("SELECT name FROM `source_profession` WHERE status = 1 AND `id` = '$id'"); } function create_profession($name, $db){ return $db -> sql_query_id("INSERT INTO source_profession (`name`, `status`) VALUES ('$name', '1')"); } } ?> PK }�ZX|2j j dealer.phpnu �[��� <?php class Dealer{ function read($search,$company_ids,$db){ // $dealers = $db -> return_result("SELECT `id`,`name`, `code` FROM `source_dealer` WHERE status != '0' AND concat(name,' ',code) LIKE '%$search%' AND dms_id IN ($company_ids) ORDER by code ASC"); $dealers = $db -> return_result("SELECT sd.id,sd.code,sd.name FROM `source_company_dealer` scd INNER JOIN source_dealer sd ON scd.`dealer_id` = sd.id WHERE scd.status = 1 AND sd.status = 1 AND scd.type = 1 AND scd.company_id IN ($company_ids) AND CONCAT(sd.code,' ',sd.name) LIKE '%$search%' GROUP BY sd.id ORDER BY sd.code ASC"); $json = []; foreach($dealers as $dealer){ $json[] = ['id'=>$dealer['id'], 'text'=>$dealer['code'].' - '.$dealer['name']]; } echo json_encode($json); } function read_dealer_ids($company_ids,$db){ $dealers = $db -> return_result("SELECT sd.id,sd.code,sd.name FROM `source_company_dealer` scd INNER JOIN source_dealer sd ON scd.`dealer_id` = sd.id WHERE scd.status = 1 AND sd.status = 1 AND scd.type = 1 AND scd.company_id IN ($company_ids) GROUP BY sd.id ORDER BY sd.code ASC"); $json = []; foreach($dealers as $dealer){ $json[] = ['id'=>$dealer['id']]; } echo json_encode($json); } function read_dealer_content($search,$company_id,$db){ $dealers = $db -> return_result("SELECT sd.id,sd.code,sd.name FROM `source_company_dealer` scd INNER JOIN source_dealer sd ON scd.`dealer_id` = sd.id WHERE scd.status = 1 AND sd.status = 1 AND scd.type = 1 AND scd.company_id IN ($company_id) AND CONCAT(sd.code,' ',sd.name) LIKE '%$search%' GROUP BY sd.id ORDER BY sd.code ASC LIMIT 10"); $json = []; foreach($dealers as $dealer){ $json[] = ['id'=>$dealer['id'], 'text'=>$dealer['code'].' - '.$dealer['name']]; } echo json_encode($json); } function read_dealer_ids_by_company($company_id,$db){ return $db -> return_result("SELECT sd.id FROM `source_company_dealer` scd INNER JOIN source_dealer sd ON scd.`dealer_id` = sd.id WHERE scd.status = 1 AND sd.status = 1 AND scd.type = 1 AND scd.company_id IN ($company_id) GROUP BY sd.id ORDER BY sd.code ASC"); } } ?>PK }�Z�Y��u>