ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 {
72 foreach($instance['refs'] as $ref_id)
73 {
74 $trashed = $tree->isDeleted($ref_id);
75 $rows[] = array(
76 'title' => $instance['title'],
77 'author' => $instance['author'],
78 'ref_id' => $ref_id,
79 'is_trashed' => $trashed,
80 'path' => $trashed ? $this->lng->txt('deleted') : $path->getPath(ROOT_FOLDER_ID, $ref_id)
81 );
82 }
83 }
84 $this->setData($rows);
85 }
86
90 public function fillRow($row)
91 {
95 global $ilAccess;
96
97 $this->tpl->setVariable('USAGE_INSTANCE_TITLE', $row['title']);
98 $this->tpl->setVariable('USAGE_AUTHOR', $row['author']);
99 $this->tpl->setVariable('USAGE_PATH', $row['path']);
100
101 if($ilAccess->checkAccess('read', '', $row['ref_id']) && !$row['is_trashed'])
102 {
103 $link = new ilLink();
104
105 $this->tpl->setVariable('USAGE_INSTANCE_LINKTED_TITLE', $row['title']);
106 $this->tpl->setVariable('USAGE_INSTANCE_HREF', $link->_getStaticLink($row['ref_id'], 'tst'));
107
108 $this->tpl->setCurrentBlock('linked_title_b');
109 $this->tpl->touchBlock('linked_title_b');
110 $this->tpl->parseCurrentBlock();
111 }
112 }
113}
$path
Definition: aliased.php:25
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.
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.
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.
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
$ref_id
Definition: sahs_server.php:39