| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967 |
- <?php
- /* * **************************
- * File : report.php
- * Author : Cygnusa
- * @2018
- * ************************** */
- include "Connection.php";
- $conn = new Connection();
- if (isset($_REQUEST["funName"])) {
- $db = $conn->getConnection();
- $fun = $_REQUEST["funName"];
- switch ($fun) {
- case "user_log":
- user_log();
- break;
- case "user_month_report":
- user_month_report();
- break;
- case "assessmentreport":
- assessmentreport();
- break;
- case "assessmentuserreport":
- assessmentuserreport();
- break;
-
- case "userwiseassessmentreport":
- userwiseassessmentreport();
- break;
- case "userresultassessmentreport":
- userresultassessmentreport();
- break;
- case "trainingcontentreport":
- trainingcontentreport();
- break;
- case "usersuppliercontentreport":
- usersuppliercontentreport();
- break;
- case "usercontentfilereport":
- usercontentfilereport();
- break;
-
- }
- }
- // USER LOG
- function user_log() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- // $_SESSION["userid"]=1;
- if (isset($_SESSION["userid"])) {
-
- $start_date = (isset($_REQUEST['start_date'])) ? date('Y-m-d',strtotime(escape_str($_REQUEST['start_date']))) : '';
- $end_date = (isset($_REQUEST['end_date'])) ? date('Y-m-d',strtotime(escape_str($_REQUEST['end_date']))) : '';
- $type = (isset($_REQUEST['type'])) ? escape_str($_REQUEST['type']) : '';
-
- $pn = escape_str($_REQUEST["pn"]);
- $nr = escape_str($_REQUEST["nr"]);
- $key = escape_str($_REQUEST["key"]);
- //FILTER
- //START DATE
- $filtercond .= ($start_date != '') ? " AND l.created_on>='" . escape_str($start_date) . " 00:00:00'" : '';
- //END DATE
- $filtercond .= ($end_date != '') ? " AND l.created_on<='" . escape_str($end_date) . " 23:59:59'" : '';
- //FILTER TYPE
- if ($type != '') {
- switch ($type) {
- case "app":
- case "web":
- case "admin":
- $filtercond .= " AND l.device_type='" . escape_str($type) . "'";
- break;
- }
- }
-
- if (!empty($pn) && !empty($nr)) {
-
- // Pagination
- $limit_cond .= " limit " . (($pn - 1) * $nr) . ", " . $nr;
-
- }
- //GET LOG
- $user_log_str = "SELECT SQL_CALC_FOUND_ROWS u.`userid`, u.`smpin`, u.`emp_code`, u.`fname`, u.`lname`, u.`emailid`, u.`mobileno`,u.`role`,u.`dealer_code`,l.module,l.ip,MAX(l.created_on)as created_on FROM `" . TABLE_USER_LOG . "` as l JOIN " . TABLE_USER . " as u ON u.userid=l.userid WHERE l.module='SIGNIN' " . $filtercond . " GROUP BY u.userid ORDER BY l.created_on desc" . $limit_cond;
- $data_arr = $conn->getQueryValue($user_log_str);
-
-
- $total_records_arr = $conn->getQueryValue("select FOUND_ROWS() as total_records");
- $total_records = $total_records_arr[0]->total_records;
- if (!empty($pn) && !empty($nr)) {
- $arr['total_records'] = $total_records;
- }
- //LOG
- $conn->insertUserLog($conn, 'REPORT LOG');
- if (!count($data_arr) > 0) {
- $arr['total_records']='0';
- $arr['report'] = array();
- }else
- {
- if(count($data_arr)>0)
- {
- foreach($data_arr as $mkey=>$user_arr)
- {
- $data_arr[$mkey]->dealer=array();
- $dealer_str = "SELECT * FROM `" . DMS_DEALER . "` WHERE dealer_code='".$user_arr->dealer_code."' LIMIT 1 ";
- $dealer_arr = $conn->getQueryValue($dealer_str);
- if(count($dealer_arr)>0)
- {
- $data_arr[$mkey]->dealer=$dealer_arr;
- }
- }
- }
-
- $arr['report'] = $data_arr;
- }
- $conn->insertUserLog($conn, 'USER LOG REPORT');
- $conn->message(true,$conn->getMessage($lang,'report','success1'),$arr );
- } else {
- $conn->message(false,$conn->getMessage($lang,'report','error1'));
- }
- } catch (PDOException $e) {
- $conn->message(false,$conn->getMessage($lang,'report','error4'));
- }
- }
- // USER MONTH REPORT
- function user_month_report() {
- global $conn;
- try {
-
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
-
- if (isset($_SESSION["userid"])) {
-
- $month = (isset($_REQUEST['month'])) ? escape_str($_REQUEST['month']) : '';
- $year = (isset($_REQUEST['year'])) ? escape_str($_REQUEST['year']) : '';
- $type = (isset($_REQUEST['type'])) ? escape_str($_REQUEST['type']) : '';
- //FILTER TYPE
- if ($type != '') {
- switch ($type) {
- case "app":
- case "web":
- case "admin":
- $filtercond .= " AND device_type='" . escape_str($type) . "'";
- break;
- }
- }
- $date_data_arr = $conn->getMonthDates($month, $year);
-
- $label_arr = $date_data_arr['date'];
- $x = 0;
-
- $user_log_str = " select DATE(created_on)as label_date ,count(DISTINCT userid) as user_count FROM " . TABLE_USER_LOG . " WHERE module='SIGNIN' AND created_on>='" . $date_data_arr['start'] . " 00:00:00' AND created_on<='" . $date_data_arr['last'] . " 23:59:59' " . $filtercond . " GROUP BY DATE(created_on) ORDER BY created_on";
- $arr = $conn->getQueryValue($user_log_str);
-
-
- if (count($arr) != count($date_data_arr['month'])) {
-
- foreach ($arr as $val) {
- $date_val_arr[$val->label_date] = $val->user_count;
- }
-
- foreach ($date_data_arr['month'] as $res_month) {
- $nobj = new stdClass();
- $nobj->label_date = $res_month;
- $res_month_arr=@explode('-',$res_month);
- $nobj->label_date_str = $res_month_arr[2];
- $nobj->user_count = (isset($date_val_arr[$nobj->label_date])) ? $date_val_arr[$nobj->label_date] : '0';
- $rearr[] = $nobj;
- }
- } else {
- $rearr = $arr;
- }
- //LOG
- $conn->insertUserLog($conn, 'USER LOG MONTH REPORT');
- //echo $conn->message(true, $pageData->successMsg[0], array('data' => $rearr, 'date' => $label_arr, 'month' => $date_data_arr['month']));
- $arr=array('data' => $rearr, 'date' => $label_arr, 'month' => $date_data_arr['month']);
- $conn->message(true,$conn->getMessage($lang,'report','success1'),$arr );
-
- } else {
- $conn->message(false,$conn->getMessage($lang,'report','error1'));
- }
- } catch (PDOException $e) {
- $conn->message(false,$conn->getMessage($lang,'report','error4'));
- }
- }
- // ASSESSMENT REPORT
- function assessmentreport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- //$_SESSION["userid"]=1;
- if (isset($_SESSION["userid"])) {
- $data_arr = array();
- $start_date = (isset($_REQUEST['start_date'])) ? escape_str($_REQUEST['start_date']) : '';
- $end_date = (isset($_REQUEST['end_date'])) ? escape_str($_REQUEST['end_date']) : '';
-
- $pn = escape_str($_REQUEST["pn"]);
- $nr = escape_str($_REQUEST["nr"]);
- $key = escape_str($_REQUEST["key"]);
- //print_r($_REQUEST);
- $arr = array();
- //CONDITIONS
- $lcond = '';
- $t_cond = '';
- $user_cond = '';
- $lcond .= ($start_date != '') ? " AND a.publisheddate>='" . $start_date . "'" : '';
- $lcond .= ($end_date != '') ? " AND a.publisheddate<='" . $end_date . "'" : '';
-
- //DATE WITH COND
- if ($start_date == '' && $end_date == '') {
- $lcond = "AND a.publisheddate<='" . NOW . "'";
- }
- $total_records = 0;
- $get_assess_str = "SELECT SQL_CALC_FOUND_ROWS a.`assessmentid`, a.`assessmentname`,a.`description`,a.`assessmenttype`,a.`assettypeid`,a. `assessmenttimetype` ,a.`assessmenttime`,a.`randomcond`,a.`created_on`,a.publisheddate,a.enddate,a.assessmentnotification,a.attemptslimit,a.`filter_role`, a.`filter_zone`, a.`filter_region`, a.`filter_dealer`,a.status FROM ".TABLE_ASSESSMENT." a WHERE a.assettypeid='1' AND a.status='1' ".$lcond." ORDER BY a.assessmentid DESC";
- if (!empty($pn) && !empty($nr)) {
- // echo "calling here";
- // Pagination
- $get_assess_str .= " limit " . (($pn - 1) * $nr) . ", " . $nr;
- }
-
-
- $get_assess_arr = $conn->getQueryValue($get_assess_str);
- //echo "select FOUND_ROWS() as total_records";
- $total_records_arr = $conn->getQueryValue("select FOUND_ROWS() as total_records");
- $total_records = $total_records_arr[0]->total_records;
- //print_r($total_records_arr);
- if (count($get_assess_arr)>0)
- {
- //GET ALL STATUS
- $status_str = "SELECT * FROM ".TABLE_STATUS;
- $status_res_arr=$conn->getQueryValue($status_str);
- //print_r($status_res_arr);
- if(count($status_res_arr)>0)
- {
- foreach($status_res_arr as $res)
- {
- $obj_key=$res->statusid;
- $status_arr[$obj_key]=$res->status;
- }
- }
- foreach ($get_assess_arr as $akey=>$res_assess)
- {
- $get_assess_arr[$akey]->publishedtime=date('H:i',strtotime($res_assess->publisheddate));
- $get_assess_arr[$akey]->endtime=date('H:i',strtotime($res_assess->endtime));
- $get_assess_arr[$akey]->publisheddate=date('Y-m-d',strtotime($res_assess->publisheddate));
- $get_assess_arr[$akey]->enddate=date('Y-m-d',strtotime($res_assess->enddate));
- //CHECK ALREADY ATTENDTED
- $assessment_result_str = "SELECT * FROM ".TABLE_ASSESSMENTRESULT." WHERE assessmentid='".$res_assess->assessmentid."' ORDER BY arid DESC";
- $assessment_result_arr=$conn->getQueryValue($assessment_result_str);
- if(count($assessment_result_arr)>0)
- {
- // 3-Completed , 4 - In Progress
- $get_assess_arr[$akey]->status =($res_assess->status=='1')?'3':'1';
- //$res_assess->status = $get_assess_arr[$key]->status;
- } else {
- $get_assess_arr[$akey]->status ='7';
- //$res_assess->status = $get_assess_arr[$key]->status;
- }
- //EXPIRED
- if(strtotime($res_assess->enddate)<strtotime(NOW))
- {
- $get_assess_arr[$akey]->is_expired='1';
- $get_assess_arr[$akey]->status = '8';
- //$res_assessment->status = '8';
- }
- //STATUS STRING
- $get_assess_arr[$akey]->statusname=(isset($status_arr[$res_assess->status]))?$status_arr[$res_assess->status]:"";
- }
- $data_arr=$get_assess_arr;
- }
-
- if (!empty($pn) && !empty($nr)) {
- $arr['total_records'] = $total_records;
- }
- $arr['report'] = $data_arr;
- $conn->message(true,$conn->getMessage($lang,'report','success1'),$arr );
- } else {
- $conn->message(false,$conn->getMessage($lang,'report','error1'));
- }
- } catch (PDOException $e) {
- $conn->message(false,$conn->getMessage($lang,'report','error4'));
- }
- }
- // ASSESSMENT USER REPORT
- function assessmentuserreport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- //$_SESSION["userid"]=1;
- if (isset($_SESSION["userid"])) {
-
- $assessmentid = escape_str($_REQUEST["assessmentid"]);
-
- $assessment_user_str = "SELECT au.*,u.fname,u.lname,u.dealer_code FROM ".TABLE_ASSESSMENT_USER." as au JOIN ".TABLE_USER." as u ON au.userid=u.userid LEFT JOIN ".DMS_DEALER." as d ON u.dealer_code=d.dealer_code WHERE au.assessmentid='".$res_assess->assessmentid."' ORDER BY au.id DESC";
- $assessment_user_arr=$conn->getQueryValue($assessment_user_str);
-
- $conn->message(true,$conn->getMessage($lang,'report','success1'),$arr );
- } else {
- $conn->message(false,$conn->getMessage($lang,'report','error1'));
- }
- } catch (PDOException $e) {
- $conn->message(false,$conn->getMessage($lang,'report','error4'));
- }
- }
- function getuserdata($s3, $userid) {
- global $conn;
- $query_getuser_str = " SELECT userid,`emp_code`, `password`, `fname`, `lname`, `emailid`, `mobileno`, `role`, `dealer_code`, `address_1`, `address_2`, `address_3`, `profile_photo`, `dob`, `country`, `state`, `city`, `language`, `status`, `last_password_change`, `is_first_login` FROM " . TABLE_USER . " WHERE userid='" . $userid . "' LIMIT 1 ";
- $query_getuser_arr = $conn->getQueryValue($query_getuser_str);
- if (count($query_getuser_arr) > 0) {
- if ($query_getuser_arr[0]->profile_photo != '') {
- //S3 URL
- $obj = new stdClass();
- $obj->key_name = S3_PROFILE_IMAGE_URL . $query_getuser_arr[0]->profile_photo;
- $url = awsfileserver::getS3Url($s3, S3_BUCKET, $obj);
- $query_getuser_arr[0]->profile_photo = $url;
-
-
- } else {
- $query_getuserarr['result'][0]->profile_photo = USER_NOIMAGE_URL;
- }
- return $query_getuser_arr[0];
- } else {
- return array();
- }
- }
- //ASSESSMENT USER REPORT LOG
- function userwiseassessmentreport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
-
- //$_SESSION["userid"]=1;
- if (isset($_SESSION["userid"])) {
- $start_date = (isset($_REQUEST['start_date'])) ? escape_str($_REQUEST['start_date']) : '';
- $end_date = (isset($_REQUEST['end_date'])) ? escape_str($_REQUEST['end_date']) : '';
- $trainingid = (isset($_REQUEST['trainingid'])) ? escape_str($_REQUEST['trainingid']) : '';
- $category = (isset($_REQUEST['category'])) ? escape_str($_REQUEST['category']) : '';
- $dealer_code = (isset($_REQUEST['dealer_code'])) ? escape_str($_REQUEST['dealer_code']) : '';
- $supplier = (isset($_REQUEST['supplier'])) ? escape_str($_REQUEST['supplier']) : '';
- $userid = (isset($_REQUEST['userid'])) ? escape_str($_REQUEST['userid']) : '';
- //CONDITIONS
- $lcond = '';
- $t_cond = '';
- $user_cond = '';
- $lcond .= ($trainingid != '') ? " AND a.trainingid='" . $trainingid . "'" : '';
- $lcond .= ($category != '') ? " AND a.cateid='" . $category . "'" : '';
- $lcond .= ($start_date != '') ? " AND au.publisheddate>='" . $start_date . "'" : '';
- $lcond .= ($end_date != '') ? " AND au.publisheddate<='" . $end_date . "'" : '';
- $lcond .= ($userid != '') ? " AND au.userid='" . $userid . "'" : '';
- //GET ASSESSMENT
- $assessment_str = "SELECT a.assessmentid,a.assessmentname FROM `" . TABLE_ASSESSMENT . "` as a JOIN " . TABLE_ASSESSMENT_USER . " as au ON a.assessmentid=au.assessmentid " . $t_cond . " WHERE a.assettypeid='1' " . $lcond . " GROUP BY a.assessmentid ";
- $assessment_arr = $conn->getQueryValue($assessment_str);
- if (count($assessment_arr) > 0) {
- foreach ($assessment_arr as $res_assess) {
- //GET ASSESSMENT HIGHSCORE
- $get_score_str = "SELECT au.highscore,au.highscorearid,end_time FROM `" . TABLE_ASSESSMENT_USER . "` as au JOIN (SELECT assessmentid,MAX(enddatetime)as end_time FROM " . TABLE_ASSESSMENTRESULT . " WHERE assessmentid='" . $res_assess->assessmentid . "' AND userid='" . $userid . "' )as ar ON au.assessmentid=au.assessmentid WHERE au.assessmentid='" . $res_assess->assessmentid . "' AND au.userid='" . $userid . "' LIMIT 1";
- $get_score_arr = $conn->getQueryValue($get_score_str);
- $res_assess->highscore = (count($get_score_arr) > 0 && isset($get_score_arr[0]->highscore) && $get_score_arr[0]->highscore > 0) ? $get_score_arr[0]->highscore : '0';
- $res_assess->end_time = (count($get_score_arr) > 0 && isset($get_score_arr[0]->end_time) && $get_score_arr[0]->end_time != '0000-00-00 00:00:00') ? $get_score_arr[0]->end_time : '';
- $res_assess->tot_ques_count = '0';
- $res_assess->ans_ques_count = '0';
-
- if (count($get_score_arr) > 0) {
- //GET ASSESSMENT USER RESULT
- //$get_ques_count_str = "SELECT * FROM (SELECT COUNT(DISTINCT aqid) as tot_ques FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' GROUP BY assessmentid )as a,(SELECT COUNT(DISTINCT aqid) as ans_ques FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' AND choiseid!=0 GROUP BY assessmentid )as b";
-
- //$get_ques_count_str = "SELECT * FROM (SELECT SUM(total_question) as tot_ques FROM " . TABLE_ASSESSMENT_SUPPLIER . " WHERE assessmentid='" . $res_assess->assessmentid . "' )as a,(SELECT COUNT(DISTINCT aqid) as ans_ques FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' AND choiseid!=0 GROUP BY assessmentid )as b";
-
- $get_ques_count_str = "SELECT tot_ques,ans_ques FROM (SELECT SUM(total_question) as tot_ques,assessmentid FROM ".TABLE_ASSESSMENT_SUPPLIER." WHERE assessmentid='".$res_assess->assessmentid ."' ) as a LEFT JOIN (SELECT COUNT(DISTINCT aqid) as ans_ques,assessmentid FROM ".TABLE_ASSESSMENT_USERRESULT." WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' AND choiseid!=0 GROUP BY assessmentid)as b ON a.assessmentid=b.assessmentid";
-
- $get_ques_count_arr = $conn->getQueryValue($get_ques_count_str);
-
-
-
- if (count($get_ques_count_arr) > 0) {
- $res_assess->tot_ques_count = $get_ques_count_arr[0]->tot_ques;
- $res_assess->ans_ques_count = ($get_ques_count_arr[0]->ans_ques)?$get_ques_count_arr[0]->ans_ques:'0';
- }
- }
- //GET ASSESSMENT SUPPLIER
- $get_supplier_str = "SELECT s.suppliername,s.supplierid,asu.total_question as tot_ques_count FROM (SELECT * FROM `" . TABLE_ASSESSMENT_SUPPLIER . "` WHERE assessmentid='" . $res_assess->assessmentid . "') as asu JOIN " . TABLE_SUPPLIER . " as s ON asu.supplierid=s.supplierid WHERE asu.assessmentid='" . $res_assess->assessmentid . "' ";
-
- $get_supplier_arr = $conn->getQueryValue($get_supplier_str);
- if (count($get_supplier_arr) > 0) {
- foreach ($get_supplier_arr as $nkey => $res_supplier) {
- $get_supplier_arr[$nkey]->tot_ques_count = $res_supplier->tot_ques_count;
- $get_supplier_arr[$nkey]->ans_ques_count = '0';
-
- $get_supplier_arr[$nkey]->score=getAssessmentSupplierScore($userid,$res_assess->assessmentid,$res_supplier->supplierid,$get_score_arr[0]->highscorearid);
- //$get_sques_count_str = "SELECT * FROM (SELECT COUNT(DISTINCT aqid) as tot_ques FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' AND aqid IN (SELECT aqid FROM " . TABLE_ASSESSMENT_QUESTION . " WHERE asid='" . $res_supplier->supplierid . "') GROUP BY assessmentid )as a,(SELECT COUNT(DISTINCT aqid) as ans_ques FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' AND choiseid!=0 AND aqid IN (SELECT aqid FROM " . TABLE_ASSESSMENT_QUESTION . " WHERE asid='" . $res_supplier->supplierid . "') GROUP BY assessmentid )as b";
- $get_sques_count_str = " SELECT COUNT(DISTINCT aqid) as ans_ques FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE arid='" . $get_score_arr[0]->highscorearid . "' AND userid='" . $userid . "' AND choiseid!=0 AND aqid IN (SELECT aqid FROM " . TABLE_ASSESSMENT_QUESTION . " WHERE asid='" . $res_supplier->supplierid . "') GROUP BY assessmentid ";
- $get_sques_count_arr = $conn->getQueryValue($get_sques_count_str);
- if (count($get_sques_count_arr) > 0) {
- // $get_supplier_arr[$nkey]->tot_ques_count = $get_sques_count_arr[0]->tot_ques;
- $get_supplier_arr[$nkey]->ans_ques_count = $get_sques_count_arr[0]->ans_ques;
- }
- }
- $res_assess->supplier = $get_supplier_arr;
- }
- $data_arr[] = $res_assess;
- }
- }
- echo $conn->message(true, $pageData->successMsg[0], $data_arr);
- exit;
- } else {
- echo $conn->message(false, $pageData->errorMsg[2]);
- exit;
- }
- } catch (PDOException $e) {
- echo $e->getMessage();
- }
- }
- //ASSESSMENT USER RESULT REPORT LOG
- function userresultassessmentreport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- if (isset($_SESSION["userid"])) {
- $supplier = (isset($_REQUEST['supplier'])) ? escape_str($_REQUEST['supplier']) : '';
- $userid = (isset($_REQUEST['userid'])) ? escape_str($_REQUEST['userid']) : '';
- $assessmentid = (isset($_REQUEST['assessmentid'])) ? escape_str($_REQUEST['assessmentid']) : '';
- //CONDITIONS
- $lcond = " AND a.assessmentid='" . $assessmentid . "' AND au.userid='" . $userid . "'";
- $t_cond = '';
- $user_cond = '';
-
- $data_arr=array();
- //GET ASSESSMENT
- $assessment_str = "SELECT a.assessmentid,a.assessmentname,au.highscorearid FROM `" . TABLE_ASSESSMENT . "` as a JOIN " . TABLE_ASSESSMENT_USER . " as au ON a.assessmentid=au.assessmentid " . $t_cond . " WHERE a.assettypeid='1' " . $lcond . " LIMIT 1";
-
-
-
-
- $assessment_arr = $conn->getQueryValue($assessment_str);
- if (count($assessment_arr) > 0) {
- if ($supplier != '') {
- $sup_cond = " JOIN (SELECT * FROM " . TABLE_ASSESSMENT_QUESTION . " WHERE assessmentid='" . $assessmentid . "' AND asid='" . $supplier . "')as aq ON ur.assessmentid=aq.assessmentid ";
- }
- $get_question_str = "SELECT ur.* FROM " . TABLE_ASSESSMENT_USERRESULT . " as ur " . $sup_cond . " WHERE ur.userid='" . $userid . "' AND ur.arid='" . $assessment_arr[0]->highscorearid . "' GROUP BY ur.aqid ORDER BY ur.userresultid ASC";
- $get_question_arr = $conn->getQueryValue($get_question_str);
- if (count($get_question_arr) > 0) {
- $arid = $assessment_arr[0]->highscorearid;
- $total_ques_score = 0;
- $total_ans_score = 0;
- foreach ($get_question_arr as $res_value) {
- //GET THE QUESTION
- $ques_str = "SELECT q.id as qid,q.`supplierid`, q.`questiontypeid`, q.`questiontext`, q.`qimage`, q.`qvideo`,q.score FROM " . TABLE_QUESTION . " as q WHERE id='" . $res_value->qid . "' LIMIT 1";
- $ques_arr = $conn->getQueryValue($ques_str);
- if (count($ques_arr) > 0) {
- //GET ALL QUESTION OPTIONS
- $ques_option_str = "SELECT op.optid,op.opttext,op.score,op.iscorrect,'0' as selected FROM " . TABLE_QUESTIONOPTION . " as op WHERE op.qid='" . $res_value->qid . "'";
- $ques_option_arr = $conn->getQueryValue($ques_option_str);
- //GET USER ANSWERED OPTIONS
- $user_answer_str = "SELECT * FROM " . TABLE_ASSESSMENT_USERRESULT . " WHERE userid='" . $userid . "' AND arid='" . $arid . "' AND aqid='" . $res_value->aqid . "'";
- $user_answer_arr = $conn->getQueryValue($user_answer_str);
- $ques_arr[0]->is_correct = '0';
- $ques_arr[0]->ans_score = '0';
- $correct_ans_arr = array();
- $choise_arr = array();
- if (count($ques_option_arr) > 0) {
- if (count($user_answer_arr) > 0) {
- $choise_arr = array_column($user_answer_arr, 'choiseid');
- }
- $ques_ans = array();
- $ques_ans_score = 0;
- //print_r( $user_answer_arr);
- foreach ($ques_option_arr as $mkey => $res_opt) {
- //print_r($ques_option_arr);
- if (count($user_answer_arr) > 0) {
- $ques_option_arr[$mkey]->selected = (in_array($res_opt->optid, $choise_arr)) ? '1' : '0';
- //ANSWERED ANS
- if ($ques_option_arr[$mkey]->selected == '1') {
- $ques_ans[] = $res_opt;
- }
- }
- //correct ans
- if ($res_opt->iscorrect == '1') {
- $correct_ans_arr[] = $res_opt->optid;
-
- }
- }
- $ques_ans_score += $ques_arr[0]->score;
- $total_ques_score += $ques_arr[0]->score;
-
- if (count($correct_ans_arr) == count($choise_arr)) {
- $result = array_diff($correct_ans_arr, $choise_arr);
- $ques_arr[0]->is_correct = (count($result) == 0) ? '1' : '0';
- if ($ques_arr[0]->is_correct == '1') {
- $ques_arr[0]->ans_score = $ques_ans_score;
- $total_ans_score += $ques_ans_score;
- }
- }
- $ques_arr[0]->answer = $ques_ans;
- }
- }
- $data_arr[] = $ques_arr[0];
- }
- }
- $percentage_val = ($total_ques_score > 0) ? round(($total_ans_score / $total_ques_score) * 100) : 0;
- }
- echo $conn->message(true, $pageData->successMsg[0], array('ques' => $data_arr, 'percentage' => $percentage_val));
- exit;
- } else {
- echo $conn->message(false, $pageData->errorMsg[2]);
- exit;
- }
- } catch (PDOException $e) {
- echo $e->getMessage();
- }
- }
- //TRAINING CONTENT REPORT
- function trainingcontentreport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- if (isset($_SESSION["userid"])) {
- $data_arr = array();
- $start_date = (isset($_REQUEST['start_date'])) ? escape_str($_REQUEST['start_date']) : '';
- $end_date = (isset($_REQUEST['end_date'])) ? escape_str($_REQUEST['end_date']) : '';
- $trainingid = (isset($_REQUEST['trainingid'])) ? escape_str($_REQUEST['trainingid']) : '';
- $category = (isset($_REQUEST['category'])) ? escape_str($_REQUEST['category']) : '';
- $dealer_code = (isset($_REQUEST['dealer_code'])) ? escape_str($_REQUEST['dealer_code']) : '';
- //$supplier = (isset($_REQUEST['supplier'])) ? escape_str($_REQUEST['supplier']) : '';
- //CONDITIONS
- $lcond = '';
- $t_cond = '';
- $user_cond = '';
- $lcond .= ($trainingid != '') ? " AND a.trainingid='" . $trainingid . "'" : '';
- $lcond .= ($category != '') ? " AND a.cateid='" . $category . "'" : '';
- $lcond .= ($start_date != '') ? " AND au.publisheddate>='" . $start_date . "'" : '';
- $lcond .= ($end_date != '') ? " AND au.publisheddate<='" . $end_date . "'" : '';
-
- $pn = escape_str($_REQUEST["pn"]);
- $nr = escape_str($_REQUEST["nr"]);
- $key = escape_str($_REQUEST["key"]);
- $get_training_user = "SELECT SQL_CALC_FOUND_ROWS u.`userid`, u.`emp_code`, u.`fname`, u.`lname`, u.`emailid`, u.`mobileno`, u.`role`, u.`dealer_code`, u.`address_1`, u.`address_2`, u.`address_3`, u.`profile_photo`, u.`dob`, u.`country`, u.`state`, u.`city`, u.`language`, u.`status`, u.`is_deleted` FROM (SELECT * FROM `" . TABLE_TRAINING_PARTICIPANT . "` WHERE trainingid='" . $trainingid . "') as p JOIN " . TABLE_USER . " as u ON p.empid=u.userid " . $t_cond . " GROUP BY p.empid ";
-
- if (!empty($pn) && !empty($nr)) {
-
- // Pagination
- $get_training_user .= " limit " . (($pn - 1) * $nr) . ", " . $nr;
- }
- $data_arr = $conn->getQueryValue($get_training_user);
-
- $total_records_arr = $conn->getQueryValue("select FOUND_ROWS() as total_records");
- $total_records = $total_records_arr[0]->total_records;
- if (count($data_arr) > 0) {
- foreach ($data_arr as $key => $value) {
-
- $dealer_type=userDealertype($value->userid);
- switch(strtoupper($dealer_type))
- {
- case "P":
- case "K":
- $user_cond=" AND ( dealer_type='".$dealer_type."' OR dealer_type='O')";
- break;
- default:
- $user_cond=" AND dealer_type IN('O','P','K')";
- break;
- }
- $get_total_topic_content = "SELECT COUNT(tacontentid) as content_count FROM " . VIEW_TRAINING_CONTENT . " WHERE trainingid='" . $trainingid . "'".$user_cond;
- $get_total_topic_content_arr = $conn->getQueryValue($get_total_topic_content);
- $total_content = (count($get_total_topic_content_arr) > 0) ? $get_total_topic_content_arr[0]->content_count : 0;
-
-
-
- $get_user_complete_count_str = "SELECT COUNT(id) as complete_count FROM " . TABLE_USER_COMPLETE_CONTENT . " WHERE userid='" . $value->userid . "' AND trainingid='" . $trainingid . "' AND status='2' GROUP BY status ";
- $get_user_complete_content_arr = $conn->getQueryValue($get_user_complete_count_str);
- $user_completed_content = (count($get_user_complete_content_arr) > 0) ? $get_user_complete_content_arr[0]->complete_count : 0;
- $data_arr[$key]->total_content = $total_content;
- $data_arr[$key]->completed_content = $user_completed_content;
- $data_arr[$key]->percentage = ($total_content>0 && $user_completed_content>0)? round(($user_completed_content/$total_content)*100):'0';
- }
- }
- $arr['report'] = $data_arr;
- if (!empty($pn) && !empty($nr)) {
- $arr['total_records'] = $total_records;
- }
- echo $conn->message(true, $pageData->successMsg[0], $arr);
- exit;
- } else {
- echo $conn->message(false, $pageData->errorMsg[2]);
- exit;
- }
- } catch (PDOException $e) {
- echo $e->getMessage();
- }
- }
- //TRAINING SUPPLIER CONTENT REPORT
- function usersuppliercontentreport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- if (isset($_SESSION["userid"])) {
- $data_arr = array();
- $start_date = (isset($_REQUEST['start_date'])) ? date('Y-m-d',strtotime(escape_str($_REQUEST['start_date']))) : '';
- $end_date = (isset($_REQUEST['end_date'])) ? date('Y-m-d',strtotime(escape_str($_REQUEST['end_date']))) : '';
- $trainingid = (isset($_REQUEST['trainingid'])) ? escape_str($_REQUEST['trainingid']) : '';
- $category = (isset($_REQUEST['category'])) ? escape_str($_REQUEST['category']) : '';
- $dealer_code = (isset($_REQUEST['dealer_code'])) ? escape_str($_REQUEST['dealer_code']) : '';
- $userid = (isset($_REQUEST['userid'])) ? escape_str($_REQUEST['userid']) : '';
-
- // $pn = escape_str($_REQUEST["pn"]);
- // $nr = escape_str($_REQUEST["nr"]);
- // $key = escape_str($_REQUEST["key"]);
- //CONDITIONS
- // $lcond='';
- // $t_cond='';
- // $user_cond='';
- // $lcond.=($trainingid!='')?" AND a.trainingid='".$trainingid."'":'';
- // $lcond.=($category!='')?" AND a.cateid='".$category."'":'';
- // $lcond.=($start_date!='')?" AND au.publisheddate>='".$start_date."'":'';
- // $lcond.=($end_date!='')?" AND au.publisheddate<='".$end_date."'":'';
- $get_training_user = "SELECT u.`userid`, u.`emp_code`, u.`fname`, u.`lname`, u.`emailid`, u.`mobileno`, u.`role`, u.`dealer_code`, u.`address_1`, u.`address_2`, u.`address_3`, u.`profile_photo`, u.`dob`, u.`country`, u.`state`, u.`city`, u.`language`, u.`status`, u.`is_deleted` FROM (SELECT * FROM `" . TABLE_TRAINING_PARTICIPANT . "` WHERE trainingid='" . $trainingid . "') as p JOIN " . TABLE_USER . " as u ON p.empid=u.userid WHERE u.userid='" . $userid . "' GROUP BY p.empid LIMIT 1 ";
- $user_data_arr = $conn->getQueryValue($get_training_user);
- $data_arr = array();
- if (count($user_data_arr) > 0) {
- //GET SUPPLIER
- $get_allsupplier_str = "SELECT supplierid FROM " . VIEW_TRAINING_CONTENT . " WHERE trainingid='" . $trainingid . "' GROUP BY supplierid";
- $get_allsupplier_arr = $conn->getQueryValue($get_allsupplier_str);
- if (count($get_allsupplier_arr) > 0) {
- foreach ($get_allsupplier_arr as $res_supplier) {
- $get_allsupplier_str = "SELECT suppliername FROM " . TABLE_SUPPLIER . " WHERE supplierid='" . $res_supplier->supplierid . "' LIMIT 1";
- $get_allsupplier_arr = $conn->getQueryValue($get_allsupplier_str);
- if (count($get_allsupplier_arr) > 0) {
- $res_supplier->suppliername = $get_allsupplier_arr[0]->suppliername;
- }
-
- $dealer_type=userDealertype($userid);
- switch(strtoupper($dealer_type))
- {
- case "P":
- case "K":
- $user_cond=" AND ( dealer_type='".$dealer_type."' OR dealer_type='O')";
- break;
- default:
- $user_cond=" AND dealer_type IN('O','P','K')";
- break;
- }
- $get_total_topic_content = "SELECT COUNT(tacontentid) as content_count FROM " . VIEW_TRAINING_CONTENT . " WHERE trainingid='" . $trainingid . "' AND supplierid='" . $res_supplier->supplierid . "' ". $user_cond;
- $get_total_topic_content_arr = $conn->getQueryValue($get_total_topic_content);
- $total_content = (count($get_total_topic_content_arr) > 0) ? $get_total_topic_content_arr[0]->content_count : 0;
- $get_user_complete_count_str = "SELECT COUNT(id) as complete_count FROM " . TABLE_USER_COMPLETE_CONTENT . " WHERE userid='" . $userid . "' AND trainingid='" . $trainingid . "' AND supplierid='" . $res_supplier->supplierid . "' AND status='2' GROUP BY status ";
- $get_user_complete_content_arr = $conn->getQueryValue($get_user_complete_count_str);
- $user_completed_content = (count($get_user_complete_content_arr) > 0) ? $get_user_complete_content_arr[0]->complete_count : 0;
- $res_supplier->total_content = $total_content;
- $res_supplier->completed_content = $user_completed_content;
- $res_supplier->percentage=($res_supplier->total_content>0 && $res_supplier->completed_content>0)? round(($res_supplier->completed_content/$res_supplier->total_content)*100):'0';
-
- $data_arr[] = $res_supplier;
- }
- }
- }
- echo $conn->message(true, $pageData->successMsg[0], $data_arr);
- exit;
- } else {
- echo $conn->message(false, $pageData->errorMsg[2]);
- exit;
- }
- } catch (PDOException $e) {
- echo $e->getMessage();
- }
- }
- //TRAINING CONTENT FILE REPORT
- function usercontentfilereport() {
- global $conn;
- try {
- $lang = "en_us";
- $pageData = $conn->loadJSON($lang);
- if (isset($_SESSION["userid"])) {
- $data_arr = array();
- $start_date = (isset($_REQUEST['start_date'])) ? escape_str($_REQUEST['start_date']) : '';
- $end_date = (isset($_REQUEST['end_date'])) ? escape_str($_REQUEST['end_date']) : '';
- $trainingid = (isset($_REQUEST['trainingid'])) ? escape_str($_REQUEST['trainingid']) : '';
- $category = (isset($_REQUEST['category'])) ? escape_str($_REQUEST['category']) : '';
- $dealer_code = (isset($_REQUEST['dealer_code'])) ? escape_str($_REQUEST['dealer_code']) : '';
- $userid = (isset($_REQUEST['userid'])) ? escape_str($_REQUEST['userid']) : '';
- $supplier = (isset($_REQUEST['supplier'])) ? escape_str($_REQUEST['supplier']) : '';
- //CONDITIONS
- // $lcond='';
- // $t_cond='';
- // $user_cond='';
- // $lcond.=($trainingid!='')?" AND a.trainingid='".$trainingid."'":'';
- // $lcond.=($category!='')?" AND a.cateid='".$category."'":'';
- // $lcond.=($start_date!='')?" AND au.publisheddate>='".$start_date."'":'';
- // $lcond.=($end_date!='')?" AND au.publisheddate<='".$end_date."'":'';
- $get_allsupplier_arr = array();
- $get_training_user = "SELECT u.`userid`, u.`emp_code`, u.`fname`, u.`lname`, u.`emailid`, u.`mobileno`, u.`role`, u.`dealer_code`, u.`address_1`, u.`address_2`, u.`address_3`, u.`profile_photo`, u.`dob`, u.`country`, u.`state`, u.`city`, u.`language`, u.`status`, u.`is_deleted` FROM (SELECT * FROM `" . TABLE_TRAINING_PARTICIPANT . "` WHERE trainingid='" . $trainingid . "') as p JOIN " . TABLE_USER . " as u ON p.empid=u.userid WHERE u.userid='" . $userid . "' GROUP BY p.empid LIMIT 1 ";
- $user_data_arr = $conn->getQueryValue($get_training_user);
- $supplier_name = '';
- $data_arr = array();
- if (count($user_data_arr) > 0) {
- $get_allsupplier_str = "SELECT suppliername FROM " . TABLE_SUPPLIER . " WHERE supplierid='" . $supplier . "' LIMIT 1";
- $get_allsupplier_arr = $conn->getQueryValue($get_allsupplier_str);
- $supplier_name = (count($get_allsupplier_arr) > 0) ? $get_allsupplier_arr[0]->suppliername : '';
-
-
- $dealer_type=userDealertype($userid);
- switch(strtoupper($dealer_type))
- {
- case "P":
- case "K":
- $user_cond=" AND ( dealer_type='".$dealer_type."' OR dealer_type='O')";
- break;
- default:
- $user_cond=" AND dealer_type IN('O','P','K')";
- break;
- }
- //GET CONTENT
- $get_all_content_str = "SELECT `contentid`,tacontentid, `assettopicid` FROM " . VIEW_TRAINING_CONTENT . " WHERE trainingid='" . $trainingid . "' AND supplierid='" . $supplier . "' ".$user_cond;
- $get_all_content_arr = $conn->getQueryValue($get_all_content_str);
- //GET CONTENT
- $get_filetype_str = "SELECT * FROM " . TABLE_FILETYPE . " ";
- $get_filetype_arr = $conn->getQueryValue($get_filetype_str);
- $filetype_arr = array();
- if (count($get_filetype_arr) > 0) {
- foreach ($get_filetype_arr as $res_file) {
- $id = $res_file->id;
- $filetype_arr[$id] = $res_file;
- }
- }
- if (count($get_all_content_arr) > 0) {
- foreach ($get_all_content_arr as $res_content) {
- $get_topic_str = "SELECT a.title,b.topicname,c.filetypeid FROM (SELECT contentid,assettopicid,title FROM " . TABLE_ASSET_CONTENT . " WHERE contentid='" . $res_content->contentid . "') as a JOIN (SELECT assettopicid,topicname FROM " . TABLE_ASSET_TOPIC . " WHERE assettopicid='" . $res_content->assettopicid . "') as b ON a.assettopicid=b.assettopicid LEFT JOIN (SELECT * FROM " . TABLE_ASSET_FILE . " WHERE contentid='" . $res_content->contentid . "' ) as c ON c.contentid=a.contentid LIMIT 1";
- $get_topic_arr = $conn->getQueryValue($get_topic_str);
- $res_content->title = '';
- $res_content->topicname = '';
- $res_content->filetypeid = '';
- $res_content->filetype = '';
- if (count($get_topic_arr) > 0) {
- $filetypeid = $get_topic_arr[0]->filetypeid;
- $get_topic_arr[0]->filetype = $filetype_arr[$filetypeid]->filetype;
- // $res_content->content=$get_topic_arr[0];
- //ASSSIGN KEY TO MAIN OBJ
- if (count($get_topic_arr[0]) > 0) {
- foreach ($get_topic_arr[0] as $ckey => $cvalue) {
- $res_content->$ckey = $cvalue;
- }
- }
- }
- $get_complete_status_str = "SELECT id,status FROM " . TABLE_USER_COMPLETE_CONTENT . " WHERE userid='" . $userid . "' AND trainingid='" . $trainingid . "' AND supplierid='" . $supplier . "' AND status='2' AND tacontentid='" . $res_content->tacontentid . "' LIMIT 1";
- $get_complete_status_arr = $conn->getQueryValue($get_complete_status_str);
- $res_content->completed_status = (count($get_user_complete_content_arr) > 0) ? '1' : '0';
- $data_arr[] = $res_content;
- }
- }
- }
- echo $conn->message(true, $pageData->successMsg[0], array('supplier' => $supplier_name, 'data' => $data_arr));
- exit;
- } else {
- echo $conn->message(false, $pageData->errorMsg[2]);
- exit;
- }
- } catch (PDOException $e) {
- echo $e->getMessage();
- }
- }
- function getAssessmentSupplierScore($userid,$assessmentid,$supplierid,$arid)
- {
- global $conn;
- $percentage_score=0;
- if($arid>0)
- {
-
- //GET ASSESSMENT QUESTION TOTAL SCORE
- $assessmentscore_str = "SELECT SUM(op.score) as totalscore FROM (SELECT * FROM ".TABLE_ASSESSMENT_QUESTION." WHERE assessmentid='".$assessmentid."' AND asid='".$supplierid."' ) aq JOIN (SELECT * FROM ".TABLE_ASSESSMENT_USERRESULT." WHERE assessmentid='".$assessmentid."' AND arid='".$arid."' )as ur ON ur.aqid=aq.aqid JOIN (SELECT * FROM ".TABLE_QUESTIONOPTION." )as op ON aq.qid=op.qid WHERE aq.assessmentid='".$assessmentid."' AND op.iscorrect=1 ";
- $assessmentscore_arr=$conn->getQueryValue($assessmentscore_str);
- $total_score='0';
- if(count($assessmentscore_arr)>0)
- {
- $total_score=($assessmentscore_arr[0]->totalscore)?$assessmentscore_arr[0]->totalscore:'0';
- }
-
-
-
- $userscore_str = "SELECT SUM(op.score) as totalscore FROM ".TABLE_QUESTIONOPTION." as op JOIN (SELECT * FROM ".TABLE_ASSESSMENT_USERRESULT." WHERE assessmentid='".$assessmentid."' AND arid='".$arid."' )as ar ON ar.choiseid=op.optid JOIN (SELECT * FROM ".TABLE_ASSESSMENT_QUESTION." WHERE assessmentid='".$assessmentid."' AND asid='".$supplierid."' )as aq ON ar.aqid=aq.aqid JOIN ".TABLE_QUESTION." as q ON ar.qid=q.id WHERE ar.assessmentid='".$assessmentid."' AND q.questiontypeid='1' AND op.iscorrect=1 AND ar.arid='".$arid."'";
-
- $userscore_arr=$conn->getQueryValue($userscore_str);
- $user_score='0';
- if(count($userscore_arr)>0)
- {
- $user_score=($userscore_arr[0]->totalscore)?$userscore_arr[0]->totalscore:'0';
- }
-
-
- //CHECK MULTI CHOICE
- $get_multi_choice_ques_str = "SELECT ar.* FROM (SELECT * FROM ".TABLE_ASSESSMENT_USERRESULT." WHERE assessmentid='".$assessmentid."' AND arid='".$arid."' ) as ar JOIN ".TABLE_QUESTION." as q ON ar.qid=q.id JOIN (SELECT * FROM ".TABLE_ASSESSMENT_QUESTION." WHERE assessmentid='".$assessmentid."' AND asid='".$supplierid."' )as aq ON ar.aqid=aq.aqid WHERE ar.assessmentid='".$assessmentid."' AND q.questiontypeid='2' AND ar.arid='".$arid."' GROUP BY ar.aqid ";
- $get_multi_choice_arr=$conn->getQueryValue($get_multi_choice_ques_str);
- if(count($userscore_arr)>0)
- {
- foreach($get_multi_choice_arr as $res_multi)
- {
- //GET ALL QUESTION OPTIONS
- $ques_option_str ="SELECT op.optid,op.opttext,op.score,op.iscorrect FROM ".TABLE_QUESTIONOPTION." as op WHERE op.qid='".$res_multi->qid."'";
- $ques_option_arr=$conn->getQueryValue($ques_option_str);
- //GET USER ANSWERED OPTIONS
- $user_answer_str ="SELECT * FROM ".TABLE_ASSESSMENT_USERRESULT." WHERE userid='".$userid."' AND arid='".$arid."' AND aqid='".$res_multi->aqid."'";
- $user_answer_arr=$conn->getQueryValue($user_answer_str);
- $correct_ans_arr=array();
- $choise_arr=array();
- if(count($ques_option_arr)>0)
- {
- if(count($user_answer_arr)>0)
- {
- $choise_arr=array_column($user_answer_arr,'choiseid');
- }
- $ques_score=0;
- foreach($ques_option_arr as $mkey=>$res_opt)
- {
- //correct ans
- if($res_opt->iscorrect=='1')
- {
- $correct_ans_arr[]=$res_opt->optid;
- $ques_score+=$res_opt->score;
- }
- }
- }
- //MUTIPLE CHOISE CORRECT ANSWER CHECK
- if(count($correct_ans_arr)==count($choise_arr))
- {
- $result=array_diff($correct_ans_arr,$choise_arr);
- $is_correct=(count($result)==0)?'1':'0';
- if($is_correct=='1'){ $user_score+=$ques_score;}
- }
- }
- }
-
- $percentage_score=($user_score>0 && $total_score>0)?round(($user_score/$total_score)*100):'0';
- }
-
- return $percentage_score;
- }
- function userDealertype($userid)
- {
- global $conn;
- $get_dealer_type_qry="SELECT d.dealer_type FROM ".TABLE_USER." u JOIN ".TABLE_DEALER." d ON u.dealer_code=d.dealercode WHERE u.userid='".$userid."' LIMIT 1";
- $get_dealer_type_arr=$conn->getQueryValue($get_dealer_type_qry);
- if(count($get_dealer_type_arr)>0)
- {
- $dealer_type=$get_dealer_type_arr[0]->dealer_type;
- }
- $dealer_type='';
- return $dealer_type;
- }
- ?>
|