ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilQuestionPoolSkillAdministrationGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php';
5 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillUsagesTableGUI.php';
6 
17 {
21  private $ilias;
22 
26  private $ctrl;
27 
31  private $access;
32 
36  private $tabs;
37 
41  private $tpl;
42 
46  private $lng;
47 
51  private $db;
52 
56  private $pluginAdmin;
57 
61  private $poolOBJ;
62 
63 
65  {
66  $this->ilias = $ilias;
67  $this->ctrl = $ctrl;
68  $this->access = $access;
69  $this->tabs = $tabs;
70  $this->tpl = $tpl;
71  $this->lng = $lng;
72  $this->db = $db;
73  $this->pluginAdmin = $pluginAdmin;
74  $this->poolOBJ = $poolOBJ;
75  $this->refId = $refId;
76  }
77 
78  private function isAccessDenied()
79  {
80  if( !$this->poolOBJ->isSkillServiceEnabled() )
81  {
82  return true;
83  }
84 
86  {
87  return true;
88  }
89 
90  if( ! $this->access->checkAccess('write', '', $this->refId) )
91  {
92  return true;
93  }
94 
95  return false;
96  }
97 
98  public function manageTabs($activeSubTabId)
99  {
100  $link = $this->ctrl->getLinkTargetByClass(
101  'ilAssQuestionSkillAssignmentsGUI', ilAssQuestionSkillAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS
102  );
103  $this->tabs->addSubTab(
104  'ilassquestionskillassignmentsgui', $this->lng->txt('qpl_skl_sub_tab_quest_assign'), $link
105 
106  );
107 
108  $link = $this->ctrl->getLinkTargetByClass(
109  'ilAssQuestionSkillUsagesTableGUI', ilAssQuestionSkillUsagesTableGUI::CMD_SHOW
110  );
111  $this->tabs->addSubTab(
112  'ilassquestionskillusagestablegui', $this->lng->txt('qpl_skl_sub_tab_usages'), $link
113 
114  );
115 
116  $this->tabs->activateTab('qpl_tab_competences');
117  $this->tabs->activateSubTab($activeSubTabId);
118  }
119 
120  public function executeCommand()
121  {
122  if( $this->isAccessDenied() )
123  {
124  $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
125  }
126 
127  $nextClass = $this->ctrl->getNextClass();
128 
129  $this->manageTabs($nextClass);
130 
131  switch($nextClass)
132  {
133  case 'ilassquestionskillassignmentsgui':
134 
135  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
136  $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin);
137  $questionList->setParentObjId($this->poolOBJ->getId());
138  $questionList->setQuestionInstanceTypeFilter(ilAssQuestionList::QUESTION_INSTANCE_TYPE_ORIGINALS);
139  $questionList->load();
140 
141  $gui = new ilAssQuestionSkillAssignmentsGUI($this->ctrl, $this->access, $this->tpl, $this->lng, $this->db);
142  $gui->setAssignmentEditingEnabled(true);
143  $gui->setQuestionContainerId($this->poolOBJ->getId());
144  $gui->setQuestionList($questionList);
145 
146  $this->ctrl->forwardCommand($gui);
147 
148  break;
149 
150  case 'ilassquestionskillusagestablegui':
151 
153  $this->ctrl, $this->tpl, $this->lng, $this->db, $this->poolOBJ->getId()
154  );
155 
156  $this->ctrl->forwardCommand($gui);
157 
158  break;
159  }
160  }
161 }
This class provides processing control methods.
Tabs GUI.
Interface Card .
Administration class for plugins.
Interface ilDBInterface.
__construct(ILIAS $ilias, ilCtrl $ctrl, ilAccessHandler $access, ilTabsGUI $tabs, ilTemplate $tpl, ilLanguage $lng, ilDBInterface $db, ilPluginAdmin $pluginAdmin, ilObjQuestionPool $poolOBJ, $refId)
special template class to simplify handling of ITX/PEAR
redirection script todo: (a better solution should control the processing via a xml file) ...
language handling
Class ilAccessHandler.