ILIAS  release_8 Revision v8.24
class.ilCourseStartObjectsTableGUI.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=0);
25{
26 public function __construct(object $a_parent_obj, string $a_parent_cmd, ilObject $a_obj_course)
27 {
28 global $DIC;
29
30 parent::__construct($a_parent_obj, $a_parent_cmd);
31 $this->lng->loadLanguageModule('crs');
32
33 $this->addColumn('', '', '1');
34 $this->addColumn($this->lng->txt('type'), 'type', '1');
35 $this->addColumn($this->lng->txt('title'), 'title');
36 $this->addColumn($this->lng->txt('description'), 'description');
37
38 // add
39 if ($a_parent_cmd != 'listStructure') {
40 $this->setTitle($this->lng->txt('crs_select_starter'));
41
42 $this->addMultiCommand('addStarter', $this->lng->txt('crs_add_starter'));
43 } // list
44 else {
45 $this->setTitle($this->lng->txt('crs_start_objects'));
46
47 $this->addMultiCommand('askDeleteStarter', $this->lng->txt('delete'));
48 }
49
50 $this->setRowTemplate("tpl.crs_add_starter.html", "Modules/Course");
51 $this->setFormAction($this->ctrl->getFormAction($a_parent_obj));
52 $this->setSelectAllCheckbox('starter');
53
54 $this->setDefaultOrderField('title');
55 $this->setDefaultOrderDirection('asc');
56
57 $data = array();
58
59 $crs_start = new ilCourseStart($a_obj_course->getRefId(), $a_obj_course->getId());
60
61 // add
62 if ($a_parent_cmd != 'listStructure') {
63 $data = $this->getPossibleObjects($a_obj_course, $crs_start);
64 } // list
65 else {
66 $data = $this->getStartObjects($a_obj_course, $crs_start);
67 }
68
69 $this->setData($data);
70 }
71
72 protected function getPossibleObjects(ilObject $a_obj_course, ilCourseStart $crs_start): array
73 {
74 $data = array();
75 foreach ($crs_start->getPossibleStarters() as $item_ref_id) {
76 $tmp_obj = ilObjectFactory::getInstanceByRefId($item_ref_id);
77
78 $data[$item_ref_id]['id'] = $item_ref_id;
79 $data[$item_ref_id]['title'] = $tmp_obj->getTitle();
80 $data[$item_ref_id]['type'] = $this->lng->txt('obj_' . $tmp_obj->getType());
81 $data[$item_ref_id]['icon'] = ilObject::_getIcon($tmp_obj->getId(), 'tiny');
82
83 if (strlen($tmp_obj->getDescription())) {
84 $data[$item_ref_id]['description'] = $tmp_obj->getDescription();
85 }
86 }
87 return $data;
88 }
89
90 protected function getStartObjects(ilObject $a_obj_course, ilCourseStart $crs_start): array
91 {
92 $starters = $crs_start->getStartObjects();
93 $data = array();
94 foreach ($starters as $start_id => $item) {
95 $tmp_obj = ilObjectFactory::getInstanceByRefId($item['item_ref_id']);
96
97 $data[$item['item_ref_id']]['id'] = $start_id;
98 $data[$item['item_ref_id']]['title'] = $tmp_obj->getTitle();
99 $data[$item['item_ref_id']]['type'] = $this->lng->txt('obj_' . $tmp_obj->getType());
100 $data[$item['item_ref_id']]['icon'] = ilObject::_getIcon($tmp_obj->getId(), 'tiny');
101
102 if (strlen($tmp_obj->getDescription())) {
103 $data[$item['item_ref_id']]['description'] = $tmp_obj->getDescription();
104 }
105 }
106
107 return $data;
108 }
109
110 protected function fillRow(array $a_set): void
111 {
112 $this->tpl->setVariable("ID", (string) $a_set["id"]);
113 $this->tpl->setVariable("TXT_TITLE", (string) $a_set["title"]);
114 $this->tpl->setVariable("TXT_DESCRIPTION", (string) $a_set["description"]);
115 $this->tpl->setVariable("ICON_SRC", (string) $a_set["icon"]);
116 $this->tpl->setVariable("ICON_ALT", (string) $a_set["type"]);
117 }
118}
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getPossibleObjects(ilObject $a_obj_course, ilCourseStart $crs_start)
getStartObjects(ilObject $a_obj_course, ilCourseStart $crs_start)
fillRow(array $a_set)
Standard Version of Fill Row.
__construct(object $a_parent_obj, string $a_parent_cmd, ilObject $a_obj_course)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
addMultiCommand(string $a_cmd, string $a_text)
setFormAction(string $a_form_action, bool $a_multipart=false)
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)
setDefaultOrderField(string $a_defaultorderfield)
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setDefaultOrderDirection(string $a_defaultorderdirection)
setData(array $a_data)
Set table data.
global $DIC
Definition: feed.php:28
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc