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
4require_once 'Services/Table/classes/class.ilTable2GUI.php';
5require_once 'Services/Tree/classes/class.ilPathGUI.php';
6require_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}
An exception for terminatinating execution or to throw for unit testing.
Abstract basic class which is to be extended by the concrete assessment question type classes.
getId()
Gets the id of the assQuestion object.
static _getTotalRightAnswers($a_q_id)
get number of answers for question id (static) note: do not use $this inside this method
__construct($controller, $cmd, $template_context, assQuestion $question)
Class ilTable2GUI.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
setNoEntriesText($a_text)
Set text for an empty table.
setData($a_data)
set table data @access public
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setLimit($a_limit=0, $a_default_limit=0)
set max.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
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.
setId($a_val)
Set id.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
disable($a_module_name)
diesables particular modules of table
$row
$rows
Definition: xhr_table.php:10