71 : RepositoryObject|string|null {
73 $ilAccess = $this->domain->access();
74 $ilCtrl = $this->gui->ctrl();
75
76
77
78
79
80
82 if ($item_group_list_presentation != "") {
83 $view_mode = ($item_group_list_presentation ===
"tile")
86 }
87
89 return $this->
renderCard($a_item_data, $a_position, $a_force_icon, $a_pos_prefix);
90 }
91
92 $item_list_gui = $this->
getItemGUI($a_item_data);
93 if (
$ilSetting->get(
"icon_position_in_lists") ===
"item_rows" ||
94 $a_item_data["type"] === "sess" || $a_force_icon) {
95 $item_list_gui->enableIcon(true);
96 }
97 if ($checkbox === self::CHECKBOX_ADMIN) {
98 $item_list_gui->enableCheckbox(true);
99 } elseif ($checkbox === self::CHECKBOX_DOWNLOAD) {
100
101 $item_list_gui->enableDownloadCheckbox((int) $a_item_data["ref_id"]);
102 }
103
104 if ($item_ordering) {
105 $item_list_gui->setPositionInputField(
106 $a_pos_prefix . "[" . $a_item_data["ref_id"] . "]",
107 sprintf('%d', $a_position * 10)
108 );
109 }
110
111 if ($a_item_data['type'] === 'sess') {
112 switch ($details_level) {
113 case \ilContainerContentGUI::DETAILS_TITLE:
115 $item_list_gui->enableExpand(true);
116 $item_list_gui->setExpanded(false);
117 $item_list_gui->enableDescription(false);
118 $item_list_gui->enableProperties(true);
119 break;
120
121 case \ilContainerContentGUI::DETAILS_ALL:
123 $item_list_gui->enableExpand(true);
124 $item_list_gui->setExpanded(true);
125 $item_list_gui->enableDescription(true);
126 $item_list_gui->enableProperties(true);
127 break;
128
129 case \ilContainerContentGUI::DETAILS_DEACTIVATED:
130 break;
131
132 default:
134 $item_list_gui->enableExpand(true);
135 $item_list_gui->enableDescription(true);
136 $item_list_gui->enableProperties(true);
137 break;
138 }
139 }
140
141 if ($this->item_modifier_closure instanceof \Closure) {
143 $c($item_list_gui, $a_item_data);
144 }
145
146
147 if ($a_item_data['type'] === 'sess' and (
149 $this->container_gui->isActiveAdministrationPanel() or
150 $this->container_gui->isActiveItemOrdering()
151 )
152 ) {
153 $pos = 1;
154
158
159 $item_readable = $ilAccess->checkAccess('read', '', (int) $a_item_data['ref_id']);
160
161 foreach ($items as $item) {
162
163
164 if (!$ilAccess->checkAccess('visible', '', (int) $item['ref_id'])) {
165 continue;
166 }
167
169 $item_list_gui2->enableIcon(true);
170 $item_list_gui2->enableItemDetailLinks(false);
171
172
173 $item_list_gui2->setParentRefId((int) ($a_item_data['ref_id'] ?? 0));
174
175
176 if (!$item_readable and !$ilAccess->checkAccess('write', '', $item['ref_id'])) {
177 $item_list_gui2->forceVisibleOnly(true);
178 }
179
180 if ($checkbox === self::CHECKBOX_ADMIN) {
181 $item_list_gui2->enableCheckbox(true);
182 } elseif ($checkbox === self::CHECKBOX_DOWNLOAD) {
183
184 $item_list_gui2->enableDownloadCheckbox((int) $item['ref_id']);
185 }
186
187 if ($this->container_gui->isActiveItemOrdering()) {
188 $item_list_gui2->setPositionInputField(
189 "[sess][" . $a_item_data['obj_id'] . "][" . $item["ref_id"] . "]",
190 sprintf('%d', $pos * 10)
191 );
192 $pos++;
193 }
194
195
197
198 $sub_item_html = $item_list_gui2->getListItemHTML(
199 (int) $item['ref_id'],
200 (int) $item['obj_id'],
201 $item['title'],
202 $item['description']
203 );
204
205 if (strlen($sub_item_html)) {
206 $item_list_gui->addSubItemHTML($sub_item_html);
207 }
208 }
209 }
210
211 $asynch = false;
212 $asynch_url = '';
214 $asynch = true;
215 $ilCtrl->setParameter($this->container_gui, "cmdrefid", $a_item_data['ref_id']);
216 $asynch_url = $ilCtrl->getLinkTarget(
217 $this->container_gui,
218 "getAsynchItemList",
219 "",
220 true,
221 false
222 );
223 $ilCtrl->setParameter($this->container_gui, "cmdrefid", "");
224 }
225
227
228 $html = $item_list_gui->getListItemHTML(
229 (int) $a_item_data['ref_id'],
230 (int) $a_item_data['obj_id'],
231 (string) $a_item_data['title'],
232 (string) $a_item_data['description'],
233 $asynch,
234 false,
235 $asynch_url
236 );
237
238 return $html;
239 }
renderCard(array $a_item_data, int $a_position=0, bool $a_force_icon=false, string $a_pos_prefix="")
Closure $item_modifier_closure
static _getInstance(int $a_obj_id)
static getCompleteDescriptions(array $objects)
overwrites description fields to long or short description in an assoc array keys needed (obj_id and ...
static getItemsByEvent(int $event_id)
Get session material / event items.
static addListGUIActivationProperty(ilObjectListGUI $list_gui, array &$item)
Get timing details for list gui.