ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
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 {
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(array $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}
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.
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.
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.
setId($a_val)
Set id.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
disable($a_module_name)
diesables particular modules of table
$cmd
Definition: sahs_server.php:35