35 $this->container_gui = $container_gui_obj;
36 $this->container_obj = $this->container_gui->object;
84 if ($ilCtrl->getNextClass() ==
"ilcolumngui" &&
91 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
100 $obj_id, $ilUser->getId());
108 if ($ilCtrl->getNextClass() !=
"ilcolumngui" ||
109 !$ilCtrl->isAsynch())
123 $ilCtrl->saveParameterByClass(
"ilcolumngui",
"col_return");
128 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
138 if ($ilCtrl->getNextClass() ==
"ilcolumngui" &&
143 $html = $ilCtrl->forwardCommand($column_gui);
147 if (!$ilCtrl->isAsynch())
152 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
154 array(
"container_content_gui" => $this));
155 if (!$uip->replaced())
157 $html = $ilCtrl->getHTML($column_gui);
159 $html = $uip->getHTML($html);
173 $ilCtrl->saveParameterByClass(
"ilcolumngui",
"col_return");
175 $tpl->addOnLoadCode(
"il.Object.setRedrawListItemUrl('".
176 $ilCtrl->getLinkTarget($this->container_gui,
"redrawListItem",
"",
true).
"');");
178 $tpl->addOnLoadCode(
"il.Object.setRatingUrl('".
179 $ilCtrl->getLinkTargetByClass(array(get_class($this->container_gui),
"ilcommonactiondispatchergui",
"ilratinggui"),
180 "saveRating",
"",
true,
false).
"');");
182 switch ($ilCtrl->getNextClass())
185 $ilCtrl->setReturn($this->container_gui,
"");
190 $ilDB->useSlave(
true);
192 $ilDB->useSlave(
false);
210 include_once(
'./Services/Container/classes/class.ilContainerSorting.php');
213 include_once
"Services/Container/classes/class.ilContainerRenderer.php";
217 ,$this->
getContainerGUI()->isActiveOrdering() && (get_class($this) !=
"ilContainerObjectiveGUI")
218 ,$sorting->getBlockPositions()
229 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
237 if (!$ilCtrl->isAsynch())
247 $html = $ilCtrl->forwardCommand($column_gui);
254 $html = $ilCtrl->forwardCommand($column_gui);
271 $this->adminCommands =
false;
283 if (!$this->adminCommands)
287 if ($rbacsystem->checkAccess(
"delete", $a_ref_id))
289 $this->adminCommands =
true;
294 $this->adminCommands = $a_admin_com_included_in_list;
302 protected function getItemGUI($item_data,$a_show_path =
false)
304 include_once
'Services/Object/classes/class.ilObjectListGUIFactory.php';
307 if (!is_object ($this->list_gui[$item_data[
"type"]]))
311 $this->list_gui[$item_data[
"type"]] =& $item_list_gui;
315 $item_list_gui =& $this->list_gui[$item_data[
"type"]];
320 $item_list_gui->setParentRefId($item_data[
"parent"]);
322 $item_list_gui->setDefaultCommandParameters(array());
323 $item_list_gui->disableTitleLink(
false);
324 $item_list_gui->resetConditionTarget();
335 $item_list_gui->enableComments(
true);
336 $item_list_gui->enableNotes(
true);
337 $item_list_gui->enableTags(
true);
338 $item_list_gui->enableRating(
true);
341 $item_list_gui->forceVisibleOnly(
false);
344 $this->
getContainerGUI()->modifyItemGUI($item_list_gui, $item_data, $a_show_path);
346 return $item_list_gui;
357 foreach ($type_grps as $type => $v)
360 if (is_int(strpos($a_container_page_html,
"[list-".$type.
"]")))
367 while (eregi(
"\[(item-group-([0-9]*))\]", $a_container_page_html, $found))
371 $a_container_page_html = eregi_replace(
"\[".$found[1].
"\]", $html, $a_container_page_html);
382 $this->embedded_block[$block_type][] = $block_parameter;
390 return $this->embedded_block;
401 if (is_array($this->embedded_block[
"itgr"]))
403 $item_groups = array();
404 if (is_array($this->items[
"itgr"]))
406 foreach ($this->items[
"itgr"] as $ig)
408 $item_groups[$ig[
"ref_id"]] = $ig;
412 foreach ($this->embedded_block[
"itgr"] as
$ref_id)
414 if(isset($item_groups[$ref_id]))
422 if (is_array($this->embedded_block[
"type"]))
424 foreach ($this->embedded_block[
"type"] as $k => $type)
426 if (is_array($this->items[$type]) &&
427 $this->renderer->addTypeBlock($type))
432 $this->items[
'sess'] =
ilUtil::sortArray($this->items[
'sess'],
'start',
'ASC',
true,
true);
437 foreach($this->items[$type] as $k => $item_data)
439 if(!$this->renderer->hasItem($item_data[
"child"]))
441 $html = $this->
renderItem($item_data, $position++);
444 $this->renderer->addItemToBlock($type, $item_data[
"type"], $item_data[
"child"], $html);
460 function renderItem($a_item_data,$a_position = 0,$a_force_icon =
false, $a_pos_prefix =
"")
465 if(!$ilAccess->checkAccess(
'visible',
'',$a_item_data[
'ref_id'],$a_item_data[
'type'],$a_item_data[
'obj_id'],$a_item_data[
'tree']))
469 $item_list_gui = $this->
getItemGUI($a_item_data);
470 if ($ilSetting->get(
"icon_position_in_lists") ==
"item_rows" ||
471 $a_item_data[
"type"] ==
"sess" || $a_force_icon)
473 $item_list_gui->enableIcon(
true);
478 $item_list_gui->enableCheckbox(
true);
483 $item_list_gui->enableDownloadCheckbox($a_item_data[
"ref_id"],
true);
486 if ($this->
getContainerGUI()->isActiveItemOrdering() && ($a_item_data[
'type'] !=
'sess' || get_class($this) !=
'ilContainerSessionsContentGUI'))
488 $item_list_gui->setPositionInputField($a_pos_prefix.
"[".$a_item_data[
"ref_id"].
"]",
489 sprintf(
'%d', (
int)$a_position*10));
492 if($a_item_data[
'type'] ==
'sess' and get_class($this) !=
'ilContainerObjectiveGUI')
496 case self::DETAILS_TITLE:
498 $item_list_gui->enableExpand(
true);
499 $item_list_gui->setExpanded(
false);
500 $item_list_gui->enableDescription(
false);
501 $item_list_gui->enableProperties(
true);
504 case self::DETAILS_ALL:
506 $item_list_gui->enableExpand(
true);
507 $item_list_gui->setExpanded(
true);
508 $item_list_gui->enableDescription(
true);
509 $item_list_gui->enableProperties(
true);
514 $item_list_gui->enableExpand(
true);
515 $item_list_gui->enableDescription(
true);
516 $item_list_gui->enableProperties(
true);
521 if(method_exists($this,
"addItemDetails"))
523 $this->addItemDetails($item_list_gui, $a_item_data);
527 if($a_item_data[
'type'] ==
'sess' and (
528 $this->
getDetailsLevel($a_item_data[
'obj_id']) != self::DETAILS_TITLE or
536 include_once(
'./Services/Container/classes/class.ilContainerSorting.php');
537 include_once(
'./Services/Object/classes/class.ilObjectActivation.php');
542 $item_readable = $ilAccess->checkAccess(
'read',
'',$a_item_data[
'ref_id']);
544 foreach($items as $item)
548 if(!$ilAccess->checkAccess(
'visible',
'',$item[
'ref_id']))
554 $item_list_gui2->enableIcon(
true);
555 $item_list_gui2->enableItemDetailLinks(
false);
558 $item_list_gui2->setParentRefId($a_item_data[
'ref_id']);
561 if(!$item_readable and !$ilAccess->checkAccess(
'write',
'',$item[
'ref_id']))
563 $item_list_gui2->forceVisibleOnly(
true);
568 $item_list_gui2->enableCheckbox(
true);
573 $item_list_gui2->enableDownloadCheckbox($item[
'ref_id'],
true);
578 $item_list_gui2->setPositionInputField(
"[sess][".$a_item_data[
'obj_id'].
"][".$item[
"ref_id"].
"]",
579 sprintf(
'%d', (
int)$pos*10));
586 $sub_item_html = $item_list_gui2->getListItemHTML($item[
'ref_id'],
587 $item[
'obj_id'], $item[
'title'], $item[
'description']);
590 if(strlen($sub_item_html))
592 $item_list_gui->addSubItemHTML($sub_item_html);
597 if ($ilSetting->get(
"item_cmd_asynch"))
600 $ilCtrl->setParameter($this->container_gui,
"cmdrefid", $a_item_data[
'ref_id']);
601 $asynch_url = $ilCtrl->getLinkTarget($this->container_gui,
602 "getAsynchItemList",
"",
true,
false);
603 $ilCtrl->setParameter($this->container_gui,
"cmdrefid",
"");
606 include_once
"Services/Object/classes/class.ilObjectActivation.php";
609 $html = $item_list_gui->getListItemHTML($a_item_data[
'ref_id'],
610 $a_item_data[
'obj_id'], $a_item_data[
'title'], $a_item_data[
'description'],
611 $asynch,
false, $asynch_url);
613 $item_list_gui->adminCommandsIncluded());
631 if (is_int(strpos($a_output_html,
"[list-".$type.
"]")))
633 $a_output_html = eregi_replace(
"\[list-".$type.
"\]",
634 $this->renderer->renderSingleTypeBlock($type), $a_output_html);
639 while (eregi(
"\[(item-group-([0-9]*))\]", $a_output_html, $found))
641 $itgr_ref_id = (int) $found[2];
643 $a_output_html = eregi_replace(
"\[".$found[1].
"\]",
644 $this->renderer->renderSingleCustomBlock($itgr_ref_id), $a_output_html);
647 return $a_output_html;
657 global $objDefinition;
659 if (empty($this->type_grps))
662 $objDefinition->getGroupedRepositoryObjectTypes($this->
getContainerObject()->getType());
664 return $this->type_grps;
674 $lng->loadLanguageModule(
"rep");
676 $tpl =
new ilTemplate(
"tpl.rep_intro.html",
true,
true,
"Services/Repository");
678 $tpl->setVariable(
"TXT_WELCOME", $lng->txt(
"rep_intro"));
679 $tpl->setVariable(
"TXT_INTRO_1", $lng->txt(
"rep_intro1"));
680 $tpl->setVariable(
"TXT_INTRO_2", $lng->txt(
"rep_intro2"));
681 $tpl->setVariable(
"TXT_INTRO_3", sprintf($lng->txt(
"rep_intro3"), $lng->txt(
"add")));
682 $tpl->setVariable(
"TXT_INTRO_4", sprintf($lng->txt(
"rep_intro4"), $lng->txt(
"cat_add")));
683 $tpl->setVariable(
"TXT_INTRO_5", $lng->txt(
"rep_intro5"));
684 $tpl->setVariable(
"TXT_INTRO_6", $lng->txt(
"rep_intro6"));
697 if (is_array($this->items[
"itgr"]))
699 foreach ($this->items[
"itgr"] as $itgr)
701 if (!$this->renderer->hasCustomBlock($itgr[
"child"]))
705 $this->renderer->setBlockPosition($itgr[
"ref_id"], ++$a_pos);
723 $perm_ok = ($ilAccess->checkAccess(
"visible",
"", $a_itgr[
'ref_id']) &&
724 $ilAccess->checkAccess(
"read",
"", $a_itgr[
'ref_id']));
726 include_once(
'./Services/Container/classes/class.ilContainerSorting.php');
727 include_once(
'./Services/Object/classes/class.ilObjectActivation.php');
734 foreach($items as $item)
736 $this->renderer->hideItem($item[
"child"]);
742 $item_list_gui->enableNotes(
false);
743 $item_list_gui->enableTags(
false);
744 $item_list_gui->enableComments(
false);
745 $item_list_gui->enableTimings(
false);
746 $item_list_gui->getListItemHTML($a_itgr[
"ref_id"], $a_itgr[
"obj_id"],
747 $a_itgr[
"title"], $a_itgr[
"description"]);
748 $commands_html = $item_list_gui->getCommandsHTML();
750 $this->renderer->addCustomBlock($a_itgr[
"ref_id"], $a_itgr[
"title"], $commands_html);
756 $this->
getContainerObject()->getId())->sortSubItems(
'itgr', $a_itgr[
'obj_id'], $items);
762 foreach($items as $item)
764 $html2 = $this->
renderItem($item, $position++,
false,
"[itgr][".$a_itgr[
'obj_id'].
"]");
768 $this->renderer->addItemToBlock($a_itgr[
"ref_id"], $item[
"type"], $item[
"child"], $html2,
true);
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.
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static getCmdSide()
Get Column Side of Current Command.
static getItemsByEvent($a_event_id)
Get session material / event items.
getEmbeddedBlocks()
Get page embedded blocks.
getItemGUI($item_data, $a_show_path=false)
Get ListGUI object for item.
getItemGroupsHTML($a_pos=0)
Get item groups HTML.
UI interface hook processor.
renderPageEmbeddedBlocks()
Render Page Embedded Blocks.
initRenderer()
Init container renderer.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
__forwardToColumnGUI()
Get columngui output.
insertPageEmbeddedBlocks($a_output_html)
Insert blocks into container page.
Parent class of all container content GUIs.
getMainContent()
Get content HTML for main column, this one must be overwritten in derived classes.
getContainerGUI()
Get container GUI object.
Column user interface class.
getDetailsLevel($a_item_id)
get details level
static _lookupObjId($a_id)
special template class to simplify handling of ITX/PEAR
getContainerObject()
Get container object.
renderItem($a_item_data, $a_position=0, $a_force_icon=false, $a_pos_prefix="")
Render an item.
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.
static _lookupType($a_id, $a_reference=false)
lookup object type
clearAdminCommandsDetermination()
cleaer administration commands determination
renderItemGroup($a_itgr)
Render item group.
& _getListGUIByType($a_type)
_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.
static getScreenMode()
Get Screen Mode for current command.
getCenterColumnHTML()
Get HTML for center column.
getIntroduction()
Get introduction.
static getItemsByItemGroup($a_item_group_ref_id)
Get materials of item group.
static _getInstance($a_obj_id)
get instance by obj_id
__construct(&$container_gui_obj)
Constructor.
Class ilContainerRenderer.
static getCompleteDescriptions(array $objects)
overwrites description fields to long or short description in an assoc array keys needed (obj_id and ...
addEmbeddedBlock($block_type, $block_parameter)
Add embedded block.
getRightColumnHTML()
Get HTML for right column.
getGroupedObjTypes()
Get grouped repository object types.
const DETAILS_DEACTIVATED
setOutput()
Sets view output into column layout.