%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 Leaderboard extends CI_Controller { function __construct() { parent::__construct(); $this->load->database(); $this->load->model(array("leaderboard_model","quiz_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') { $data['limit']=$limit; $data['status']=$status; $data['title'] = $this->lang->line('q_leaderboard'); // fetching result list $logged_in=$this->session->userdata('logged_in'); $assignedModule = assignModuleList($logged_in['role_id']); if(!array_key_exists('leaderboard',$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('leaderboard',$assignedModule)) { $admin_id = $logged_in['admin_id']; } $gid_list = ''; if($logged_in['su']=='0') { $gid_list = $this->quiz_model->getGroupList($logged_in['uid']); $admin_id = ''; } // fetching quiz list if($admin_id>0) { $data['quiz_list'] = $quiz_list = $this->leaderboard_model->quiz_list($admin_id, $gid_list); } else { $data['quiz_list'] = $quiz_list = $this->leaderboard_model->quiz_qlist($limit, NULL, $gid_list); } if(empty($_POST['fquid'])){ $_POST['fquid'] = $quiz_list['0']['quid']; } // Get leaderboard list $data['result']=$this->leaderboard_model->leaderboard_list($limit,$admin_id, $gid_list); $data['fquid']=$this->input->post('fquid'); $this->load->view('header',$data); $this->load->view('leaderboard/index',$data); $this->load->view('footer',$data); setHistory('Go to leaderboard listing module.'); } function generate_report(){ $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->leaderboard_model->generate_report($quid,$gid,$admin_id); $csvdata=$this->lang->line('s_no').",".$this->lang->line('group_name').",".$this->lang->line('class_level').",".$this->lang->line('quiz_name').",".$this->lang->line('user_name').",".$this->lang->line('first_name').",".$this->lang->line('last_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('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'; $csvdata.=$k.",".$val['group_name'].",".$val['class_level'].",".$val['quiz_name'].",".$val['email'].",".$val['first_name'].",".$val['last_name'].",".$val['score_obtained'].",".ceil($val['percentage_obtained']).",".$timeSpent.",".$val['result_status'].",".$val['user_email'].",".$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->leaderboard_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->leaderboard_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->leaderboard_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 leaderboard module'); } }