ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilContainerContentGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5
17{
19 const DETAILS_TITLE = 1;
20 const DETAILS_ALL = 2;
21
23
27 protected $renderer;
28
31
36 function __construct(&$container_gui_obj)
37 {
38 $this->container_gui = $container_gui_obj;
39 $this->container_obj = $this->container_gui->object;
40 }
41
49 protected function getDetailsLevel($a_item_id)
50 {
52 }
53
59 public function getContainerObject()
60 {
62 }
63
69 public function getContainerGUI()
70 {
72 }
73
80 public function setOutput()
81 {
82 global $tpl, $ilCtrl;
83
84 // note: we do not want to get the center html in case of
85 // asynchronous calls to blocks in the right column (e.g. news)
86 // see #13012
87 if ($ilCtrl->getNextClass() == "ilcolumngui" &&
88 $ilCtrl->isAsynch())
89 {
90 $tpl->setRightContent($this->getRightColumnHTML());
91 }
92
93 // BEGIN ChangeEvent: record read event.
94 require_once('Services/Tracking/classes/class.ilChangeEvent.php');
95 global $ilUser;
96//global $log;
97//$log->write("setOutput");
98
99 $obj_id = ilObject::_lookupObjId($this->getContainerObject()->getRefId());
101 $this->getContainerObject()->getType(),
102 $this->getContainerObject()->getRefId(),
103 $obj_id, $ilUser->getId());
104 // END ChangeEvent: record read event.
105
106
107 $tpl->setContent($this->getCenterColumnHTML());
108
109 // see above, all other cases (this was the old position of setRightContent,
110 // maybe the position above is ok and all ifs can be removed)
111 if ($ilCtrl->getNextClass() != "ilcolumngui" ||
112 !$ilCtrl->isAsynch())
113 {
114 $tpl->setRightContent($this->getRightColumnHTML());
115 }
116
117 }
118
122 protected function getRightColumnHTML()
123 {
124 global $ilUser, $lng, $ilCtrl, $ilAccess, $ilPluginAdmin;;
125
126 $ilCtrl->saveParameterByClass("ilcolumngui", "col_return");
127
128 $obj_id = ilObject::_lookupObjId($this->getContainerObject()->getRefId());
129 $obj_type = ilObject::_lookupType($obj_id);
130
131 include_once("Services/Block/classes/class.ilColumnGUI.php");
132 $column_gui = new ilColumnGUI($obj_type, IL_COL_RIGHT);
133
134 if ($column_gui->getScreenMode() == IL_SCREEN_FULL)
135 {
136 return "";
137 }
138
139 $this->getContainerGUI()->setColumnSettings($column_gui);
140
141 if ($ilCtrl->getNextClass() == "ilcolumngui" &&
142 $column_gui->getCmdSide() == IL_COL_RIGHT &&
143 $column_gui->getScreenMode() == IL_SCREEN_SIDE)
144 {
145
146 $html = $ilCtrl->forwardCommand($column_gui);
147 }
148 else
149 {
150 if (!$ilCtrl->isAsynch())
151 {
152 $html = "";
153
154 // user interface plugin slot + default rendering
155 include_once("./Services/UIComponent/classes/class.ilUIHookProcessor.php");
156 $uip = new ilUIHookProcessor("Services/Container", "right_column",
157 array("container_content_gui" => $this));
158 if (!$uip->replaced())
159 {
160 $html = $ilCtrl->getHTML($column_gui);
161 }
162 $html = $uip->getHTML($html);
163 }
164 }
165
166 return $html;
167 }
168
172 protected function getCenterColumnHTML()
173 {
174 global $ilCtrl, $tpl, $ilDB;
175
176 $ilCtrl->saveParameterByClass("ilcolumngui", "col_return");
177
178 $tpl->addOnLoadCode("il.Object.setRedrawListItemUrl('".
179 $ilCtrl->getLinkTarget($this->container_gui, "redrawListItem", "", true)."');");
180
181 $tpl->addOnLoadCode("il.Object.setRatingUrl('".
182 $ilCtrl->getLinkTargetByClass(array(get_class($this->container_gui), "ilcommonactiondispatchergui", "ilratinggui"),
183 "saveRating", "", true, false)."');");
184
185 switch ($ilCtrl->getNextClass())
186 {
187 case "ilcolumngui":
188 $this->container_gui->setSideColumnReturn();
189 $html = $this->__forwardToColumnGUI();
190 break;
191
192 default:
193 $ilDB->useSlave(true);
194 $html = $this->getMainContent();
195 $ilDB->useSlave(false);
196 break;
197 }
198
199 return $html;
200 }
201
206 abstract function getMainContent();
207
211 protected function initRenderer()
212 {
213 include_once('./Services/Container/classes/class.ilContainerSorting.php');
214 $sorting = ilContainerSorting::_getInstance($this->getContainerObject()->getId());
215
216 include_once "Services/Container/classes/class.ilContainerRenderer.php";
217 $this->renderer = new ilContainerRenderer(
218 ($this->getContainerGUI()->isActiveAdministrationPanel() && !$_SESSION["clipboard"])
219 ,$this->getContainerGUI()->isMultiDownloadEnabled()
220 ,$this->getContainerGUI()->isActiveOrdering() && (get_class($this) != "ilContainerObjectiveGUI") // no block sorting in objective view
221 ,$sorting->getBlockPositions()
222 );
223 }
224
228 final private function __forwardToColumnGUI()
229 {
230 global $ilCtrl, $ilAccess;
231
232 include_once("Services/Block/classes/class.ilColumnGUI.php");
233
234 // this gets us the subitems we need in setColumnSettings()
235 // todo: this should be done in ilCourseGUI->getSubItems
236
237 $obj_id = ilObject::_lookupObjId($this->getContainerObject()->getRefId());
238 $obj_type = ilObject::_lookupType($obj_id);
239
240 if (!$ilCtrl->isAsynch())
241 {
242 //if ($column_gui->getScreenMode() != IL_SCREEN_SIDE)
244 {
245 // right column wants center
247 {
248 $column_gui = new ilColumnGUI($obj_type, IL_COL_RIGHT);
249 $this->getContainerGUI()->setColumnSettings($column_gui);
250 $html = $ilCtrl->forwardCommand($column_gui);
251 }
252 // left column wants center
254 {
255 $column_gui = new ilColumnGUI($obj_type, IL_COL_LEFT);
256 $this->getContainerGUI()->setColumnSettings($column_gui);
257 $html = $ilCtrl->forwardCommand($column_gui);
258 }
259 }
260 else
261 {
262 $html = $this->getMainContent();
263 }
264 }
265
266 return $html;
267 }
268
273 {
274 $this->adminCommands = false;
275 }
276
280 protected function determineAdminCommands($a_ref_id, $a_admin_com_included_in_list = false)
281 {
282 global $rbacsystem;
283
284//echo "-".$a_admin_com_included_in_list."-";
285
286 if (!$this->adminCommands)
287 {
288 if (!$this->getContainerGUI()->isActiveAdministrationPanel())
289 {
290 if ($rbacsystem->checkAccess("delete", $a_ref_id))
291 {
292 $this->adminCommands = true;
293 }
294 }
295 else
296 {
297 $this->adminCommands = $a_admin_com_included_in_list;
298 }
299 }
300 }
301
305 protected function getItemGUI($item_data,$a_show_path = false)
306 {
307 include_once 'Services/Object/classes/class.ilObjectListGUIFactory.php';
308
309 // get item list gui object
310 if (!is_object ($this->list_gui[$item_data["type"]]))
311 {
312 $item_list_gui =& ilObjectListGUIFactory::_getListGUIByType($item_data["type"]);
313 $item_list_gui->setContainerObject($this->getContainerGUI());
314 $this->list_gui[$item_data["type"]] =& $item_list_gui;
315 }
316 else
317 {
318 $item_list_gui =& $this->list_gui[$item_data["type"]];
319
320 }
321
322 // unique js-ids
323 $item_list_gui->setParentRefId($item_data["parent"]);
324
325 $item_list_gui->setDefaultCommandParameters(array());
326 $item_list_gui->disableTitleLink(false);
327 $item_list_gui->resetConditionTarget();
328
329 // show administration command buttons (or not)
330 if (!$this->getContainerGUI()->isActiveAdministrationPanel())
331 {
332// $item_list_gui->enableDelete(false);
333// $item_list_gui->enableLink(false);
334// $item_list_gui->enableCut(false);
335 }
336
337 // activate common social commands
338 $item_list_gui->enableComments(true);
339 $item_list_gui->enableNotes(true);
340 $item_list_gui->enableTags(true);
341 $item_list_gui->enableRating(true);
342
343 // reset
344 $item_list_gui->forceVisibleOnly(false);
345
346 // container specific modifications
347 $this->getContainerGUI()->modifyItemGUI($item_list_gui, $item_data, $a_show_path);
348
349 return $item_list_gui;
350 }
351
355 function determinePageEmbeddedBlocks($a_container_page_html)
356 {
357 $type_grps = $this->getGroupedObjTypes();
358
359 // iterate all types
360 foreach ($type_grps as $type => $v)
361 {
362 // set template (overall or type specific)
363 if (is_int(strpos($a_container_page_html, "[list-".$type."]")))
364 {
365 $this->addEmbeddedBlock("type", $type);
366 }
367 }
368
369 // determine item groups
370 while (preg_match('~\[(item-group-([0-9]*))\]~i', $a_container_page_html, $found))
371 {
372 $this->addEmbeddedBlock("itgr", (int) $found[2]);
373
374 $a_container_page_html = preg_replace('~\['.$found[1].'\]~i', $html, $a_container_page_html);
375 }
376 }
377
383 function addEmbeddedBlock($block_type, $block_parameter)
384 {
385 $this->embedded_block[$block_type][] = $block_parameter;
386 }
387
392 {
393 return $this->embedded_block;
394 }
395
400 {
401 global $lng;
402
403 // item groups
404 if (is_array($this->embedded_block["itgr"]))
405 {
406 $item_groups = array();
407 if (is_array($this->items["itgr"]))
408 {
409 foreach ($this->items["itgr"] as $ig)
410 {
411 $item_groups[$ig["ref_id"]] = $ig;
412 }
413 }
414
415 foreach ($this->embedded_block["itgr"] as $ref_id)
416 {
417 if(isset($item_groups[$ref_id]))
418 {
419 $this->renderItemGroup($item_groups[$ref_id]);
420 }
421 }
422 }
423
424 // type specific blocks
425 if (is_array($this->embedded_block["type"]))
426 {
427 foreach ($this->embedded_block["type"] as $k => $type)
428 {
429 if (is_array($this->items[$type]) &&
430 $this->renderer->addTypeBlock($type))
431 {
432 // :TODO: obsolete?
433 if($type == 'sess')
434 {
435 $this->items['sess'] = ilUtil::sortArray($this->items['sess'],'start','ASC',true,true);
436 }
437
438 $position = 1;
439
440 foreach($this->items[$type] as $k => $item_data)
441 {
442 if(!$this->renderer->hasItem($item_data["child"]))
443 {
444 $html = $this->renderItem($item_data, $position++);
445 if ($html != "")
446 {
447 $this->renderer->addItemToBlock($type, $item_data["type"], $item_data["child"], $html);
448 }
449 }
450 }
451 }
452 }
453 }
454 }
455
463 function renderItem($a_item_data,$a_position = 0,$a_force_icon = false, $a_pos_prefix = "")
464 {
465 global $ilSetting,$ilAccess,$ilCtrl;
466
467 // Pass type, obj_id and tree to checkAccess method to improve performance
468 if(!$ilAccess->checkAccess('visible','',$a_item_data['ref_id'],$a_item_data['type'],$a_item_data['obj_id'],$a_item_data['tree']))
469 {
470 return '';
471 }
472 $item_list_gui = $this->getItemGUI($a_item_data);
473 if ($ilSetting->get("icon_position_in_lists") == "item_rows" ||
474 $a_item_data["type"] == "sess" || $a_force_icon)
475 {
476 $item_list_gui->enableIcon(true);
477 }
478
479 if ($this->getContainerGUI()->isActiveAdministrationPanel() && !$_SESSION["clipboard"])
480 {
481 $item_list_gui->enableCheckbox(true);
482 }
483 else if ($this->getContainerGUI()->isMultiDownloadEnabled())
484 {
485 // display multi download checkboxes
486 $item_list_gui->enableDownloadCheckbox($a_item_data["ref_id"], true);
487 }
488
489 if ($this->getContainerGUI()->isActiveItemOrdering() && ($a_item_data['type'] != 'sess' || get_class($this) != 'ilContainerSessionsContentGUI'))
490 {
491 $item_list_gui->setPositionInputField($a_pos_prefix."[".$a_item_data["ref_id"]."]",
492 sprintf('%d', (int)$a_position*10));
493 }
494
495 if($a_item_data['type'] == 'sess' and get_class($this) != 'ilContainerObjectiveGUI')
496 {
497 switch($this->getDetailsLevel($a_item_data['obj_id']))
498 {
500 $item_list_gui->setDetailsLevel(ilObjectListGUI::DETAILS_MINIMAL);
501 $item_list_gui->enableExpand(true);
502 $item_list_gui->setExpanded(false);
503 $item_list_gui->enableDescription(false);
504 $item_list_gui->enableProperties(true);
505 break;
506
508 $item_list_gui->setDetailsLevel(ilObjectListGUI::DETAILS_ALL);
509 $item_list_gui->enableExpand(true);
510 $item_list_gui->setExpanded(true);
511 $item_list_gui->enableDescription(true);
512 $item_list_gui->enableProperties(true);
513 break;
514
515 default:
516 $item_list_gui->setDetailsLevel(ilObjectListGUI::DETAILS_ALL);
517 $item_list_gui->enableExpand(true);
518 $item_list_gui->enableDescription(true);
519 $item_list_gui->enableProperties(true);
520 break;
521 }
522 }
523
524 if(method_exists($this, "addItemDetails"))
525 {
526 $this->addItemDetails($item_list_gui, $a_item_data);
527 }
528
529 // show subitems
530 if($a_item_data['type'] == 'sess' and (
531 $this->getDetailsLevel($a_item_data['obj_id']) != self::DETAILS_TITLE or
532 $this->getContainerGUI()->isActiveAdministrationPanel() or
533 $this->getContainerGUI()->isActiveItemOrdering()
534 )
535 )
536 {
537 $pos = 1;
538
539 include_once('./Services/Container/classes/class.ilContainerSorting.php');
540 include_once('./Services/Object/classes/class.ilObjectActivation.php');
541 $items = ilObjectActivation::getItemsByEvent($a_item_data['obj_id']);
542 $items = ilContainerSorting::_getInstance($this->getContainerObject()->getId())->sortSubItems('sess',$a_item_data['obj_id'],$items);
544
545 $item_readable = $ilAccess->checkAccess('read','',$a_item_data['ref_id']);
546
547 foreach($items as $item)
548 {
549 // TODO: this should be removed and be handled by if(strlen($sub_item_html))
550 // see mantis: 0003944
551 if(!$ilAccess->checkAccess('visible','',$item['ref_id']))
552 {
553 continue;
554 }
555
556 $item_list_gui2 = $this->getItemGUI($item);
557 $item_list_gui2->enableIcon(true);
558 $item_list_gui2->enableItemDetailLinks(false);
559
560 // unique js-ids
561 $item_list_gui2->setParentRefId($a_item_data['ref_id']);
562
563 // @see mantis 10488
564 if(!$item_readable and !$ilAccess->checkAccess('write','',$item['ref_id']))
565 {
566 $item_list_gui2->forceVisibleOnly(true);
567 }
568
569 if ($this->getContainerGUI()->isActiveAdministrationPanel() && !$_SESSION["clipboard"])
570 {
571 $item_list_gui2->enableCheckbox(true);
572 }
573 else if ($this->getContainerGUI()->isMultiDownloadEnabled())
574 {
575 // display multi download checkbox
576 $item_list_gui2->enableDownloadCheckbox($item['ref_id'], true);
577 }
578
579 if ($this->getContainerGUI()->isActiveItemOrdering())
580 {
581 $item_list_gui2->setPositionInputField("[sess][".$a_item_data['obj_id']."][".$item["ref_id"]."]",
582 sprintf('%d', (int)$pos*10));
583 $pos++;
584 }
585
586 // #10611
588
589 $sub_item_html = $item_list_gui2->getListItemHTML($item['ref_id'],
590 $item['obj_id'], $item['title'], $item['description']);
591
592 $this->determineAdminCommands($item["ref_id"],$item_list_gui2->adminCommandsIncluded());
593 if(strlen($sub_item_html))
594 {
595 $item_list_gui->addSubItemHTML($sub_item_html);
596 }
597 }
598 }
599
600
601 if ($ilSetting->get("item_cmd_asynch"))
602 {
603 $asynch = true;
604 $ilCtrl->setParameter($this->container_gui, "cmdrefid", $a_item_data['ref_id']);
605 $asynch_url = $ilCtrl->getLinkTarget($this->container_gui,
606 "getAsynchItemList", "", true, false);
607 $ilCtrl->setParameter($this->container_gui, "cmdrefid", "");
608
609 //#0020343
610 $fold_set = new ilSetting('fold');
611 if ($a_item_data['type'] == 'fold' && $fold_set->get("bgtask_download") && $fold_set->get("enable_download_folder")) {
612 include_once "Services/BackgroundTask/classes/class.ilFolderDownloadBackgroundTaskHandler.php";
614 }
615 }
616
617 include_once "Services/Object/classes/class.ilObjectActivation.php";
618 ilObjectActivation::addListGUIActivationProperty($item_list_gui, $a_item_data);
619
620 $html = $item_list_gui->getListItemHTML($a_item_data['ref_id'],
621 $a_item_data['obj_id'], $a_item_data['title'], $a_item_data['description'],
622 $asynch, false, $asynch_url);
623 $this->determineAdminCommands($a_item_data["ref_id"],
624 $item_list_gui->adminCommandsIncluded());
625
626
627 return $html;
628 }
629
633 function insertPageEmbeddedBlocks($a_output_html)
634 {
635 $this->determinePageEmbeddedBlocks($a_output_html);
636 $this->renderPageEmbeddedBlocks($this->items);
637
638 // iterate all types
639 foreach ($this->getGroupedObjTypes() as $type => $v)
640 {
641 // set template (overall or type specific)
642 if (is_int(strpos($a_output_html, "[list-".$type."]")))
643 {
644 $a_output_html = preg_replace('~\[list-'.$type.'\]~i',
645 $this->renderer->renderSingleTypeBlock($type), $a_output_html);
646 }
647 }
648
649 // insert all item groups
650 while (preg_match('~\[(item-group-([0-9]*))\]~i', $a_output_html, $found))
651 {
652 $itgr_ref_id = (int) $found[2];
653
654 $a_output_html = preg_replace('~\['.$found[1].'\]~i',
655 $this->renderer->renderSingleCustomBlock($itgr_ref_id), $a_output_html);
656 }
657
658 return $a_output_html;
659 }
660
667 {
668 global $objDefinition;
669
670 if (empty($this->type_grps))
671 {
672 $this->type_grps =
673 $objDefinition->getGroupedRepositoryObjectTypes($this->getContainerObject()->getType());
674 }
675 return $this->type_grps;
676 }
677
682 {
683 global $ilUser, $lng, $ilCtrl;
684
685 $lng->loadLanguageModule("rep");
686
687 $tpl = new ilTemplate("tpl.rep_intro.html", true, true, "Services/Repository");
688 $tpl->setVariable("IMG_REP_LARGE", ilObject::_getIcon("", "big", "root"));
689 $tpl->setVariable("TXT_WELCOME", $lng->txt("rep_intro"));
690 $tpl->setVariable("TXT_INTRO_1", $lng->txt("rep_intro1"));
691 $tpl->setVariable("TXT_INTRO_2", $lng->txt("rep_intro2"));
692 $tpl->setVariable("TXT_INTRO_3", sprintf($lng->txt("rep_intro3"), $lng->txt("add")));
693 $tpl->setVariable("TXT_INTRO_4", sprintf($lng->txt("rep_intro4"), $lng->txt("cat_add")));
694 $tpl->setVariable("TXT_INTRO_5", $lng->txt("rep_intro5"));
695 $tpl->setVariable("TXT_INTRO_6", $lng->txt("rep_intro6"));
696
697 return $tpl->get();
698 }
699
706 function getItemGroupsHTML($a_pos = 0)
707 {
708 if (is_array($this->items["itgr"]))
709 {
710 foreach ($this->items["itgr"] as $itgr)
711 {
712 if (!$this->renderer->hasCustomBlock($itgr["child"]))
713 {
714 $this->renderItemGroup($itgr);
715
716 $this->renderer->setBlockPosition($itgr["ref_id"], ++$a_pos);
717 }
718 }
719 }
720 return $a_pos;
721 }
722
729 function renderItemGroup($a_itgr)
730 {
731 global $ilAccess;
732
733 // #16493
734 $perm_ok = ($ilAccess->checkAccess("visible", "", $a_itgr['ref_id']) &&
735 $ilAccess->checkAccess("read", "", $a_itgr['ref_id']));
736
737 include_once('./Services/Container/classes/class.ilContainerSorting.php');
738 include_once('./Services/Object/classes/class.ilObjectActivation.php');
739 $items = ilObjectActivation::getItemsByItemGroup($a_itgr['ref_id']);
740
741 // if no permission is given, set the items to "rendered" but
742 // do not display the whole block
743 if (!$perm_ok)
744 {
745 foreach($items as $item)
746 {
747 $this->renderer->hideItem($item["child"]);
748 }
749 return;
750 }
751
752 $item_list_gui = $this->getItemGUI($a_itgr);
753 $item_list_gui->enableNotes(false);
754 $item_list_gui->enableTags(false);
755 $item_list_gui->enableComments(false);
756 $item_list_gui->enableTimings(false);
757 $item_list_gui->getListItemHTML($a_itgr["ref_id"], $a_itgr["obj_id"],
758 $a_itgr["title"], $a_itgr["description"]);
759 $commands_html = $item_list_gui->getCommandsHTML();
760
761 include_once("./Modules/ItemGroup/classes/class.ilObjItemGroup.php");
762 if (ilObjItemGroup::lookupHideTitle($a_itgr["obj_id"]) &&
763 !$this->getContainerGUI()->isActiveAdministrationPanel())
764 {
765 $this->renderer->addCustomBlock($a_itgr["ref_id"], "", $commands_html);
766 }
767 else
768 {
769 $this->renderer->addCustomBlock($a_itgr["ref_id"], $a_itgr["title"], $commands_html);
770 }
771
772
773 // render item group sub items
774
776 $this->getContainerObject()->getId())->sortSubItems('itgr', $a_itgr['obj_id'], $items);
777
778 // #18285
780
781 $position = 1;
782 foreach($items as $item)
783 {
784 // we are NOT using hasItem() here, because item might be in multiple item groups
785 $html2 = $this->renderItem($item, $position++, false, "[itgr][".$a_itgr['obj_id']."]");
786 if ($html2 != "")
787 {
788 // :TODO: show it multiple times?
789 $this->renderer->addItemToBlock($a_itgr["ref_id"], $item["type"], $item["child"], $html2, true);
790 }
791 }
792 }
793}
794
795?>
sprintf('%.4f', $callTime)
$html2
Definition: 42richText.php:71
global $tpl
Definition: ilias.php:8
$_SESSION["AccountId"]
An exception for terminatinating execution or to throw for unit testing.
const IL_SCREEN_SIDE
const IL_COL_RIGHT
const IL_SCREEN_FULL
const IL_COL_LEFT
static _recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
Column user interface class.
static getScreenMode()
Get Screen Mode for current command.
static getCmdSide()
Get Column Side of Current Command.
Parent class of all container content GUIs.
initRenderer()
Init container renderer.
getEmbeddedBlocks()
Get page embedded blocks.
getContainerObject()
Get container object.
getContainerGUI()
Get container GUI object.
getCenterColumnHTML()
Get HTML for center column.
renderItem($a_item_data, $a_position=0, $a_force_icon=false, $a_pos_prefix="")
Render an item.
setOutput()
Sets view output into column layout.
__forwardToColumnGUI()
Get columngui output.
getRightColumnHTML()
Get HTML for right column.
getGroupedObjTypes()
Get grouped repository object types.
addEmbeddedBlock($block_type, $block_parameter)
Add embedded block.
insertPageEmbeddedBlocks($a_output_html)
Insert blocks into container page.
getMainContent()
Get content HTML for main column, this one must be overwritten in derived classes.
getDetailsLevel($a_item_id)
get details level
getItemGroupsHTML($a_pos=0)
Get item groups HTML.
renderPageEmbeddedBlocks()
Render Page Embedded Blocks.
renderItemGroup($a_itgr)
Render item group.
getItemGUI($item_data, $a_show_path=false)
Get ListGUI object for item.
__construct(&$container_gui_obj)
Constructor.
determineAdminCommands($a_ref_id, $a_admin_com_included_in_list=false)
determin admin commands
determinePageEmbeddedBlocks($a_container_page_html)
Determine all blocks that are embedded in the container page.
clearAdminCommandsDetermination()
cleaer administration commands determination
Class ilContainerRenderer.
static _getInstance($a_obj_id)
get instance by obj_id
static getCompleteDescriptions(array $objects)
overwrites description fields to long or short description in an assoc array keys needed (obj_id and ...
static lookupHideTitle($a_id)
Lookup hide title.
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.
static getItemsByEvent($a_event_id)
Get session material / event items.
static getItemsByItemGroup($a_item_group_ref_id)
Get materials of item group.
static _getListGUIByType($a_type, $a_context=ilObjectListGUI::CONTEXT_REPOSITORY)
static _lookupObjId($a_id)
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _lookupType($a_id, $a_reference=false)
lookup object type
ILIAS Setting Class.
special template class to simplify handling of ITX/PEAR
UI interface hook processor.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
$html
Definition: example_001.php:87
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:17
global $ilSetting
Definition: privfeed.php:17
$ref_id
Definition: sahs_server.php:39
global $ilDB
$ilUser
Definition: imgupload.php:18