35 ?
object $a_parent_obj,
38 bool $a_enable_desktop =
true 42 $this->
user = $DIC->user();
43 $this->obj_data_cache = $DIC[
"ilObjDataCache"];
44 $this->
access = $DIC->access();
45 $this->obj_definition = $DIC[
"objDefinition"];
46 $lng = $DIC->language();
47 $ilCtrl = $DIC->ctrl();
50 $this->
lng->loadLanguageModule(
'rep');
51 $this->
ctrl = $ilCtrl;
53 $this->start_object = $a_start_objects;
54 $this->enable_desktop = $a_enable_desktop;
60 $this->
addColumn($this->
lng->txt(
'crs_objective_accomplished'),
'status');
63 $this->
setTitle($this->
lng->txt(
'crs_table_start_objects'));
66 $this->
setRowTemplate(
"tpl.start_objects_content_row.html",
"Services/Container");
87 foreach ($this->start_object->getStartObjects() as $start) {
88 $obj_id = $ilObjDataCache->lookupObjId((
int) $start[
'item_ref_id']);
89 $ref_id = $start[
'item_ref_id'];
90 $type = $ilObjDataCache->lookupType($obj_id);
92 if (!$ilAccess->checkAccess(
"visible",
"",
$ref_id)) {
97 if ($this->start_object->isFullfilled(
$ilUser->getId(),
$ref_id)) {
98 $accomplished =
'accomplished';
100 $accomplished =
'not_accomplished';
105 if ($this->enable_desktop) {
107 if (!$this->fav_manager->ifIsFavourite(
$ilUser->getId(),
$ref_id)) {
108 if ($ilAccess->checkAccess(
'read',
'',
$ref_id)) {
113 $actions[
$url] = $this->
lng->txt(
"rep_add_to_favourites");
120 $actions[
$url] = $this->
lng->txt(
"rep_remove_from_favourites");
124 $default_params = null;
125 if (
$type ===
"tst") {
126 $default_params[
"crs_show_result"] =
$ref_id;
137 if ($accomplished ===
'accomplished') {
148 "append_default" => $default_params,
149 "title" => $ilObjDataCache->lookupTitle($obj_id),
150 "description" => $ilObjDataCache->lookupDescription($obj_id),
151 "status" => $this->
lng->txt(
'crs_objective_' . $accomplished),
152 "status_img" =>
$icon,
153 "actions" => $actions
158 foreach ($items as $item) {
159 $preloader->addItem($item[
"obj_id"], $item[
"type"], $item[
"ref_id"]);
161 $preloader->preload();
171 if (!isset($this->item_list_guis[$a_type])) {
178 $location = $objDefinition->getLocation($a_type);
182 $full_class =
"ilObj" . $class .
"ListGUI";
183 $item_list_gui =
new $full_class();
184 $this->item_list_guis[$a_type] = $item_list_gui;
186 $item_list_gui = $this->item_list_guis[$a_type];
189 $item_list_gui->setDefaultCommandParameters([]);
191 return $item_list_gui;
198 if (!$item_list_gui) {
202 $item_list_gui->setContainerObject($this);
203 $item_list_gui->enableCommands(
true,
true);
208 $item_list_gui->enableNotes(
false);
209 $item_list_gui->enableComments(
false);
210 $item_list_gui->enableTags(
false);
212 $item_list_gui->enableIcon(
true);
213 $item_list_gui->enableDelete(
false);
214 $item_list_gui->enableCut(
false);
215 $item_list_gui->enableCopy(
false);
216 $item_list_gui->enableLink(
false);
217 $item_list_gui->enableInfoScreen(
true);
218 $item_list_gui->enableSubscribe(
false);
223 $item_list_gui->enableDescription(
false);
224 $item_list_gui->enableProperties(
false);
225 $item_list_gui->enablePreconditions(
false);
228 if ($a_item[
"append_default"]) {
229 $item_list_gui->setDefaultCommandParameters($a_item[
"append_default"]);
231 if (is_object($item_list_gui)) {
232 return $item_list_gui->getListItemHTML(
236 $a_item[
"description"]
242 protected function fillRow(array $a_set): void
244 $this->tpl->setVariable(
"VAL_NR", $a_set[
"nr"]);
247 $this->tpl->setVariable(
"TXT_TITLE", $this->
getListItem($a_set));
248 $this->tpl->setVariable(
"TXT_STATUS", $a_set[
"status"]);
249 $this->tpl->setVariable(
"IMG_STATUS", $a_set[
"status_img"]);
251 if ($a_set[
"actions"]) {
252 $this->tpl->setCurrentBlock(
"link");
253 foreach ($a_set[
"actions"] as
$url => $caption) {
254 $this->tpl->setVariable(
"LINK_HREF",
$url);
255 $this->tpl->setVariable(
"LINK_NAME", $caption);
257 $this->tpl->parseCurrentBlock();
ilFavouritesManager $fav_manager
setFormAction(string $a_form_action, bool $a_multipart=false)
$location
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
ilObjectDefinition $obj_definition
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setDescription(string $a_val)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
parses the objects.xml it handles the xml-description of all ilias objects
ilContainerStartObjects $start_object
setDefaultOrderField(string $a_defaultorderfield)
getItemListGUI(string $a_type)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
getClassName(string $obj_name)
setDefaultOrderDirection(string $a_defaultorderdirection)
ilObjectDataCache $obj_data_cache
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
__construct(?object $a_parent_obj, string $a_parent_cmd, ilContainerStartObjects $a_start_objects, bool $a_enable_desktop=true)
__construct(Container $dic, ilPlugin $plugin)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
getListItem(array $a_item)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...