68 protected \ILIAS\DI\UIServices
$ui;
74 protected \ILIAS\Container\Content\BlockSessionRepository
$block_repo;
78 bool $a_enable_manage_select_all =
false,
79 bool $a_enable_multi_download =
false,
80 bool $a_active_block_ordering =
false,
81 array $a_block_custom_positions = [],
90 $this->
lng = $DIC->language();
92 $this->
ui = $DIC->ui();
93 $this->obj_definition =
$DIC[
"objDefinition"];
94 $this->enable_manage_select_all = $a_enable_manage_select_all;
95 $this->enable_multi_download = $a_enable_multi_download;
96 $this->active_block_ordering = $a_active_block_ordering;
97 $this->block_custom_pos = $a_block_custom_positions;
98 $this->view_mode = $a_view_mode;
100 $obj = $container_gui_obj;
101 $this->container_gui = $obj;
102 $this->
ctrl = $DIC->ctrl();
103 $this->
user = $DIC->user();
104 $this->
access = $DIC->access();
106 $this->item_renderer =
$DIC->container()
111 $this->container_gui,
114 $this->objective_renderer =
$DIC->container()
119 $this->container_gui,
123 $this->block_repo =
$DIC
129 $this->item_manager =
$DIC
134 ->items($this->container_gui->getObject());
139 $this->block_prefix_closure =
$f;
144 $this->block_postfix_closure =
$f;
149 $this->item_hidden_closure =
$f;
154 $this->item_renderer->setItemModifierClosure(
$f);
155 $this->item_modifier_closure =
$f;
169 ?
string $a_prefix =
null,
170 ?
string $a_postfix =
null
172 if ($a_type !==
"itgr" &&
174 $this->type_blocks[$a_type] = [
175 "prefix" => $a_prefix
176 ,
"postfix" => $a_postfix
185 return array_key_exists($a_type, $this->type_blocks);
195 ?
string $a_actions =
null,
198 if (!$this->hasCustomBlock($a_id)) {
199 $this->custom_blocks[$a_id] = [
200 "caption" => $a_caption
201 ,
"actions" => $a_actions
215 return array_key_exists($a_id, $this->custom_blocks);
224 return ($this->hasTypeBlock($a_id) ||
225 $this->hasCustomBlock($a_id));
241 $this->hidden_items[$a_id] =
true;
253 if (!$this->hasItem($a_id)) {
257 unset($this->item_ids[$a_id], $this->hidden_items[$a_id]);
259 foreach (array_keys($this->items) as $item_id) {
260 $parts = explode(self::UNIQUE_SEPARATOR, $item_id);
261 if (array_pop(
$parts) == $a_id) {
262 unset($this->items[$item_id]);
266 foreach ($this->block_items as $block_id => $items) {
267 foreach ($items as $idx => $item_id) {
268 $parts = explode(self::UNIQUE_SEPARATOR, $item_id);
269 if (array_pop(
$parts) == $a_id) {
270 unset($this->block_items[$block_id][$idx]);
271 if (!count($this->block_items[$block_id])) {
272 unset($this->block_items[$block_id]);
287 return (array_key_exists($a_id, $this->item_ids) ||
288 array_key_exists($a_id, $this->hidden_items));
303 bool $a_force =
false
305 if ($a_item_type !==
"itgr" &&
306 $this->isValidBlock($a_block_id) &&
307 (!$this->hasItem($a_item_id) || $a_force)) {
308 if (is_string($a_item_html) && trim($a_item_html) ===
"") {
317 $uniq_id = $a_block_id . self::UNIQUE_SEPARATOR . $a_item_id;
319 $this->items[$uniq_id] = [
320 "type" => $a_item_type
321 ,
"html" => $a_item_html
325 $this->addItemId($a_item_id);
326 $this->block_items[$a_block_id][] = $uniq_id;
337 $this->item_ids[$a_item_id] =
true;
346 $this->show_more[] = $a_block_id;
352 bool $a_active =
false
354 $this->details[$a_level] = [
356 ,
"active" => $a_active
377 if ($this->isValidBlock($a_block_id)) {
378 $this->block_pos[$a_block_id] = $a_pos;
386 $block_tpl = $this->initBlockTemplate();
388 foreach ($this->processBlockPositions() as $block_id) {
389 if (array_key_exists($block_id, $this->custom_blocks) && $this->renderHelperCustomBlock(
393 $this->addSeparatorRow($block_tpl);
396 if (array_key_exists($block_id, $this->type_blocks) && $this->renderHelperTypeBlock(
400 $this->addSeparatorRow($block_tpl);
406 $this->renderDetails($block_tpl);
408 return $block_tpl->get();
415 $block_tpl = $this->initBlockTemplate();
416 if ($this->renderHelperTypeBlock($block_tpl, $a_type,
true, $exhausted)) {
417 return $block_tpl->get();
427 $block_tpl = $this->initBlockTemplate();
429 if ($this->renderHelperCustomBlock($block_tpl, $a_id,
true)) {
430 return $block_tpl->get();
443 if (is_array($this->block_custom_pos) && count($this->block_custom_pos)) {
444 $tmp = $this->block_pos;
445 $this->block_pos = [];
446 foreach ($this->block_custom_pos as $idx => $block_id) {
447 if ($this->isValidBlock($block_id)) {
448 $this->block_pos[$block_id] = $idx;
453 if (count($this->block_pos)) {
455 $last = max($this->block_pos);
456 foreach (array_keys($tmp) as $block_id) {
457 if (!array_key_exists($block_id, $this->block_pos)) {
458 $this->block_pos[$block_id] = ++$last;
464 $this->block_pos = $tmp;
469 $last = count($this->block_pos)
470 ? max($this->block_pos)
472 foreach (array_keys($this->custom_blocks) as $block_id) {
473 if (!array_key_exists($block_id, $this->block_pos)) {
474 $this->block_pos[$block_id] = ++$last;
477 foreach (array_keys($this->type_blocks) as $block_id) {
478 if (!array_key_exists($block_id, $this->block_pos)) {
479 $this->block_pos[$block_id] = ++$last;
483 asort($this->block_pos);
484 return array_keys($this->block_pos);
493 bool $a_is_single =
false,
494 bool $is_exhausted =
false
496 if ($this->hasCustomBlock($a_block_id)) {
497 return $this->renderHelperGeneric($a_block_tpl, $a_block_id, $this->custom_blocks[$a_block_id], $a_is_single, $is_exhausted);
505 bool $a_is_single =
false,
506 bool $is_exhausted =
false
508 if ($this->hasTypeBlock($a_type)) {
509 $block = $this->type_blocks[$a_type];
510 $block[
"type"] = $a_type;
511 return $this->renderHelperGeneric($a_block_tpl, $a_type, $block, $a_is_single, $is_exhausted);
520 if ($item_group->getListPresentation() !==
"") {
521 $view_mode = ($item_group->getListPresentation() ===
"tile")
531 return $item_group->getListPresentation();
541 bool $a_is_single =
false,
542 bool $is_exhausted =
false
545 if (!in_array($a_block_id, $this->rendered_blocks)) {
546 $this->rendered_blocks[] = $a_block_id;
548 if (isset($this->block_items[$a_block_id]) && is_array($this->block_items[$a_block_id])) {
549 foreach ($this->block_items[$a_block_id] as $item_id) {
550 if (isset($this->items[$item_id][
"type"])) {
551 $block_types[] = $this->items[$item_id][
"type"];
558 $view_mode = $this->getViewMode();
562 if (is_numeric($a_block_id)) {
564 if ($item_group->getListPresentation() !==
"") {
565 $view_mode = ($item_group->getListPresentation() ===
"tile" && !$this->active_block_ordering && !$this->admin_panel)
568 $tile_size = $item_group->getTileSize();
574 if ((isset($this->block_items[$a_block_id]) && is_array($this->block_items[$a_block_id])) ||
575 is_numeric($a_block_id)) {
578 $order_id = (!$a_is_single && $this->active_block_ordering)
583 $a_block[
"type"] ??
'',
584 $a_block[
"caption"] ??
'',
585 array_unique($block_types),
586 $a_block[
"actions"] ??
'',
588 $a_block[
"data"] ?? []
592 if (isset($a_block[
"prefix"]) && $a_block[
"prefix"]) {
593 $this->addStandardRow($a_block_tpl, $a_block[
"prefix"]);
597 if (isset($this->block_items[$a_block_id])) {
598 foreach ($this->block_items[$a_block_id] as $item_id) {
600 $this->addStandardRow($a_block_tpl, $this->items[$item_id][
"html"], $item_id);
602 $cards[] = $this->items[$item_id][
"html"];
608 if (isset($a_block[
"postfix"]) && $a_block[
"postfix"]) {
609 $this->addStandardRow($a_block_tpl, $a_block[
"postfix"]);
614 $f = $this->
ui->factory();
618 switch ($tile_size) {
620 $deck =
$f->deck($cards)->withSmallCardsSize();
624 $deck =
$f->deck($cards)->withLargeCardsSize();
628 $deck =
$f->deck($cards)->withExtraLargeCardsSize();
632 $deck =
$f->deck($cards)->withFullSizedCardsSize();
636 $deck =
$f->deck($cards)->withNormalCardsSize();
649 $ctrl->setParameter($this->container_gui,
"type", $a_block_id);
650 $url = $ctrl->getLinkTarget($this->container_gui,
"renderBlockAsynch",
"",
true);
651 $ctrl->setParameter($this->container_gui,
"type",
"");
653 $f = $this->
ui->factory();
655 $button =
$f->button()->standard($this->
lng->txt(
"cont_show_more"),
"")
656 ->withLoadingAnimationOnClick(
true)
657 ->withOnLoadCode(
function (
$id) use ($a_block_id,
$url) {
658 return "il.Container.initShowMore('$id', '$a_block_id', '" .
$url .
"');";
660 if ($ctrl->isAsynch()) {
679 return new ilTemplate(
"tpl.container_list_block.html",
true,
true,
"components/ILIAS/Container");
691 ?array $a_types_in_block =
null,
692 string $a_commands_html =
"",
693 string $a_order_id =
"",
698 $objDefinition = $this->obj_definition;
700 $a_tpl->
setVariable(
"CB_ID",
' id="bl_cntr_' . (++$this->bl_cnt) .
'"');
702 if ($this->enable_manage_select_all) {
703 $this->renderSelectAllBlock($a_tpl);
704 } elseif ($this->enable_multi_download) {
706 $a_types_in_block = [$a_type];
708 foreach ($a_types_in_block as $type) {
709 if (in_array($type, $this->getDownloadableTypes(),
true)) {
710 $this->renderSelectAllBlock($a_tpl);
716 if ($a_text ===
"" && $a_type !==
"") {
717 if (!$objDefinition->isPlugin($a_type)) {
718 $title =
$lng->txt(
"objs_" . $a_type);
721 $title = $pl->txt(
"objs_" . $a_type);
727 if (is_array($a_data)) {
728 foreach ($a_data as $k => $v) {
740 if ($a_type !==
"" &&
$ilSetting->get(
"icon_position_in_lists") !==
"item_rows") {
750 if ($a_order_id !==
"") {
757 $presentation_title = $title;
759 if (trim($title) ===
"") {
760 $presentation_title = $this->
lng->txt(
"cont_no_title");
761 $sr_only =
"sr-only";
763 $a_tpl->
setVariable(
"BLOCK_HEADER_CONTENT", $presentation_title);
765 $a_tpl->
setVariable(
"CHR_COMMANDS", $a_commands_html);
772 ?
string $a_item_id =
null
776 $a_tpl->
setVariable(
"ROW_ID",
'id="item_row_' . $a_item_id .
'"');
797 $a_tpl->
setVariable(
"CHECKBOXNAME",
"bl_cb_" . $this->bl_cnt);
798 $a_tpl->
setVariable(
"SEL_ALL_PARENT",
"bl_cntr_" . $this->bl_cnt);
799 $a_tpl->
setVariable(
"SEL_ALL_PARENT",
"bl_cntr_" . $this->bl_cnt);
815 return [
"fold",
"file"];
822 if (count($this->details)) {
835 return $this->item_renderer;
840 return $this->container_gui->getContainerPageHTML();
845 if ($this->container_gui->isActiveAdministrationPanel()) {
848 if ($this->item_manager->getExpanded($a_item_id) !==
null) {
849 return $this->item_manager->getExpanded($a_item_id);
862 $page_html = $this->renderContainerPage();
863 $block_tpl = $this->initBlockTemplate();
866 foreach ($this->item_presentation->getAllRefIds() as
$ref_id) {
867 $rd = $this->item_presentation->getRawDataByRefId(
$ref_id);
868 $preloader->addItem($rd[
"obj_id"], $rd[
"type"],
$ref_id);
869 if ($rd[
"type"] ===
"sess") {
871 foreach ($ev_items as $ev_item) {
872 $preloader->addItem((
int) $ev_item[
"obj_id"], $ev_item[
"type"], $ev_item[
"ref_id"]);
876 $preloader->preload();
878 $embedded_block_ids = $this->item_presentation->getPageEmbeddedBlockIds();
879 foreach ($sequence->
getBlocks() as $block) {
881 $force_item_even_if_already_rendered =
false;
882 if ($block->getBlock() instanceof \
ILIAS\Container\Content\ItemGroupBlock) {
883 $block_id = (string) $block->getBlock()->getRefId();
884 $force_item_even_if_already_rendered =
true;
886 if ($block->getBlock() instanceof \ILIAS\Container\Content\TypeBlock) {
887 $block_id = $block->getBlock()->getType();
888 if ($block->getPageEmbedded()) {
889 $force_item_even_if_already_rendered =
true;
892 if ($block->getBlock() instanceof \ILIAS\Container\Content\SessionBlock) {
895 if ($block->getBlock() instanceof \ILIAS\Container\Content\OtherBlock) {
896 $block_id =
"_other";
898 if ($block->getBlock() instanceof \ILIAS\Container\Content\ObjectivesBlock) {
906 if ($block->getBlock() instanceof \ILIAS\Container\Content\ItemGroupBlock) {
907 $this->addItemGroupBlock($block_id);
910 if ($block->getBlock() instanceof \
ILIAS\Container\Content\OtherBlock) {
911 $title = $this->item_presentation->filteredSubtree()
912 ? $this->
lng->txt(
"cont_found_objects")
913 : $this->
lng->txt(
"content");
914 $this->addCustomBlock($block_id, $title);
916 if ($block->getBlock() instanceof \
ILIAS\Container\Content\TypeBlock ||
917 $block->getBlock() instanceof \
ILIAS\Container\Content\SessionBlock) {
920 $this->getBlockPrefix($block_id),
921 $this->getBlockPostfix($block_id)
926 foreach ($block->getItemRefIds() as
$ref_id) {
927 if ($this->isItemHidden($block_id,
$ref_id)) {
930 if (!$this->
access->checkAccess(
'visible',
'', $ref_id)) {
934 $item_data = $this->item_presentation->getRawDataByRefId(
$ref_id);
935 if ($item_data ===
null) {
939 if ($this->container_gui->isActiveAdministrationPanel()) {
941 } elseif ($this->container_gui->isMultiDownloadEnabled()) {
944 $item_group_list_presentation =
"";
945 if ($block->getBlock() instanceof \
ILIAS\Container\Content\ItemGroupBlock) {
946 if ($this->getListPresentationOfItemGroup((
int) $block_id) ===
"tile") {
947 if (!$this->admin_panel && !$this->active_block_ordering) {
948 $item_group_list_presentation =
"tile";
951 if ($this->getListPresentationOfItemGroup((
int) $block_id) ===
"list") {
952 if (!$this->admin_panel && !$this->active_block_ordering) {
953 $item_group_list_presentation =
"list";
957 $html = $this->item_renderer->renderItem(
962 $item_group_list_presentation,
964 $this->item_presentation->isActiveItemOrdering($item_data[
"type"]),
965 $this->getDetailsLevel($item_data[
"obj_id"])
968 $this->addItemToBlock(
973 $force_item_even_if_already_rendered
979 if ($block->getPageEmbedded()) {
980 if ($block->getBlock() instanceof \
ILIAS\Container\Content\TypeBlock ||
981 $block->getBlock() instanceof \
ILIAS\Container\Content\SessionBlock) {
982 $page_html = preg_replace(
983 '~\[list-' . $block->getId() .
'\]~i',
984 $this->renderSingleTypeBlock($block->getId(), $block->getLimitExhausted()),
988 } elseif ($block->getBlock() instanceof \
ILIAS\Container\Content\ItemGroupBlock) {
989 $page_html = preg_replace(
990 '~\[item-group-' . $block->getId() .
'\]~i',
991 $this->renderSingleCustomBlock((
int) $block->getId()),
995 } elseif ($block->getBlock() instanceof \
ILIAS\Container\Content\OtherBlock) {
996 $page_html = preg_replace(
997 '~\[list-_other\]~i',
998 $this->renderSingleCustomBlock($block->getId()),
1002 } elseif ($block->getBlock() instanceof \
ILIAS\Container\Content\ObjectivesBlock) {
1003 $page_html = preg_replace(
1004 '~\[list-_lobj\]~i',
1005 $this->objective_renderer->renderObjectives(),
1011 if ($block->getBlock() instanceof \
ILIAS\Container\Content\ItemGroupBlock ||
1012 $block->getBlock() instanceof \
ILIAS\Container\Content\OtherBlock) {
1013 if ($this->renderHelperCustomBlock($block_tpl, $block_id,
false, $block->getLimitExhausted())) {
1014 $this->addSeparatorRow($block_tpl);
1018 if ($block->getBlock() instanceof \
ILIAS\Container\Content\TypeBlock ||
1019 $block->getBlock() instanceof \
ILIAS\Container\Content\SessionBlock) {
1020 if ($this->renderHelperTypeBlock($block_tpl, $block_id,
false, $block->getLimitExhausted())) {
1021 $this->addSeparatorRow($block_tpl);
1025 if ($block->getBlock() instanceof \
ILIAS\Container\Content\ObjectivesBlock) {
1026 $this->objective_renderer->renderObjectives();
1027 $block_tpl->setVariable(
1029 $this->objective_renderer->getContent()
1031 $this->addSeparatorRow($block_tpl);
1038 foreach ($this->item_presentation->getPageEmbeddedBlockIds() as
$id) {
1039 if (is_numeric(
$id)) {
1040 $page_html = preg_replace(
1041 '~\[item-group-' .
$id .
'\]~i',
1046 $page_html = preg_replace(
1047 '~\[list-' .
$id .
'\]~i',
1055 $this->renderDetails($block_tpl);
1056 return $page_html . $block_tpl->get();
1064 array $already_rendered_items,
1068 $block = $this->getBlockById($sequence, $block_id);
1074 $ref_ids = $already_rendered_items;
1077 if (!is_null($block) && count($block->getItemRefIds()) > 0) {
1079 $this->addTypeBlock($block_id);
1084 foreach ($block->getItemRefIds() as $item_ref_id) {
1085 $item_data = $this->item_presentation->getRawDataByRefId($item_ref_id);
1086 if (in_array($item_ref_id, $ref_ids)) {
1091 if ($this->container_gui->isActiveAdministrationPanel()) {
1093 } elseif ($this->container_gui->isMultiDownloadEnabled()) {
1096 if (!$this->hasItem($item_ref_id)) {
1097 $html = $this->item_renderer->renderItem(
1104 $this->item_presentation->isActiveItemOrdering($item_data[
"type"]),
1107 $this->addItemToBlock($block_id, $item_data[
"type"], $item_ref_id, $html);
1111 if ($block_limit > 0 && $html !=
"" && $block->getLimitExhausted()) {
1112 $this->addShowMoreButton($block_id);
1118 return $this->renderSingleTypeBlock($block_id, $exhausted);
1125 foreach ($sequence->getBlocks() as $block) {
1126 if ($block->getId() === $block_id) {
1138 $item_data = $this->item_presentation->getRawDataByRefId((
int) $block_id);
1139 $item_list_gui = $this->item_renderer->getItemGUI($item_data);
1172 $item_list_gui->enableNotes(
false);
1173 $item_list_gui->enableTags(
false);
1174 $item_list_gui->enableComments(
false);
1175 $item_list_gui->enableTimings(
false);
1176 $item_list_gui->initItem(
1177 (
int) $item_data[
"ref_id"],
1178 (
int) $item_data[
"obj_id"],
1180 $item_data[
"title"],
1181 $item_data[
"description"]
1183 $commands_html = $item_list_gui->getCommandsHTML();
1187 $beh = $item_group->getBehaviour();
1188 $stored_val = $this->block_repo->getProperty(
1189 "itgr_" . $item_data[
"ref_id"],
1190 $this->
user->getId(),
1194 $beh = ($stored_val ===
"1")
1200 "behaviour" => $beh,
1201 "store-url" =>
"./ilias.php?baseClass=ilcontainerblockpropertiesstoragegui&cmd=store" .
1202 "&cont_block_id=itgr_" . $item_data[
'ref_id']
1205 !$this->container_gui->isActiveAdministrationPanel()) {
1206 $this->addCustomBlock($block_id,
"", $commands_html,
$data);
1208 $this->addCustomBlock($block_id, $item_data[
"title"], $commands_html,
$data);
1214 if ($this->block_prefix_closure instanceof Closure) {
1215 $c = $this->block_prefix_closure;
1216 return (
string)
$c($block_id);
1223 if ($this->block_postfix_closure instanceof Closure) {
1224 $c = $this->block_postfix_closure;
1225 return (
string)
$c($block_id);
1232 if ($this->item_hidden_closure instanceof Closure) {
1233 $c = $this->item_hidden_closure;
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
setVariable($variable, $value='')
Sets a variable value.
const DETAILS_DEACTIVATED
Class ilContainerGUI This is a base GUI class for all container objects in ILIAS: root folder,...
Class ilContainerRenderer.
setBlockPostfixClosure(Closure $f)
hasTypeBlock(string $a_type)
ILIAS Container Content ItemPresentationManager $item_presentation
addDetailsLevel(int $a_level, string $a_url, bool $a_active=false)
renderSingleTypeBlock(string $a_type, bool $exhausted=false)
getListPresentationOfItemGroup(int $ref_id)
bool $enable_manage_select_all
Closure $item_hidden_closure
removeItem($a_id)
Remove item (from any block)
setBlockPrefixClosure(Closure $f)
getDownloadableTypes()
Get downloadable repository object types.
setItemModifierClosure(Closure $f)
addTypeBlock(string $a_type, ?string $a_prefix=null, ?string $a_postfix=null)
getItemRenderer()
Render Item Block Sequence.
ILIAS Containter Content ItemRenderer $item_renderer
renderHelperTypeBlock(ilTemplate $a_block_tpl, string $a_type, bool $a_is_single=false, bool $is_exhausted=false)
addItemGroupBlock(string $block_id, int $block_pos=0)
replaces ilContainerContentGUI::renderItemGroup
getBlockPostfix($block_id)
renderItemBlockSequence(ItemBlockSequence $sequence)
addCustomBlock( $a_id, string $a_caption, ?string $a_actions=null, array $a_data=[])
Add custom block.
addItemToBlock( $a_block_id, string $a_item_type, $a_item_id, $a_item_html, bool $a_force=false)
Add item to existing block.
renderSingleCustomBlock($a_id)
setItemHiddenClosure(Closure $f)
ilContainerGUI $container_gui
hideItem($a_id)
Mark item id as used, but do not render.
bool $active_block_ordering
setBlockPosition( $a_block_id, int $a_pos)
hasCustomBlock($a_id)
Custom block already exists?
bool $enable_multi_download
ILIAS Container Content BlockSessionRepository $block_repo
renderSingleTypeBlockAsynch(ItemBlockSequence $sequence, string $block_id, array $already_rendered_items, int $block_limit)
Closure $item_modifier_closure
addShowMoreButton($a_block_id)
Add show more button to a block.
addHeaderRow(ilTemplate $a_tpl, string $a_type="", string $a_text="", ?array $a_types_in_block=null, string $a_commands_html="", string $a_order_id="", array $a_data=[])
Render block header.
getDetailsLevel(int $a_item_id)
getViewModeOfItemGroup(int $ref_id)
renderHelperCustomBlock(ilTemplate $a_block_tpl, $a_block_id, bool $a_is_single=false, bool $is_exhausted=false)
ILIAS Container Content ItemManager $item_manager
getBlockPrefix($block_id)
hasItem($a_id)
Item with id exists?
renderSelectAllBlock(ilTemplate $a_tpl)
Render "select all".
ILIAS Containter Content ObjectiveRenderer $objective_renderer
addSeparatorRow(ilTemplate $a_tpl)
renderDetails(ilTemplate $a_tpl)
Closure $block_postfix_closure
isItemHidden(string $block_id, int $ref_id)
addStandardRow(ilTemplate $a_tpl, string $a_html, ?string $a_item_id=null)
Closure $block_prefix_closure
getBlockById(ItemBlockSequence $sequence, string $block_id,)
isValidBlock($a_id)
Any block with id exists?
ilObjectDefinition $obj_definition
renderHelperGeneric(ilTemplate $a_block_tpl, $a_block_id, array $a_block, bool $a_is_single=false, bool $is_exhausted=false)
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
Class ilCtrl provides processing control methods.
static lookupHideTitle(int $a_id)
static getItemsByEvent(int $event_id)
Get session material / event items.
parses the objects.xml it handles the xml-description of all ilias objects
Preloader for object list GUIs.
static getPluginObjectByType(string $type)
Return either a repoObject plugin or a orgunit extension plugin or null if the type is not a plugin.
static _lookupObjId(int $ref_id)
special template class to simplify handling of ITX/PEAR
setCurrentBlock(string $part=ilGlobalTemplateInterface::DEFAULT_BLOCK)
parseCurrentBlock(string $part=ilGlobalTemplateInterface::DEFAULT_BLOCK)
touchBlock(string $block)
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
Interface ilAccessHandler This interface combines all available interfaces which can be called via gl...
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.
if(!file_exists('../ilias.ini.php'))