ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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  $rows[] = array(
68  'result' => $this->lng->txt('qpl_assessment_total_of_answers'),
69  'value' => $total_of_answers,
70  'is_percent' => false
71  );
72 
73  $rows[] = array(
74  'result' => $this->lng->txt('qpl_assessment_total_of_right_answers'),
75  'value' => assQuestion::_getTotalRightAnswers($this->question->getId()) * 100.0,
76  'is_percent' => true
77  );
78  } else {
79  $this->disable('header');
80  }
81 
82  $this->setData($rows);
83  }
84 
89  public function numericOrdering($a_field)
90  {
91  if ('value' == $a_field) {
92  return true;
93  }
94 
95  return false;
96  }
97 
101  public function fillRow($row)
102  {
103  $this->tpl->setVariable('VAL_RESULT', $row['result']);
104  $this->tpl->setVariable('VAL_VALUE', $row['is_percent'] ? sprintf("%2.2f", $row['value'])
105  . ' %' : $row['value']);
106  }
107 }
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...
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.
$row
$rows
Definition: xhr_table.php:10
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)