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 
16 abstract class ilContainerContentGUI
17 {
19  const DETAILS_TITLE = 1;
20  const DETAILS_ALL = 2;
21 
22  protected $details_level = self::DETAILS_DEACTIVATED;
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  {
51  return $this->details_level;
52  }
53 
59  public function getContainerObject()
60  {
61  return $this->container_obj;
62  }
63 
69  public function getContainerGUI()
70  {
71  return $this->container_gui;
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 
272  protected function clearAdminCommandsDetermination()
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 
391  function getEmbeddedBlocks()
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  {
499  case self::DETAILS_TITLE:
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 
507  case self::DETAILS_ALL:
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);
543  $items = ilContainer::getCompleteDescriptions($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
587  ilObjectActivation::addListGUIActivationProperty($item_list_gui2, $item);
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 
681  function getIntroduction()
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
779  $items = ilContainer::getCompleteDescriptions($items);
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 ?>
static lookupHideTitle($a_id)
Lookup hide title.
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.
ILIAS Setting Class.
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.
$_SESSION["AccountId"]
$html2
Definition: 42richText.php:71
static initObjectListAction()
init js for background download
getItemGUI($item_data, $a_show_path=false)
Get ListGUI object for item.
const IL_COL_RIGHT
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.
global $tpl
Definition: ilias.php:8
Parent class of all container content GUIs.
global $ilCtrl
Definition: ilias.php:18
getMainContent()
Get content HTML for main column, this one must be overwritten in derived classes.
const IL_SCREEN_FULL
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.
$ilUser
Definition: imgupload.php:18
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.
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.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
clearAdminCommandsDetermination()
cleaer administration commands determination
renderItemGroup($a_itgr)
Render item group.
static getScreenMode()
Get Screen Mode for current command.
static _getListGUIByType($a_type, $a_context=ilObjectListGUI::CONTEXT_REPOSITORY)
getCenterColumnHTML()
Get HTML for center column.
$ref_id
Definition: sahs_server.php:39
global $ilSetting
Definition: privfeed.php:17
global $lng
Definition: privfeed.php:17
global $ilDB
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.
const IL_SCREEN_SIDE
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.
$html
Definition: example_001.php:87
getGroupedObjTypes()
Get grouped repository object types.
const IL_COL_LEFT
setOutput()
Sets view output into column layout.