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 
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_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 }
Creates a path for a start and endnode.
getId()
Gets the id of the assQuestion object.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
Abstract basic class which is to be extended by the concrete assessment question type classes...
Class ilQuestionUsagesTableGUI.
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.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
$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.
fillRow($a_set)
Standard Version of Fill Row.
__construct($controller, $cmd, $template_context, assQuestion $question)
setLimit($a_limit=0, $a_default_limit=0)