ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilQuestionCumulatedStatisticsTableGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Services/Table/classes/class.ilTable2GUI.php';
5 require_once 'Services/Tree/classes/class.ilPathGUI.php';
6 require_once 'Services/Link/classes/class.ilLink.php';
7 
13 {
17  protected $question;
18 
25  public function __construct($controller, $cmd, $template_context, assQuestion $question)
26  {
27  $this->question = $question;
28  $this->setId('qst_usage_' . $question->getId());
29  parent::__construct($controller, $cmd);
30 
31  $this->setRowTemplate('tpl.il_as_qpl_question_cumulated_stats_table_row.html', 'Modules/TestQuestionPool');
32  $this->setLimit(PHP_INT_MAX);
33 
34  $this->setDefaultOrderField('result');
35  $this->setDefaultOrderDirection('ASC');
36 
37  $this->setTitle($this->lng->txt('question_cumulated_statistics'));
38  $this->setNoEntriesText($this->lng->txt('qpl_assessment_no_assessment_of_questions'));
39 
40  $this->disable('sort');
41  $this->disable('hits');
42  $this->disable('numinfo');
43 
44  $this->initColumns();
45  $this->initData();
46  }
47 
51  protected function initColumns()
52  {
53  $this->addColumn($this->lng->txt('result'), 'result');
54  $this->addColumn($this->lng->txt('value'), 'value');
55  }
56 
60  protected function initData()
61  {
62  $rows = array();
63 
64  $total_of_answers = $this->question->getTotalAnswers();
65 
66  if($total_of_answers)
67  {
68  $rows[] = array(
69  'result' => $this->lng->txt('qpl_assessment_total_of_answers'),
70  'value' => $total_of_answers,
71  'is_percent' => false
72  );
73 
74  $rows[] = array(
75  'result' => $this->lng->txt('qpl_assessment_total_of_right_answers'),
76  'value' => assQuestion::_getTotalRightAnswers($this->question->getId()) * 100.0,
77  'is_percent' => true
78  );
79  }
80  else
81  {
82  $this->disable('header');
83  }
84 
85  $this->setData($rows);
86  }
87 
92  public function numericOrdering($a_field)
93  {
94  if('value' == $a_field)
95  {
96  return true;
97  }
98 
99  return false;
100  }
101 
105  public function fillRow($row)
106  {
107  $this->tpl->setVariable('VAL_RESULT', $row['result']);
108  $this->tpl->setVariable('VAL_VALUE', $row['is_percent'] ? sprintf("%2.2f", $row['value'])
109  . ' %' : $row['value']);
110  }
111 }
getId()
Gets the id of the assQuestion object.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
static _getTotalRightAnswers($a_q_id)
get number of answers for question id (static) note: do not use $this inside this method ...
Abstract basic class which is to be extended by the concrete assessment question type classes...
$cmd
Definition: sahs_server.php:35
setNoEntriesText($a_text)
Set text for an empty table.
setId($a_val)
Set id.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
Class ilTable2GUI.
__construct($controller, $cmd, $template_context, assQuestion $question)
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
disable($a_module_name)
diesables particular modules of table
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setLimit($a_limit=0, $a_default_limit=0)