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');
108 if ($ilCtrl->getNextClass() !=
"ilcolumngui" ||
123 $ilCtrl->saveParameterByClass(
"ilcolumngui",
"col_return");
128 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
138 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
152 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
154 array(
"container_content_gui" => $this));
155 if (!$uip->replaced())
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");
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"]))
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')
498 $item_list_gui->enableExpand(
true);
499 $item_list_gui->setExpanded(
false);
500 $item_list_gui->enableDescription(
false);
501 $item_list_gui->enableProperties(
true);
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);
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 include_once(
"./Modules/ItemGroup/classes/class.ilObjItemGroup.php");
754 $this->renderer->addCustomBlock($a_itgr[
"ref_id"],
"", $commands_html);
758 $this->renderer->addCustomBlock($a_itgr[
"ref_id"], $a_itgr[
"title"], $commands_html);
765 $this->
getContainerObject()->getId())->sortSubItems(
'itgr', $a_itgr[
'obj_id'], $items);
771 foreach($items as $item)
774 $html2 = $this->
renderItem($item, $position++,
false,
"[itgr][".$a_itgr[
'obj_id'].
"]");
778 $this->renderer->addItemToBlock($a_itgr[
"ref_id"], $item[
"type"], $item[
"child"],
$html2,
true);
_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.
getIntroduction()
Get introduction.
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
const DETAILS_DEACTIVATED
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.
& _getListGUIByType($a_type)
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
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