%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
<?php Class Quiz_model extends CI_Model { Public function __construct(){ parent::__construct(); $db2 = $this->load->database('readerdb', TRUE); } function quiz_list($limit, $list_uid='', $ex_gid = ''){ $logged_in=$this->session->userdata('logged_in'); if($logged_in['su']=='0'){ $gid=$logged_in['gid']; if(!empty($ex_gid)){ $oldgArray[] = $gid; $records = array_merge($ex_gid,$oldgArray); $whrQcon = "("; if(is_array($records)){ $idx = 0; foreach($records as $r){ $whrQcon = $whrQcon . 'gids like concat("%'. $r .'%")' ; if($idx + 1 < count($records)){ $whrQcon = $whrQcon . " OR "; } $idx = $idx + 1; } $whrQcon = $whrQcon . " )"; } $this->db->where($whrQcon); } else { $where="FIND_IN_SET('".$gid."', gids)"; $this->db->where($where); } } if($list_uid!=''){ $this->db->where('savsoft_quiz.admin_id',$list_uid); } if($this->input->post('search') && $logged_in['su']>='1'){ $search=$this->input->post('search'); // $this->db->or_where('quid',$search); //$this->db->or_like('quiz_name',$search); $where = ' ( description like "%'.$search.'%" OR quiz_name like "%'.$search.'%" OR quid like "%'.$search.'%" )'; $this->db->where($where); } if($this->input->post('quiz_type')!='' && $logged_in['su']>='1'){ $quiz_type = $this->input->post('quiz_type'); $this->db->where('savsoft_quiz.quiz_type',$quiz_type); } $this->db->limit($this->config->item('number_of_rows'),$limit); $this->db->order_by('start_date','desc'); $this->db->order_by('quid','desc'); $query=$this->db->get('savsoft_quiz'); //echo $this->db->last_query(); die; return $query->result_array(); } function latest_quiz_list($list_uid=''){ //$db2 = $this->load->database('readerdb', TRUE); $logged_in=$this->session->userdata('logged_in'); if($logged_in['su']=='0'){ $gid=$logged_in['gid']; $where="FIND_IN_SET('".$gid."', gids)"; $this->db->where($where); } if($list_uid!=''){ $this->db->where('savsoft_quiz.admin_id',$list_uid); } if($this->input->post('search') && $logged_in['su']=='1'){ $search=$this->input->post('search'); $this->db->or_where('quid',$search); $this->db->or_like('quiz_name',$search); $this->db->or_like('description',$search); } $this->db->where('savsoft_quiz.quiz_type','1'); $this->db->limit(22); //$this->db->order_by('start_date','desc'); $this->db->order_by('quid','desc'); $query=$this->db->get('savsoft_quiz'); //echo $this->db->last_query(); die; return $query->result_array(); } function get_quiz_summary($uid='') { //$db2 = $this->load->database('readerdb', TRUE); if($uid>0){ $query=$this->db->query("SELECT count(distinct uid) as total, quiz_name,rs.quid FROM `savsoft_result` rs JOIN savsoft_quiz sq ON sq.quid=rs.quid WHERE sq.admin_id = '".$uid."' AND rs.result_status IN('Pass','Fail') GROUP by rs.quid"); $results = $query->result_array(); } else { $query=$this->db->query("SELECT count(distinct uid) as total, quiz_name,rs.quid FROM `savsoft_result` rs JOIN savsoft_quiz sq ON sq.quid=rs.quid WHERE rs.result_status IN('Pass','Fail') GROUP by rs.quid"); $results = $query->result_array(); } $response = array(); foreach($results as $val) { $response[$val['quid']] = $val; } return $response; } function get_total_qcl($quid){ $resp = ''; if(!empty($quid)){ $query=$this->db->query("select sum(noq) as total from savsoft_qcl where quid=$quid"); $resp = $query->row_array(); } return $resp; } function get_quiz_stats($uid='') { //$db2 = $this->load->database('readerdb', TRUE); if($uid>0){ $query=$this->db->query("SELECT count(distinct uid) as total, quiz_name,rs.quid FROM `savsoft_result` rs JOIN savsoft_quiz sq ON sq.quid=rs.quid WHERE sq.admin_id = '".$uid."' GROUP by rs.quid"); $results = $query->result_array(); } else { $query=$this->db->query("SELECT count(distinct uid) as total, quiz_name,rs.quid FROM `savsoft_result` rs JOIN savsoft_quiz sq ON sq.quid=rs.quid GROUP by rs.quid"); $results = $query->result_array(); } $response = array(); foreach($results as $val) { $response[$val['quid']] = $val; } return $response; } function num_quiz($uid=''){ //$db2 = $this->load->database('readerdb', TRUE); if($uid!=''){ $this->db->where('savsoft_quiz.admin_id',$uid); } $query=$this->db->get('savsoft_quiz'); return $query->num_rows(); } /* * function : insert_quiz */ function insert_quiz(){ $userdata=array( 'quiz_name'=>$this->input->post('quiz_name'), 'description'=>$this->input->post('description'), 'start_date'=>strtotime($this->input->post('start_date')), 'end_date'=>strtotime($this->input->post('end_date')), 'duration'=>$this->input->post('duration'), 'maximum_questions'=>$this->input->post('maximum_questions'), 'time_per_question'=>$this->input->post('time_per_question'), 'maximum_all_sub_questions'=>$this->input->post('maximum_all_sub_questions'), 'maximum_attempts'=>$this->input->post('maximum_attempts'), 'total_quiz_questions'=>$this->input->post('maximum_questions'), 'pass_percentage'=>$this->input->post('pass_percentage'), 'correct_score'=>$this->input->post('correct_score'), 'show_result'=>$this->input->post('show_result'), 'display_leaderboard'=>$this->input->post('display_leaderboard'), 'incorrect_score'=>$this->input->post('incorrect_score'), 'ip_address'=>$this->input->post('ip_address'), 'view_answer'=>$this->input->post('view_answer'), 'camera_req'=>$this->input->post('camera_req'), 'quiz_type'=>$this->input->post('quiz_type'), 'gids'=>implode(',',$this->input->post('gids')), 'admin_id'=>$this->input->post('admin_id'), 'question_selection'=>$this->input->post('question_selection') ); if($this->input->post('gen_certificate')){ $userdata['gen_certificate']=$this->input->post('gen_certificate'); } if($this->input->post('certificate_text')){ $userdata['certificate_text']=$this->input->post('certificate_text'); } $this->db->insert('savsoft_quiz',$userdata); //echo $this->db->last_query(); die; $quid = $this->db->insert_id(); return $quid; } function insert_basic_detail(){ $userdata=array( 'full_name'=>$this->input->post('full_name'), 'school_id'=>$this->input->post('school_id'), 'department_id'=>$this->input->post('department_id'), 'semester'=>$this->input->post('semester'), 'section'=>$this->input->post('student_section'), 'qid'=>$this->input->post('quid'), 'user_id'=>$this->input->post('user_id'), 'createdon'=>date('Y-m-d H:i:s') ); // Check User Already Register Then Update the Details $qid = $this->input->post('quid'); $user_id = $this->input->post('user_id'); $query = $this->db->query("select * from quiz_basic_details where qid = '$qid' AND user_id = '$user_id' AND status='1' AND is_deleted='0'"); $results = $query->row_array(); if(empty($results)) { $this->db->insert('quiz_basic_details',$userdata); //echo $this->db->last_query(); die; //echo $quid = $this->db->insert_id(); die; } else { $this->db->where('id',$results['id']); $this->db->update('quiz_basic_details',$userdata); //echo $this->db->last_query(); die; } return $qid; } function copy_quiz($quizArray) { $userdata=array( 'quiz_name'=>$quizArray['quiz_name'].' Copy', 'description'=>$quizArray['description'], 'start_date'=>strtotime(date('Y-m-d H:i:s')), 'end_date'=>strtotime(date('Y-m-d H:i:s', strtotime('+1 days'))), 'duration'=>$quizArray['duration'], 'form_display'=>$quizArray['form_display'], 'maximum_questions'=>$quizArray['maximum_questions'], 'maximum_all_sub_questions'=>$quizArray['maximum_all_sub_questions'], 'time_per_question'=>$quizArray['time_per_question'], 'maximum_attempts'=>$quizArray['maximum_attempts'], 'total_quiz_questions'=>$quizArray['total_quiz_questions'], 'pass_percentage'=>$quizArray['pass_percentage'], 'show_result'=>$quizArray['show_result'], 'display_leaderboard'=>$quizArray['display_leaderboard'], 'correct_score'=>$quizArray['correct_score'], 'quiz_type'=>$quizArray['quiz_type'], 'incorrect_score'=>$quizArray['incorrect_score'], 'ip_address'=>$quizArray['ip_address'], 'view_answer'=>$quizArray['view_answer'], 'camera_req'=>$quizArray['camera_req'], 'admin_id'=>$quizArray['admin_id'], 'qids'=>$quizArray['qids'], 'question_selection'=>$quizArray['question_selection'], 'gids'=>'' ); if($quizArray['gen_certificate']){ $userdata['gen_certificate']=$quizArray['gen_certificate']; } if($quizArray['certificate_text']){ $userdata['certificate_text']=$quizArray['certificate_text']; } $pQuizId = $quizArray['quid']; $this->db->insert('savsoft_quiz',$userdata); $quid = $this->db->insert_id(); $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz',$userdata); $quiz=$query->row_array(); if($quiz['question_selection']=='1'){ $this->db->where('quid',$quid); $this->db->delete('savsoft_qcl'); $this->db->where('quid',$pQuizId); $query=$this->db->get('savsoft_qcl'); $qclResults=$query->result_array(); foreach($qclResults as $key => $row){ $userdata = array( 'quid'=>$quid, 'cid'=>$row['cid'], 'lid'=>$row['lid'], 'tqpc'=>$row['tqpc'], 'rc_answer'=>'0', 'noq'=>$row['noq'], 'limit_start'=>$row['limit_start'], 'limit_end'=>$row['limit_end'] ); $this->db->insert('savsoft_qcl',$userdata); } $userdata=array('noq'=>$quizArray['noq'],'copy_quid'=>$pQuizId); $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); } return $quid; } function update_quiz($quid) { $userdata=array( 'quiz_name'=>$this->input->post('quiz_name'), 'description'=>$this->input->post('description'), 'start_date'=>strtotime($this->input->post('start_date')), 'end_date'=>strtotime($this->input->post('end_date')), 'duration'=>$this->input->post('duration'), 'form_display'=>$this->input->post('form_display'), 'maximum_questions'=>$this->input->post('maximum_questions'), 'maximum_all_sub_questions'=>$this->input->post('maximum_all_sub_questions'), 'time_per_question'=>$this->input->post('time_per_question'), 'maximum_attempts'=>$this->input->post('maximum_attempts'), 'total_quiz_questions'=>$this->input->post('maximum_questions'), 'pass_percentage'=>$this->input->post('pass_percentage'), 'show_result'=>$this->input->post('show_result'), 'display_leaderboard'=>$this->input->post('display_leaderboard'), 'correct_score'=>$this->input->post('correct_score'), 'quiz_type'=>$this->input->post('quiz_type'), 'incorrect_score'=>$this->input->post('incorrect_score'), 'ip_address'=>$this->input->post('ip_address'), 'view_answer'=>$this->input->post('view_answer'), 'camera_req'=>$this->input->post('camera_req'), 'gids'=>implode(',',$this->input->post('gids')) ); if($this->input->post('gen_certificate')){ $userdata['gen_certificate']=$this->input->post('gen_certificate'); } if($this->input->post('certificate_text')){ $userdata['certificate_text']=$this->input->post('certificate_text'); } $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz',$userdata); $quiz=$query->row_array(); if($quiz['question_selection']=='1'){ $this->db->where('quid',$quid); $this->db->delete('savsoft_qcl'); foreach($_POST['cid'] as $ck => $val){ if(isset($_POST['noq'][$ck])){ if($_POST['noq'][$ck] >= '1'){ $userdata = array( 'quid'=>$quid, 'cid'=>$val, 'lid'=>$_POST['lid'][$ck], 'tqpc'=>$_POST['tqpc'][$ck], 'rc_answer'=>'0', 'noq'=>$_POST['noq'][$ck], 'limit_start'=>$_POST['limit_start'][$ck], 'limit_end'=>$_POST['limit_end'][$ck] ); $this->db->insert('savsoft_qcl',$userdata); } } } $userdata=array( 'noq'=>array_sum($_POST['noq']) ); $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); } return $quid; } function get_questions($qids){ //$db2 = $this->load->database('readerdb', TRUE); if($qids == ''){ $qids=0; }else{ $qids=$qids; } /* if($cid!='0'){ $db2->where('savsoft_qbank.cid',$cid); } if($lid!='0'){ $db2->where('savsoft_qbank.lid',$lid); } */ $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid join savsoft_level on savsoft_level.lid=savsoft_qbank.lid where savsoft_qbank.qid in ($qids) order by FIELD(savsoft_qbank.qid,$qids)"); return $query->result_array(); } function get_single_questions($qids){ if($qids>0){ $query=$this->db->query("select question from savsoft_qbank where savsoft_qbank.qid =$qids limit 1"); return $query->row_array(); } } function get_options($qids){ //$db2 = $this->load->database('readerdb', TRUE); $resp = array(); if($qids<>''){ $query=$this->db->query("select oid,qid,q_option,q_option_match,score from savsoft_options where qid in ($qids) order by FIELD(savsoft_options.qid,$qids)"); $resp = $query->result_array(); } return $resp; } function get_options_list($qids){ //$db2 = $this->load->database('readerdb', TRUE); $results = array(); if($qids<>''){ $query=$this->db->query("select oid,qid,q_option,q_option_match,score from savsoft_options where qid in ($qids) order by FIELD(savsoft_options.qid,$qids)"); $results = array(); foreach($query->result_array() as $row) { $results[] = $row; } } return $results; } function up_question($quid,$qid){ $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $result=$query->row_array(); $qids=$result['qids']; if($qids==""){ $qids=array(); }else{ $qids=explode(",",$qids); } $qids_new=array(); foreach($qids as $k => $qval){ if($qval == $qid){ $qids_new[$k-1]=$qval; $qids_new[$k]=$qids[$k-1]; }else{ $qids_new[$k]=$qval; } } $qids=array_filter(array_unique($qids_new)); $qids=implode(",",$qids); $userdata=array( 'qids'=>$qids ); $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); } function down_question($quid,$qid){ $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $result=$query->row_array(); $qids=$result['qids']; if($qids==""){ $qids=array(); }else{ $qids=explode(",",$qids); } $qids_new=array(); foreach($qids as $k => $qval){ if($qval == $qid){ $qids_new[$k]=$qids[$k+1]; $kk=$k+1; $kv=$qval; }else{ $qids_new[$k]=$qval; } } $qids_new[$kk]=$kv; $qids=array_filter(array_unique($qids_new)); $qids=implode(",",$qids); $userdata=array( 'qids'=>$qids ); $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); } function get_qcl($quid){ //$db2 = $this->load->database('readerdb', TRUE); $this->db->where('quid',$quid); $query=$this->db->get('savsoft_qcl'); return $query->result_array(); } function remove_qid($quid,$qid){ $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $quiz=$query->row_array(); $new_qid=array(); foreach(explode(',',$quiz['qids']) as $key => $oqid){ if($oqid != $qid){ $new_qid[]=$oqid; } } $noq=count($new_qid); $userdata=array( 'qids'=>implode(',',$new_qid), 'noq'=>$noq ); $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); return true; } function add_qid($quid,$qid){ $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $quiz=$query->row_array(); $new_qid=array(); $new_qid[]=$qid; foreach(explode(',',$quiz['qids']) as $key => $oqid){ if($oqid != $qid){ $new_qid[]=$oqid; } } $new_qid=array_filter(array_unique($new_qid)); $noq=count($new_qid); $userdata=array( 'qids'=>implode(',',$new_qid), 'noq'=>$noq ); $this->db->where('quid',$quid); $this->db->update('savsoft_quiz',$userdata); return true; } function get_school($quid){ $db2 = $this->load->database('readerdb', TRUE); $db2->where('status','1'); $query=$db2->get('tbl_schools'); return $query->result_array(); } function get_department($school_id = '0'){ $db2 = $this->load->database('readerdb', TRUE); if($school_id>0){ $db2->where('school_id',$school_id); } $db2->where('status','1'); $query=$db2->get('tbl_mentee_departments '); return $query->result_array(); } function get_quiz($quid){ //$db2 = $this->load->database('readerdb', TRUE); $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); return $query->row_array(); } function remove_quiz($quid){ $this->db->where('quid',$quid); if($this->db->delete('savsoft_quiz')){ return true; }else{ return false; } } function count_result($quid,$uid) { $db2 = $this->load->database('readerdb', TRUE); $db2->where('quid',$quid); $db2->where('uid',$uid); $db2->where('result_status<>"Open"'); $query=$db2->get('savsoft_result'); return $query->num_rows(); } function insert_result_old($quid,$uid){ // get quiz info $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $quiz=$query->row_array(); //print_r($quiz); die; if($quiz['question_selection']=='0'){ // get questions $noq=$quiz['noq']; // Get random Question Id's $qids=explode(',',$quiz['qids']); $categories=array(); $category_range=array(); $i=0; $wqids=implode(',',$qids); $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where qid in ($wqids) ORDER BY FIELD(qid,$wqids)"); $questions=$query->result_array(); foreach($questions as $qk => $question){ if(!in_array($question['category_name'],$categories)){ $categories[]=$question['category_name']; $category_range[]=$i+$noq; } } } else { // randomaly select qids $this->db->where('quid',$quid); $query=$this->db->get('savsoft_qcl'); $qcl=$query->result_array(); $qids=array(); $categories=array(); $category_range=array(); foreach($qcl as $k => $val){ $cid=$val['cid']; $lid=$val['lid']; //$noq=$quiz['noq']; if($quiz['maximum_all_sub_questions']==1){ $noq = $val['tqpc']; } else { $noq = $quiz['maximum_questions']; } $i=0; $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where savsoft_qbank.cid='$cid' and lid='$lid' ORDER BY RAND() limit $noq "); $questions=$query->result_array(); foreach($questions as $qk => $question){ $qids[]=$question['qid']; if(!in_array($question['category_name'],$categories)){ $categories[]=$question['category_name']; $category_range[]=$i+$noq; } } } } $zeros=array(); foreach($qids as $qidval){ $zeros[]=0; } $userdata=array( 'quid'=>$quid, 'uid'=>$uid, 'r_qids'=>implode(',',$qids), 'categories'=>implode(',',$categories), 'category_range'=>implode(',',$category_range), 'start_time'=>time(), 'individual_time'=>implode(',',$zeros), 'score_individual'=>implode(',',$zeros), 'attempted_ip'=>$_SERVER['REMOTE_ADDR'] ); if($this->session->userdata('photoname')){ $photoname=$this->session->userdata('photoname'); $userdata['photo']=$photoname; } $this->db->insert('savsoft_result',$userdata); $rid=$this->db->insert_id(); return $rid; } /* * Function : insert_result * */ function insert_result($quid,$uid){ // get quiz info $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $quiz=$query->row_array(); //print_r($quiz); die; if($quiz['question_selection']=='0'){ // get questions $noq=$quiz['noq']; // Get random Question Id's $qids=explode(',',$quiz['qids']); $categories=array(); $category_range=array(); $i=0; $wqids=implode(',',$qids); $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where qid in ($wqids) ORDER BY FIELD(qid,$wqids)"); $questions=$query->result_array(); foreach($questions as $qk => $question){ if(!in_array($question['category_name'],$categories)){ $categories[]=$question['category_name']; $category_range[]=$i+$noq; } } } else { // randomaly select qids $this->db->where('quid',$quid); $query=$this->db->get('savsoft_qcl'); $qcl=$query->result_array(); $qids=array(); $categories=array(); $category_range=array(); foreach($qcl as $k => $val){ $cid = $val['cid']; $lid = $val['lid']; $rca = $val['rc_answer']; $lstart = $val['limit_start']; $lend = $val['limit_end']; if($quiz['maximum_all_sub_questions']==1){ $noq = $val['tqpc']; } else { $noq = $quiz['maximum_questions']; } $i=0; if($rca=='1'){ $query=$this->db->query("select * from savsoft_rcqbank join savsoft_category on savsoft_category.cid = savsoft_rcqbank.cid where savsoft_rcqbank.cid='$cid' and lid='$lid' ORDER BY RAND() limit $noq"); $questions = $query->result_array(); } else { if($lend>0) { $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where savsoft_qbank.cid='$cid' and lid='$lid' ORDER BY qid limit $lstart , $lend"); $results = $query->result_array(); $questions = $this->resultToArray($results,$noq); } else { $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where savsoft_qbank.cid='$cid' and lid='$lid' ORDER BY RAND() limit $noq"); $questions = $query->result_array(); } } //print_r($questions); die; $k=0; foreach($questions as $qk => $question){ if($rca=='1') { $rc_qid = $question['qid']; $rcQuestion = $question['question']; // Get All question of Same Batch if($rc_qid>0){ $rcqidArray[$k]= $rc_qid; $k++; $rcquery=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where rc_qid='$rc_qid' ORDER BY RAND()"); $rcquestions = $rcquery->result_array(); foreach($rcquestions as $rc){ $qids[]=$rc['qid']; if(!in_array($rc['category_name'],$categories)){ $categories[]=$rc['category_name']; $category_range[]=$i+$noq; } } } } else { $qids[]=$question['qid']; if(!in_array($question['category_name'],$categories)){ $categories[]=$question['category_name']; $category_range[]=$i+$noq; } } } } } $zeros=array(); foreach($qids as $qidval){ $zeros[]=0; } $userdata=array( 'quid'=>$quid, 'uid'=>$uid, 'r_qids'=>implode(',',$qids), 'categories'=>implode(',',$categories), 'category_range'=>implode(',',$category_range), 'start_time'=>time(), 'rc_qid'=>implode(',',$rcqidArray), 'individual_time'=>implode(',',$zeros), 'score_individual'=>implode(',',$zeros), 'attempted_ip'=>$_SERVER['REMOTE_ADDR'] ); if($this->session->userdata('photoname')){ $photoname=$this->session->userdata('photoname'); $userdata['photo']=$photoname; } $this->db->insert('savsoft_result',$userdata); //echo $this->db->last_query(); die; $rid=$this->db->insert_id(); return $rid; } /* * Function : resultToArray */ function resultToArray($result, $numRows='1') { $rows = array(); foreach($result as $row) { $rows[] = $row; } $price = array_column($rows, 'rc_qid'); array_multisort($price, SORT_DESC, $rows); shuffle($rows); if ( $numRows > 0 ) { $rows = array_splice($rows, 0, $numRows); } return $rows; } /* * Function : quizsample_result */ function quizsample_result($quid,$uid){ // get quiz info $this->db->where('quid',$quid); $query=$this->db->get('savsoft_quiz'); $quiz=$query->row_array(); //print_r($quiz); die; if($quiz['question_selection']=='0'){ // get questions $noq=$quiz['noq']; // Get random Question Id's $qids=explode(',',$quiz['qids']); $categories=array(); $category_range=array(); $i=0; $wqids=implode(',',$qids); $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where qid in ($wqids) ORDER BY FIELD(qid,$wqids)"); $questions=$query->result_array(); foreach($questions as $qk => $question){ if(!in_array($question['category_name'],$categories)){ $categories[]=$question['category_name']; $category_range[]=$i+$noq; } } } else { // randomaly select qids $this->db->where('quid',$quid); $query=$this->db->get('savsoft_qcl'); $qcl=$query->result_array(); $qids=array(); $categories=array(); $category_range=array(); foreach($qcl as $k => $val){ $cid = $val['cid']; $lid = $val['lid']; $rca = $val['rc_answer']; $lstart = $val['limit_start']; $lend = $val['limit_end']; if($quiz['maximum_all_sub_questions']==1){ $noq = $val['tqpc']; } else { $noq = $quiz['maximum_questions']; } $i=0; if($rca=='1'){ $query=$this->db->query("select * from savsoft_rcqbank join savsoft_category on savsoft_category.cid = savsoft_rcqbank.cid where savsoft_rcqbank.cid='$cid' and lid='$lid' ORDER BY RAND() limit $noq"); $questions = $query->result_array(); } else { $questions = ''; if($lend>0) { $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where savsoft_qbank.cid='$cid' and lid='$lid' ORDER BY qid limit $lstart , $lend"); //echo $this->db->last_query(); die; $results = $query->result_array(); $questions = $this->resultToArray($results,$noq); } else { $query=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where savsoft_qbank.cid='$cid' and lid='$lid' ORDER BY RAND() limit $noq"); $questions = $query->result_array(); } } //print_r($questions); die; $k=0; foreach($questions as $qk => $question){ if($rca=='1'){ $rc_qid = $question['qid']; $rcQuestion = $question['question']; // Get All question of Same Batch if($rc_qid>0){ $rcqidArray[$k]= $rc_qid; $k++; $rcquery=$this->db->query("select * from savsoft_qbank join savsoft_category on savsoft_category.cid=savsoft_qbank.cid where rc_qid='$rc_qid' ORDER BY RAND()"); $rcquestions = $rcquery->result_array(); foreach($rcquestions as $rc){ $qids[]=$rc['qid']; if(!in_array($rc['category_name'],$categories)){ $categories[]=$rc['category_name']; $category_range[]=$i+$noq; } } } } else { $qids[]=$question['qid']; if(!in_array($question['category_name'],$categories)){ $categories[]=$question['category_name']; $category_range[]=$i+$noq; } } } } } $zeros=array(); foreach($qids as $qidval){ $zeros[]=0; } $userdata=array( 'quid'=>$quid, 'uid'=>$uid, 'r_qids'=>implode(',',$qids), 'categories'=>implode(',',$categories), 'category_range'=>implode(',',$category_range), 'start_time'=>time(), 'rc_qid'=>implode(',',$rcqidArray), 'individual_time'=>implode(',',$zeros), 'score_individual'=>implode(',',$zeros), 'attempted_ip'=>$_SERVER['REMOTE_ADDR'] ); if($this->session->userdata('photoname')){ $photoname=$this->session->userdata('photoname'); $userdata['photo']=$photoname; } $this->db->insert('quizsample_results',$userdata); $rid=$this->db->insert_id(); return $rid; } /* * function : rcanswerQuestionList */ function rcanswerQuestionList($rqids){ $response = array(); if(!empty($rqids)) { $result_open=$this->lang->line('open'); $query=$this->db->query("select qid,question from savsoft_rcqbank where savsoft_rcqbank.qid IN($rqids)"); $result = $query->result_array(); foreach($result as $row){ $response[$row['qid']] = $row['question']; } } return $response; } function open_result($quid,$uid){ $db2 = $this->load->database('readerdb', TRUE); $result_open=$this->lang->line('open'); $query=$db2->query("select * from savsoft_result where savsoft_result.result_status='$result_open' AND quid='$quid' AND uid='$uid'"); $result = $query->result_array(); if($query->num_rows() >= '1'){ $result=$query->row_array(); return $result['rid']; }else{ return '0'; } } function samplequiz_result($rid){ //$db2 = $this->load->database('readerdb', TRUE); $query=$this->db->query("select * from quizsample_results join savsoft_quiz on quizsample_results.quid=savsoft_quiz.quid where quizsample_results.rid='$rid' "); return $query->row_array(); } function quiz_result($rid){ //$db2 = $this->load->database('readerdb', TRUE); $query=$this->db->query("select * from savsoft_result join savsoft_quiz on savsoft_result.quid=savsoft_quiz.quid where savsoft_result.rid='$rid' "); return $query->row_array(); } function saved_answers($rid){ //$db2 = $this->load->database('readerdb', TRUE); $query=$this->db->query("select * from savsoft_answers where savsoft_answers.rid='$rid' "); return $query->result_array(); } /* * function : get_basic_detail * */ function get_basic_detail($quid, $user_id){ //$db2 = $this->load->database('readerdb', TRUE); $query=$this->db->query("select * from quiz_basic_details where qid='$quid' AND user_id='$user_id' AND status='1' AND is_deleted='0'"); $result = $query->row_array(); if($result['full_name']!='' && $result['school_id']!='' && $result['department_id']!='') { return true; } else { return false; } } function assign_score($rid,$qno,$score){ $qp_score=$score; $query=$this->db->query("select * from savsoft_result join savsoft_quiz on savsoft_result.quid=savsoft_quiz.quid where savsoft_result.rid='$rid' "); $quiz=$query->row_array(); $score_ind=explode(',',$quiz['score_individual']); $score_ind[$qno]=$score; $r_qids=explode(',',$quiz['r_qids']); $correct_score=$quiz['correct_score']; $incorrect_score=$quiz['incorrect_score']; $manual_valuation=0; foreach($score_ind as $mk => $score){ if($score == 1){ $marks+=$correct_score; } if($score == 2){ $marks+=$incorrect_score; } if($score == 3){ $manual_valuation=1; } } $percentage_obtained=($marks/$quiz['total_quiz_questions'])*100; if($percentage_obtained >= $quiz['pass_percentage']){ $qr=$this->lang->line('pass'); }else{ $qr=$this->lang->line('fail'); } $userdata=array( 'score_individual'=>implode(',',$score_ind), 'score_obtained'=>$marks, 'percentage_obtained'=>$percentage_obtained, 'manual_valuation'=>$manual_valuation ); if($manual_valuation == 1){ $userdata['result_status']=$this->lang->line('pending'); }else{ $userdata['result_status']=$qr; } $this->db->where('rid',$rid); $this->db->update('savsoft_result',$userdata); // question performance $qp=$r_qids[$qno]; $crin=""; if($$qp_score=='1'){ $crin=", no_time_corrected=(no_time_corrected +1)"; }else if($$qp_score=='2'){ $crin=", no_time_incorrected=(no_time_incorrected +1)"; } $query_qp="update savsoft_qbank set $crin where qid='$qp' "; $this->db->query($query_qp); } function submit_result(){ $logged_in=$this->session->userdata('logged_in'); $email=$logged_in['email']; $rid=$this->session->userdata('rid'); $query=$this->db->query("select * from savsoft_result join savsoft_quiz on savsoft_result.quid=savsoft_quiz.quid where savsoft_result.rid='$rid' "); $quiz=$query->row_array(); $score_ind=explode(',',$quiz['score_individual']); $r_qids=explode(',',$quiz['r_qids']); $qids_perf=array(); $marks=0; $correct_score=$quiz['correct_score']; $incorrect_score=$quiz['incorrect_score']; $total_time=array_sum(explode(',',$quiz['individual_time'])); $manual_valuation=0; foreach($score_ind as $mk => $score){ $qids_perf[$r_qids[$mk]]=$score; if($score == 1){ $marks+=$correct_score; } if($score == 2){ $marks+=$incorrect_score; } if($score == 3){ $manual_valuation=1; } } $percentage_obtained=($marks/$quiz['total_quiz_questions'])*100; if($percentage_obtained >= $quiz['pass_percentage']){ $qr=$this->lang->line('pass'); }else{ $qr=$this->lang->line('fail'); } $userdata=array( 'total_time'=>$total_time, 'end_time'=>time(), 'score_obtained'=>$marks, 'percentage_obtained'=>$percentage_obtained, 'manual_valuation'=>$manual_valuation ); if($manual_valuation == 1){ $userdata['result_status']=$this->lang->line('pending'); }else{ $userdata['result_status']=$qr; } $this->db->where('rid',$rid); // print_r($userdata); die; $this->db->update('savsoft_result',$userdata); // Save Result In Leaderboard $this->add_leaderboard($rid); foreach($qids_perf as $qp => $qpval){ $crin=""; if($qpval=='0'){ $crin=", no_time_unattempted=(no_time_unattempted +1) "; }else if($qpval=='1'){ $crin=", no_time_corrected=(no_time_corrected +1)"; }else if($qpval=='2'){ $crin=", no_time_incorrected=(no_time_incorrected +1)"; } $mdate = date('Y-m-d H:i:s'); $query_qp="update savsoft_qbank set no_time_served=(no_time_served +1), mdate='$mdate' $crin where qid='$qp' "; $this->db->query($query_qp); } if($this->config->item('allow_result_email')){ $this->load->library('email'); $query = $this -> db -> query("select savsoft_result.*,savsoft_users.*,savsoft_quiz.* from savsoft_result, savsoft_users, savsoft_quiz where savsoft_users.uid=savsoft_result.uid and savsoft_quiz.quid=savsoft_result.quid and savsoft_result.rid='$rid'"); $qrr=$query->row_array(); if($this->config->item('protocol')=="smtp"){ $config['protocol'] = 'smtp'; $config['smtp_host'] = $this->config->item('smtp_hostname'); $config['smtp_user'] = $this->config->item('smtp_username'); $config['smtp_pass'] = $this->config->item('smtp_password'); $config['smtp_port'] = $this->config->item('smtp_port'); $config['smtp_timeout'] = $this->config->item('smtp_timeout'); $config['mailtype'] = $this->config->item('smtp_mailtype'); $config['starttls'] = $this->config->item('starttls'); $config['newline'] = $this->config->item('newline'); $this->email->initialize($config); } $toemail=$qrr['email']; $fromemail=$this->config->item('fromemail'); $fromname=$this->config->item('fromname'); $subject=$this->config->item('result_subject'); $message=$this->config->item('result_message'); $subject=str_replace('[email]',$qrr['email'],$subject); $subject=str_replace('[first_name]',$qrr['first_name'],$subject); $subject=str_replace('[last_name]',$qrr['last_name'],$subject); $subject=str_replace('[quiz_name]',$qrr['quiz_name'],$subject); $subject=str_replace('[score_obtained]',$qrr['score_obtained'],$subject); $subject=str_replace('[percentage_obtained]',$qrr['percentage_obtained'],$subject); $subject=str_replace('[current_date]',date('Y-m-d H:i:s',time()),$subject); $subject=str_replace('[result_status]',$qrr['result_status'],$subject); $message=str_replace('[email]',$qrr['email'],$message); $message=str_replace('[first_name]',$qrr['first_name'],$message); $message=str_replace('[last_name]',$qrr['last_name'],$message); $message=str_replace('[quiz_name]',$qrr['quiz_name'],$message); $message=str_replace('[score_obtained]',$qrr['score_obtained'],$message); $message=str_replace('[percentage_obtained]',$qrr['percentage_obtained'],$message); $message=str_replace('[current_date]',date('Y-m-d H:i:s',time()),$message); $message=str_replace('[result_status]',$qrr['result_status'],$message); $this->email->to($toemail); $this->email->from($fromemail, $fromname); $this->email->subject($subject); $this->email->message($message); if(!$this->email->send()){ //print_r($this->email->print_debugger()); } } return true; } /* * function : add_leaderboard */ function add_leaderboard($rid){ $logged_in=$this->session->userdata('logged_in'); $query = $this -> db -> query("select savsoft_result.*,savsoft_users.*,savsoft_quiz.* from savsoft_result, savsoft_users, savsoft_quiz where savsoft_users.uid=savsoft_result.uid and savsoft_quiz.quid=savsoft_result.quid and savsoft_result.rid='$rid'"); $qrr=$query->row_array(); $quid = $qrr['quid']; $uid = $qrr['uid']; $score_obtained = $qrr['score_obtained']; $percentage_obtained = $qrr['percentage_obtained']; $total_time = $qrr['total_time']; $query =$this->db->query("select * from savsoft_leaderboard where uid='$uid' AND quid = '$quid'"); $result =$query->row_array(); $userdata=''; if(empty($result)) { $userdata=array( 'uid'=>$uid, 'quid'=>$quid, 'rid'=>$rid, 'score_obtained'=>$score_obtained, 'total_time'=>$total_time, 'percentage_obtained'=>$percentage_obtained, 'profile_image'=>$logged_in['profie_image'], 'attempted_ip'=>$_SERVER['REMOTE_ADDR'], 'createdon'=>date('Y-m-d H:i:s') ); $this->db->insert('savsoft_leaderboard',$userdata); // echo $this->db->last_query(); die; } else { $userdata=array( 'rid'=>$rid, 'total_time'=>$total_time, 'score_obtained'=>$score_obtained, 'percentage_obtained'=>$percentage_obtained, 'attempted_ip'=>$_SERVER['REMOTE_ADDR'], 'profile_image'=>$logged_in['profie_image'], 'modifiedon'=>date('Y-m-d H:i:s') ); $this->db->where('uid',$uid); $this->db->where('quid',$quid); // print_r($userdata); die; if($score_obtained>$result['score_obtained'] && $percentage_obtained>$result['percentage_obtained']){ $this->db->update('savsoft_leaderboard',$userdata); } //echo $this->db->last_query(); die; } } function insert_answer(){ $rid=$_POST['rid']; $srid=$this->session->userdata('rid'); $logged_in=$this->session->userdata('logged_in'); $uid=$logged_in['uid']; if($srid != $rid){ return "Something wrong"; } $query=$this->db->query("select correct_score,incorrect_score,r_qids,score_individual from savsoft_result join savsoft_quiz on savsoft_result.quid=savsoft_quiz.quid where savsoft_result.rid='$rid' "); $quiz=$query->row_array(); $correct_score=$quiz['correct_score']; $incorrect_score=$quiz['incorrect_score']; $qids=explode(',',$quiz['r_qids']); $vqids=$quiz['r_qids']; $correct_incorrect=explode(',',$quiz['score_individual']); // remove existing answers $this->db->where('rid',$rid); $this->db->delete('savsoft_answers'); foreach($_POST['answer'] as $ak => $answer){ // multiple choice single answer if($_POST['question_type'][$ak] == '1' || $_POST['question_type'][$ak] == '2'){ $qid=$qids[$ak]; $query=$this->db->query(" select oid,qid,q_option,q_option_match,score from savsoft_options where qid='$qid' "); $options_data=$query->result_array(); $options=array(); foreach($options_data as $ok => $option){ $options[$option['oid']]=$option['score']; } $attempted=0; $marks=0; foreach($answer as $sk => $ansval){ if($options[$ansval] <= 0 ){ $marks+=-1; }else{ $marks+=$options[$ansval]; } $userdata=array( 'rid'=>$rid, 'qid'=>$qid, 'uid'=>$uid, 'q_option'=>$ansval, 'score_u'=>$options[$ansval] ); $this->db->insert('savsoft_answers',$userdata); $attempted=1; } if($attempted==1){ if($marks==1){ $correct_incorrect[$ak]=1; }else{ $correct_incorrect[$ak]=2; } }else{ $correct_incorrect[$ak]=0; } } // short answer if($_POST['question_type'][$ak] == '3'){ $qid=$qids[$ak]; $query=$this->db->query(" select oid,qid,q_option,q_option_match,score from savsoft_options where qid='$qid' "); $options_data=$query->row_array(); $options_data=explode(',',$options_data['q_option']); $noptions=array(); foreach($options_data as $op){ $noptions[]=strtoupper(trim($op)); } $attempted=0; $marks=0; foreach($answer as $sk => $ansval){ if($ansval != ''){ if(in_array(strtoupper(trim($ansval)),$noptions)){ $marks=1; }else{ $marks=0; } $attempted=1; $userdata=array( 'rid'=>$rid, 'qid'=>$qid, 'uid'=>$uid, 'q_option'=>$ansval, 'score_u'=>$marks ); $this->db->insert('savsoft_answers',$userdata); } } if($attempted==1){ if($marks==1){ $correct_incorrect[$ak]=1; }else{ $correct_incorrect[$ak]=2; } }else{ $correct_incorrect[$ak]=0; } } // long answer if($_POST['question_type'][$ak] == '4'){ $attempted=0; $marks=0; $qid=$qids[$ak]; foreach($answer as $sk => $ansval){ if($ansval != ''){ $userdata=array( 'rid'=>$rid, 'qid'=>$qid, 'uid'=>$uid, 'q_option'=>$ansval, 'score_u'=>0 ); $this->db->insert('savsoft_answers',$userdata); $attempted=1; } } if($attempted==1){ $correct_incorrect[$ak]=3; }else{ $correct_incorrect[$ak]=0; } } // match if($_POST['question_type'][$ak] == '5'){ $qid=$qids[$ak]; $query=$this->db->query(" select oid,qid,q_option,q_option_match,score from savsoft_options where qid='$qid' "); $options_data=$query->result_array(); $noptions=array(); foreach($options_data as $op => $option){ $noptions[]=$option['q_option'].'___'.$option['q_option_match']; } $marks=0; $attempted=0; foreach($answer as $sk => $ansval){ if($ansval != '0'){ $mc=0; if(in_array($ansval,$noptions)){ $marks+=1/count($options_data); $mc=1/count($options_data); }else{ $marks+=0; $mc=0; } $userdata=array( 'rid'=>$rid, 'qid'=>$qid, 'uid'=>$uid, 'q_option'=>$ansval, 'score_u'=>$mc ); $this->db->insert('savsoft_answers',$userdata); $attempted=1; } } if($attempted==1){ if($marks==1){ $correct_incorrect[$ak]=1; }else{ $correct_incorrect[$ak]=2; } }else{ $correct_incorrect[$ak]=0; } } } $userdata=array( 'score_individual'=>implode(',',$correct_incorrect), 'individual_time'=>$_POST['individual_time'], ); $this->db->where('rid',$rid); $this->db->update('savsoft_result',$userdata); return true; } function set_ind_time(){ $rid=$this->session->userdata('rid'); $userdata=array( 'individual_time'=>$_POST['individual_time'], ); $this->db->where('rid',$rid); $this->db->update('savsoft_result',$userdata); return true; } /* * Function validate_qregistration */ function validate_qregistration($uid = '' , $qid = '' ){ if(!empty($uid)){ $this->db->where('uid',$uid); } if(!empty($qid)){ $this->db->where('qid',$qid); } $this->db->order_by('id','desc'); $query=$this->db->get('savsoft_quiz_registration'); //echo $this->db->last_query(); die; return $query->result_array(); } /* * Function quiz_registration */ function quiz_registration($params, $tbl_name='savsoft_quiz_registration'){ //validate registered or not $resp = $this->validate_qregistration($params['uid'],$params['qid']); if(count($resp)==0) { if($params!='' && $tbl_name!='') { $userdata=array( 'qid'=>$params['qid'], 'uid'=>$params['uid'], 'gid'=>$params['gid'], 'admin_id'=>$params['admin_id'], 'page_key'=>$params['page_key'], 'visitor_ip'=>$_SERVER["REMOTE_ADDR"], 'modified_on'=>date('Y-m-d H:i:s'), 'created'=>date('Y-m-d H:i:s') ); if($this->db->insert($tbl_name,$userdata)){ return true; }else{ return false; } } } } function getGroupList($uid='') { if($uid!=''){ $this->db->where('savsoft_quiz_registration.uid',$uid); } $this->db->where('savsoft_quiz_registration.status','1'); $this->db->where('savsoft_quiz_registration.`created` > NOW() - INTERVAL 48 HOUR'); $query=$this->db->get('savsoft_quiz_registration'); $gids = array(); $result = $query->result_array(); foreach($result as $row) { $gids[] = $row['gid']; } $finalGArray = implode(',',$gids); $gidsList = array_filter(explode(',', $finalGArray)); return $gidsList; } function getGroupQuizLists($uid='', $quid='') { $this->db->where('savsoft_quiz_registration.uid',$uid); $this->db->where('savsoft_quiz_registration.qid',$quid); $query=$this->db->get('savsoft_quiz_registration'); //echo $this->db->last_query(); die; $result = $query->row_array(); $gids = $result['gid']; return $gids; } function getAssignNewGroupQuiz($uid='', $gids='') { $this->db->where('savsoft_quiz_registration.uid',$uid); //$this->db->where('savsoft_quiz_registration.qid',$quid); $this->db->where_in('savsoft_quiz_registration.gid',$gids); $query=$this->db->get('savsoft_quiz_registration'); //echo $this->db->last_query(); die; $result = $query->row_array(); $gid = $result['gid']; return $gid; } function getAssignNewQuiz($uid='', $quid='') { $this->db->where('savsoft_quiz_registration.uid',$uid); $this->db->where('savsoft_quiz_registration.qid',$quid); $query=$this->db->get('savsoft_quiz_registration'); //echo $this->db->last_query(); die; $result = $query->row_array(); $qid = $result['qid']; return $qid; } /* * Function generate_report */ function generate_missed_report($quizArray) { $db2 = $this->load->database('readerdb', TRUE); $listGids = $quizArray['gids']; $quid = $quizArray['quid']; $quizName = $quizArray['quiz_name']; $sql = "SELECT su.*, group_name from savsoft_users as su JOIN savsoft_group as sg ON su.gid= sg.gid WHERE su.gid IN(".$listGids.") AND su.status='1' AND verify_code='0' AND su.uid NOT IN( SELECT uid from savsoft_result Where quid='".$quid."') limit 1500"; $query = $db2->query($sql); //echo $db2->last_query(); die; return $query->result_array(); } function generate_report($quid,$gid, $admin_id=''){ $db2 = $this->load->database('readerdb', TRUE); $logged_in=$this->session->userdata('logged_in'); $uid=$logged_in['uid']; $date1=$this->input->post('date1'); $date2=$this->input->post('date2'); if($quid != '0'){ $db2->where('savsoft_result.quid',$quid); } $db2->order_by('rid','desc'); $db2->join('savsoft_users','savsoft_users.uid=savsoft_result.uid'); $db2->join('savsoft_group','savsoft_group.gid=savsoft_users.gid'); $db2->join('savsoft_quiz','savsoft_quiz.quid=savsoft_result.quid'); $query=$db2->get('savsoft_result'); //echo $db2->last_query(); die; return $query->result_array(); } public function getAllRecords($tbl_name='savsoft_quiz', $col = ' * ', $condition=null, $order_by = NULL,$limit=NULL, $start=NULL) { $this->db->select($col); // $this->db->where('is_deleted', '0'); if(!empty($condition)) { foreach($condition as $key=>$val) { $this->db->where($key, $val); } } if(!empty($order_by)){ foreach($order_by as $key=>$val) { $this->db->order_by($key, $val); } } if ($limit !== null && $start !== null) { $query = $this->db->get($tbl_name,$limit, $start); } else { $query = $this->db->get($tbl_name); } //echo $this->db->last_query(); die; return $query->result_array(); } /* * Function : getSingleRecord */ public function getSingleRecord($tbl_name='savsoft_quiz', $col = ' * ', $condition=null) { $this->db->select($col); if(!empty($condition)) { foreach($condition as $key=>$val) { $this->db->where($key, $val); } } $query = $this->db->get($tbl_name); //echo $this->db->last_query(); die; return $query->row_array(); } public function saveinfo($tbl_name='', $post) { $this->db->insert($tbl_name, $post); //echo $this->db->last_query(); die; return $this->db->insert_id(); } public function updateinfo($tbl_name='', $post, $field, $value) { $this->db->where($field, $value); if (!$this->db->update($tbl_name, $post)) { log_message('error', print_r($this->db->error(), true)); } //echo $this->db->last_query(); die; } /* * function getQuizAlertUserlist */ public function getQuizAlertUserlist($quid, $listGids) { if($quid>0){ $query=$this->db->query("SELECT su.*, group_name from savsoft_users as su JOIN savsoft_group as sg ON su.gid= sg.gid WHERE su.gid IN(".$listGids.") AND su.status='1' AND verify_code='0' AND su.uid NOT IN( SELECT uid from savsoft_result Where quid='".$quid."') limit 1000"); return $query->result_array(); } } } ?>