%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 defined('BASEPATH') OR exit('No direct script access allowed'); class Result extends CI_Controller { function __construct() { parent::__construct(); $this->load->database(); $this->load->model("result_model"); $this->lang->load('basic', $this->config->item('language')); // redirect if not loggedin if(!$this->session->userdata('logged_in')){ redirect('login'); } } public function index($limit='0',$status='0',$fquid='0') { $data['limit']=$limit; $data['status']=$status; $data['title']=$this->lang->line('resultlist').' - '.$this->lang->line('quiz_tagline'); // fetching result list $logged_in=$this->session->userdata('logged_in'); $assignedModule = assignModuleList($logged_in['role_id']); if(!array_key_exists('result',$assignedModule)) { exit($this->lang->line('permission_denied')); } $admin_id = ''; if($logged_in['su']=='1') { $admin_id = $logged_in['uid']; } else if($logged_in['su']=='0' && array_key_exists('qbank',$assignedModule)) { $admin_id = $logged_in['admin_id']; } $_POST['fquid'] = $_POST['fquid']<>'' ? $_POST['fquid'] : $fquid; $data['result']=$this->result_model->result_list($limit,$status, $admin_id); // fetching quiz list if($admin_id>0) { $data['quiz_list'] = $this->result_model->quiz_list($admin_id); } else { $data['quiz_list'] = $this->result_model->quiz_qlist($limit); } // group list $this->load->model("user_model"); $data['group_list']=$this->user_model->group_list($admin_id); $data['fquid']=$this->input->post('fquid'); $this->load->view('header',$data); $this->load->view('result_list',$data); $this->load->view('footer',$data); setHistory('Go to result listing module'); } public function remove_result($rid){ $logged_in=$this->session->userdata('logged_in'); if($logged_in['su']=='0'){ exit($this->lang->line('permission_denied')); } if($this->result_model->remove_result($rid)){ $this->session->set_flashdata('message', "<div class='alert alert-success'>".$this->lang->line('removed_successfully')." </div>"); }else{ $this->session->set_flashdata('message', "<div class='alert alert-danger'>".$this->lang->line('error_to_remove')." </div>"); } setHistory('Go to remove user result module'); redirect('result'); } function generate_report() { $logged_in=$this->session->userdata('logged_in'); if($logged_in['su']=='0') { exit($this->lang->line('permission_denied')); } $this->load->helper('download'); $quid=$this->input->post('quid'); $gid=$this->input->post('gid'); $logged_in=$this->session->userdata('logged_in'); $admin_id = ''; if($logged_in['su']=='1') { $admin_id = $logged_in['uid']; } $result=$this->result_model->generate_report($quid,$gid,$admin_id); $csvdata=$this->lang->line('s_no').",".$this->lang->line('group_name').",".$this->lang->line('quiz_name').",".$this->lang->line('user_name').",Full Name,".$this->lang->line('score_obtained').",".$this->lang->line('percentage_obtained').",".$this->lang->line('time_spent').",".$this->lang->line('status').",".$this->lang->line('email').",".$this->lang->line('system_id').",".$this->lang->line('contact_no')."\r\n"; $k=1; foreach($result as $rk => $val){ $seconds = $val['total_time']; $minutes = floor($seconds/60); $secondsleft = $seconds%60; if($minutes<10){ $minutes = "0" . $minutes; } if($secondsleft<10){ $secondsleft = "0" . $secondsleft; } $timeSpent = $minutes.':'.$secondsleft.' Min'; $score_obtained = $val['score_obtained']!='' ? $val['score_obtained'] : 'NA'; $full_name = str_replace(',',' ',$val['first_name'].','.$val['last_name']); $csvdata.=$k.",".$val['group_name'].",".$val['quiz_name'].",".$val['email'].",".$full_name.",".$score_obtained.",".ceil($val['percentage_obtained']).",".$timeSpent.",".$val['result_status'].",".$val['user_email'].",".$val['system_id'].",".$val['contact_no']."\r\n"; $k++; } $filename=time().'.csv'; force_download($filename, $csvdata); } function view_result($rid){ $data['title']=$this->lang->line('your_current_result'); $logged_in=$this->session->userdata('logged_in'); $admin_id = ''; if($logged_in['su']=='0'){ $admin_id = $logged_in['uid']; } $data['result'] = $result = $this->result_model->get_result($rid, $admin_id); if(empty($result)){ setHistory('Invalid result id.'); redirect('result'); } if(($data['result']['view_answer']=='1') || ($logged_in['su']>='1')){ $this->load->model("quiz_model"); $data['saved_answers']=$this->quiz_model->saved_answers($rid); $data['questions']=$this->quiz_model->get_questions($data['result']['r_qids']); $data['options']=$this->quiz_model->get_options($data['result']['r_qids']); } // top 10 results of selected quiz $last_ten_result = $this->result_model->last_ten_result($data['result']['quid']); $value=array(); $value[]=array('Quiz Name','Percentage (%)'); foreach($last_ten_result as $val){ $value[]=array($val['email'].' ('.$val['first_name']." ".$val['last_name'].')',intval($val['percentage_obtained'])); } $data['value']=json_encode($value); // time spent on individual questions $correct_incorrect=explode(',',$data['result']['score_individual']); $qtime[]=array($this->lang->line('question_no'),$this->lang->line('time_in_sec')); foreach(explode(",",$data['result']['individual_time']) as $key => $val){ if($val=='0'){ $val=1; } if($correct_incorrect[$key]=="1"){ $qtime[]=array($this->lang->line('q')." ".($key+1).") - ".$this->lang->line('correct')." ",intval($val)); }else if($correct_incorrect[$key]=='2' ){ $qtime[]=array($this->lang->line('q')." ".($key+1).") - ".$this->lang->line('incorrect')."",intval($val)); }else if($correct_incorrect[$key]=='0' ){ $qtime[]=array($this->lang->line('q')." ".($key+1).") -".$this->lang->line('unattempted')." ",intval($val)); }else if($correct_incorrect[$key]=='3' ){ $qtime[]=array($this->lang->line('q')." ".($key+1).") - ".$this->lang->line('pending_evaluation')." ",intval($val)); } } $data['rid'] = $rid; $data['qtime']=json_encode($qtime); $data['percentile'] = $this->result_model->get_percentile($data['result']['quid'], $data['result']['uid'], $data['result']['score_obtained']); $this->load->view('header',$data); $this->load->view('view_result',$data); $this->load->view('footer',$data); setHistory('Go to view user result module'); } function generate_certificate($rid){ $data['result']=$this->result_model->get_result($rid); if($data['result']['gen_certificate']=='0'){ exit(); } // save qr $enu=urlencode(site_url('login/verify_result/'.$rid)); $qrname="./upload/".time().'.jpg'; $durl="https://chart.googleapis.com/chart?chs=100x100&cht=qr&chl=".$enu."&choe=UTF-8"; copy($durl,$qrname); $certificate_text=$data['result']['certificate_text']; $certificate_text=str_replace('{qr_code}',"<img src='".$qrname."'>",$certificate_text); $certificate_text=str_replace('{email}',$data['result']['email'],$certificate_text); $certificate_text=str_replace('{first_name}',$data['result']['first_name'],$certificate_text); $certificate_text=str_replace('{last_name}',$data['result']['last_name'],$certificate_text); $certificate_text=str_replace('{percentage_obtained}',$data['result']['percentage_obtained'],$certificate_text); $certificate_text=str_replace('{score_obtained}',$data['result']['score_obtained'],$certificate_text); $certificate_text=str_replace('{quiz_name}',$data['result']['quiz_name'],$certificate_text); $certificate_text=str_replace('{status}',$data['result']['result_status'],$certificate_text); $certificate_text=str_replace('{result_id}',$data['result']['rid'],$certificate_text); $certificate_text=str_replace('{generated_date}',date('Y-m-d H:i:s',$data['result']['end_time']),$certificate_text); $data['certificate_text']=$certificate_text; // $this->load->view('view_certificate',$data); $this->load->library('pdf'); $this->pdf->load_view('view_certificate',$data); $this->pdf->render(); $filename=date('Y-M-d_H:i:s',time()).".pdf"; $this->pdf->stream($filename); } function preview_certificate($quid){ $this->load->model("quiz_model"); $data['result']=$this->quiz_model->get_quiz($quid); if($data['result']['gen_certificate']=='0'){ exit(); } // save qr $enu=urlencode(site_url('login/verify_result/0')); $tm=time(); $qrname="./upload/".$tm.'.jpg'; $durl="https://chart.googleapis.com/chart?chs=100x100&cht=qr&chl=".$enu."&choe=UTF-8"; copy($durl,$qrname); $qrname2=base_url('/upload/'.$tm.'.jpg'); $certificate_text=$data['result']['certificate_text']; $certificate_text=str_replace('{qr_code}',"<img src='".$qrname2."'>",$certificate_text); $certificate_text=str_replace('{result_id}','1023',$certificate_text); $certificate_text=str_replace('{generated_date}',date('Y-m-d H:i:s',time()),$certificate_text); $data['certificate_text']=$certificate_text; $this->load->view('view_certificate_2',$data); } }