ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilCourseObjectiveListGUI.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 
24 include_once "Services/Object/classes/class.ilObjectListGUI.php";
25 include_once('./Modules/Course/classes/class.ilCourseObjectiveResultCache.php');
26 
27 
38 {
44  public function __construct()
45  {
46  parent::__construct();
47  }
48 
56  public function init()
57  {
58  $this->static_link_enabled = true;
59  $this->delete_enabled = false;
60  $this->cut_enabled = false;
61  $this->subscribe_enabled = false;
62  $this->link_enabled = false;
63  $this->info_screen_enabled = false;
64  $this->progress_enabled = true;
65  $this->type = "lobj";
66  //$this->gui_class_name = "ilobjcoursegui";
67 
68  // general commands array
69  $this->commands = array();
70  }
71 
78  public function getProperties()
79  {
80  return parent::getProperties();
81  }
82 
93  public function getObjectiveListItemHTML($a_ref_id, $a_obj_id, $a_title, $a_description, $a_manage = false)
94  {
95  $this->tpl = new ilTemplate(
96  "tpl.container_list_item.html",
97  true,
98  true,
99  "Services/Container"
100  );
101  $this->initItem($a_ref_id, $a_obj_id, $a_title, $a_description);
102 
103  $this->insertIconsAndCheckboxes();
104  $this->insertTitle();
105  $this->insertDescription();
106 
107  // begin-patch lok
108  if (!$a_manage) {
109  $this->insertProgressInfo();
110  }
111  $this->insertPositionField();
112  // end-patch lok
113 
114  // subitems
115  $this->insertSubItems();
116 
117  // reset properties and commands
118  $this->cust_prop = array();
119  $this->cust_commands = array();
120  $this->sub_item_html = array();
121  $this->position_enabled = false;
122 
123  return $this->tpl->get();
124  }
125 
133  public function insertTitle()
134  {
135  global $DIC;
136 
137  $ilUser = $DIC['ilUser'];
138  $ilCtrl = $DIC['ilCtrl'];
139 
140  if (
143  ) {
144  $this->tpl->setVariable('DIV_CLASS', 'ilContainerListItemOuterHighlight');
145  } else {
146  $this->tpl->setVariable('DIV_CLASS', 'ilContainerListItemOuter');
147  }
148 
149  if (!$this->getCommandsStatus()) {
150  $this->tpl->setCurrentBlock("item_title");
151  $this->tpl->setVariable("TXT_TITLE", $this->getTitle());
152  $this->tpl->parseCurrentBlock();
153  return true;
154  }
155 
156 
157  $this->tpl->setCurrentBlock("item_title_linked");
158  $this->tpl->setVariable("TXT_TITLE_LINKED", $this->getTitle());
159 
160  $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $this->getContainerObject()->object->getRefId());
161  $ilCtrl->setParameterByClass("ilrepositorygui", "objective_details", $this->obj_id);
162  $link = $ilCtrl->getLinkTargetByClass("ilrepositorygui", "");
163  $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $_GET["ref_id"]);
164 
165  $this->tpl->setVariable("HREF_TITLE_LINKED", $link);
166  $this->tpl->parseCurrentBlock();
167  }
168 
169 
170 
178  public function insertProgressInfo()
179  {
180  global $DIC;
181 
182  $ilUser = $DIC['ilUser'];
183  $lng = $DIC['lng'];
184 
185  $lng->loadLanguageModule('trac');
186 
187  $this->tpl->setCurrentBlock('item_progress');
188 
189  switch (ilCourseObjectiveResultCache::getStatus($ilUser->getId(), $this->getContainerObject()->object->getId(), $this->obj_id)) {
191  $this->tpl->setVariable('TXT_PROGRESS_INFO', $this->lng->txt('crs_objective_status'));
192  $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/not_attempted.svg'));
193  $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_no_attempted'));
194  break;
195 
198  $this->tpl->setVariable('TXT_PROGRESS_INFO', $this->lng->txt('crs_objective_pretest'));
199  if (ilCourseObjectiveResultCache::isSuggested($ilUser->getId(), $this->getContainerObject()->object->getId(), $this->obj_id)) {
200  $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/failed.svg'));
201  $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_failed'));
202  } else {
203  $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/passed.svg'));
204  $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_passed'));
205  }
206  break;
207 
210  $this->tpl->setVariable('TXT_PROGRESS_INFO', $this->lng->txt('crs_objective_result'));
211  if (ilCourseObjectiveResultCache::isSuggested($ilUser->getId(), $this->getContainerObject()->object->getId(), $this->obj_id)) {
212  $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/failed.svg'));
213  $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_failed'));
214  } else {
215  $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/passed.svg'));
216  $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_passed'));
217  }
218  break;
219 
220 
221  }
222  $this->tpl->parseCurrentBlock();
223  }
224 }
insertIconsAndCheckboxes()
Insert icons and checkboxes.
getContainerObject()
get container object
global $DIC
Definition: saml.php:7
$_GET["client_id"]
const IL_OBJECTIVE_STATUS_FINISHED
getObjectiveListItemHTML($a_ref_id, $a_obj_id, $a_title, $a_description, $a_manage=false)
get list item html
const IL_OBJECTIVE_STATUS_PRETEST_NON_SUGGEST
global $ilCtrl
Definition: ilias.php:18
insertPositionField()
Insert field for positioning.
static isSuggested($a_usr_id, $a_crs_id, $a_objective_id)
check if objective is suggested
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
insertSubItems()
Insert subitems.
special template class to simplify handling of ITX/PEAR
Class ilObjectListGUI.
static getStatus($a_usr_id, $a_crs_id)
get status of user
const IL_OBJECTIVE_STATUS_NONE
$ilUser
Definition: imgupload.php:18
const IL_OBJECTIVE_STATUS_FINAL
getTitle()
getTitle overwritten in class.ilObjLinkResourceList.php
const IL_OBJECTIVE_STATUS_PRETEST
insertProgressInfo()
insert objective status
List gui for course objectives.
initItem($a_ref_id, $a_obj_id, $a_title="", $a_description="")
inititialize new item (is called by getItemHTML())
insertDescription()
insert item description