ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilQuestionUsagesTableGUI.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_usage_table_row.html', 'Modules/TestQuestionPool');
32 $this->setLimit(PHP_INT_MAX);
33
34 $this->setDefaultOrderField('title');
35 $this->setDefaultOrderDirection('ASC');
36
37 $this->setTitle($this->lng->txt('question_instances_title'));
38
39 $this->disable('sort');
40 $this->disable('hits');
41 $this->disable('numinfo');
42
43 $this->initColumns();
44 $this->initData();
45 }
46
50 protected function initColumns()
51 {
52 $this->addColumn($this->lng->txt('title'), 'title');
53 $this->addColumn($this->lng->txt('author'), 'author');
54 $this->addColumn($this->lng->txt('path'), '');
55 }
56
60 protected function initData()
61 {
65 global $tree;
66
67 $path = new ilPathGUI();
68
69 $rows = array();
70 foreach ($this->question->getInstances() as $instance) {
71 foreach ($instance['refs'] as $ref_id) {
72 $trashed = $tree->isDeleted($ref_id);
73 $rows[] = array(
74 'title' => $instance['title'],
75 'author' => $instance['author'],
76 'ref_id' => $ref_id,
77 'is_trashed' => $trashed,
78 'path' => $trashed ? $this->lng->txt('deleted') : $path->getPath(ROOT_FOLDER_ID, $ref_id)
79 );
80 }
81 }
82 $this->setData($rows);
83 }
84
88 public function fillRow($row)
89 {
93 global $ilAccess;
94
95 $this->tpl->setVariable('USAGE_INSTANCE_TITLE', $row['title']);
96 $this->tpl->setVariable('USAGE_AUTHOR', $row['author']);
97 $this->tpl->setVariable('USAGE_PATH', $row['path']);
98
99 if ($ilAccess->checkAccess('read', '', $row['ref_id']) && !$row['is_trashed']) {
100 $link = new ilLink();
101
102 $this->tpl->setVariable('USAGE_INSTANCE_LINKTED_TITLE', $row['title']);
103 $this->tpl->setVariable('USAGE_INSTANCE_HREF', $link->_getStaticLink($row['ref_id'], 'tst'));
104
105 $this->tpl->setCurrentBlock('linked_title_b');
106 $this->tpl->touchBlock('linked_title_b');
107 $this->tpl->parseCurrentBlock();
108 }
109 }
110}
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.
Creates a path for a start and endnode.
Class ilQuestionUsagesTableGUI.
__construct($controller, $cmd, $template_context, assQuestion $question)
Class ilTable2GUI.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
fillRow($a_set)
Standard Version of Fill Row.
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
$rows
Definition: xhr_table.php:10