1<?php 2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */ 3 4 5include_once('./Services/Table/classes/class.ilTable2GUI.php'); 6 7/** 8 * @author Helmut Schottmüller <ilias@aurealis.de> 9 * @version $Id$ 10 * @ingroup ModulesTest 11 */ 12class ilTestAverageReachedPointsTableGUI extends ilTable2GUI 13{ 14 /** 15 * Constructor 16 * @access public 17 * @param 18 * @return 19 */ 20 public function __construct($a_parent_obj, $a_parent_cmd) 21 { 22 $this->setId('tstAvgReachedPointsTbl'); 23 $this->setPrefix('tstAvgReachedPointsTbl'); 24 25 parent::__construct($a_parent_obj, $a_parent_cmd); 26 27 global $DIC; 28 $lng = $DIC['lng']; 29 $ilCtrl = $DIC['ilCtrl']; 30 31 $this->lng = $lng; 32 $this->ctrl = $ilCtrl; 33 34 $this->setFormName('average_reached_points'); 35 $this->setTitle($this->lng->txt('average_reached_points')); 36 $this->setStyle('table', 'fullwidth'); 37 $this->addColumn($this->lng->txt("question_id"), 'qid', ''); 38 $this->addColumn($this->lng->txt("question_title"), 'title', ''); 39 $this->addColumn($this->lng->txt("points"), 'points', ''); 40 $this->addColumn($this->lng->txt("percentage"), 'percentage', ''); 41 $this->addColumn($this->lng->txt("number_of_answers"), 'answers', ''); 42 43 $this->setRowTemplate("tpl.il_as_tst_average_reached_points_row.html", "Modules/Test"); 44 45 $this->setFormAction($this->ctrl->getFormAction($a_parent_obj, $a_parent_cmd)); 46 47 $this->setDefaultOrderField("title"); 48 $this->setDefaultOrderDirection("asc"); 49 $this->enable('sort'); 50 $this->enable('header'); 51 $this->disable('select_all'); 52 } 53 54 /** 55 * Should this field be sorted numeric? 56 * @return boolean numeric ordering; default is false 57 */ 58 public function numericOrdering($a_field) 59 { 60 switch ($a_field) { 61 case 'points': 62 return true; 63 64 case 'qid': 65 return true; 66 67 case 'percentage': 68 return true; 69 70 default: 71 return false; 72 } 73 } 74 75 /** 76 * fill row 77 * @access public 78 * @param 79 * @return 80 */ 81 public function fillRow($data) 82 { 83 $this->tpl->setVariable("ID", $data["qid"]); 84 $this->tpl->setVariable("TITLE", $data["title"]); 85 $this->tpl->setVariable("POINTS", $this->formatPoints($data)); 86 $this->tpl->setVariable("PERCENTAGE", sprintf("%.2f", $data["percentage"]) . "%"); 87 $this->tpl->setVariable("ANSWERS", $data["answers"]); 88 } 89 90 /** 91 * @param array $data 92 * @return string 93 */ 94 protected function formatPoints(array $data) 95 { 96 return sprintf("%.2f", $data['points_reached']) . " " . strtolower($this->lng->txt("of")) . " " . sprintf("%.2f", $data['points_max']); 97 } 98} 99