ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilResultsByQuestionTableGUI.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 
24 include_once("./Services/Table/classes/class.ilTable2GUI.php");
25 
36 {
37  protected $has_pdf;
38 
39  function ilResultsByQuestionTableGUI($a_parent_obj, $a_parent_cmd = "", $has_pdf = false)
40  {
41  global $ilCtrl, $lng;
42 
43  parent::__construct($a_parent_obj, $a_parent_cmd);
44  $this->has_pdf = $has_pdf;
45  $this->addColumn($lng->txt("question_id"), "id", "10%");
46  $this->addColumn($lng->txt("question_title"), "title", "35%");
47  $this->addColumn($lng->txt("number_of_answers"), "noa", "10%");
48  if ($has_pdf)
49  {
50  $this->addColumn($lng->txt("output"), "", "10%");
51  $this->addColumn($lng->txt("question_time"), "time", "10%");
52  $this->addColumn($lng->txt("question_meantime"), "meantime", "10%");
53  $this->addColumn($lng->txt("file_uploads"), "", "15%");
54  }
55  else
56  {
57  $this->addColumn($lng->txt("question_time"), "time", "10%");
58  $this->addColumn($lng->txt("question_meantime"), "meantime", "10%");
59  $this->addColumn($lng->txt("file_uploads"), "", "25%");
60  }
61  $this->setFormAction($ilCtrl->getFormAction($a_parent_obj));
62  $this->setRowTemplate("tpl.table_results_by_question_row.html", "Modules/Test");
63  $this->setDefaultOrderField("title");
64  $this->setDefaultOrderDirection("asc");
65  }
66 
72  function numericOrdering($a_field)
73  {
74  switch ($a_field)
75  {
76  case 'time':
77  case 'meantime':
78  return true;
79  break;
80  default:
81  return false;
82  break;
83  }
84  }
85 
90  protected function fillRow($a_set)
91  {
92  if ($this->has_pdf)
93  {
94  $this->tpl->setCurrentBlock('pdf');
95  $this->tpl->setVariable("PDF_EXPORT", $a_set['output']);
96  $this->tpl->parseCurrentBlock();
97  }
98  $this->tpl->setVariable("QUESTION_ID", $a_set['id']);
99  $this->tpl->setVariable("QUESTION_TITLE", $a_set['title']);
100  $this->tpl->setVariable("NUMBER_OF_ANSWERS", $a_set['noa']);
101  $this->tpl->setVariable("FILE_UPLOADS", $a_set['download']);
102  $this->tpl->setVariable("QUESTION_TIME", sprintf("%d min %d s", floor($a_set['time']/60), $a_set['time'] % 60));
103  $this->tpl->setVariable("QUESTION_MEANTIME", sprintf("%.1f s", $a_set['meantime']));
104  }
105 
106 }
107 ?>