ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilTimelineGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once("./Services/News/Timeline/interfaces/interface.ilTimelineItemInt.php");
6 
15 {
16  protected $items = array();
17 
21  protected $lng;
22 
26  protected $tpl;
27 
34  protected function __construct()
35  {
36  global $DIC;
37 
38  $this->lng = $DIC->language();
39  $this->tpl = $DIC["tpl"];
40  }
41 
48  static function getInstance()
49  {
50  return new self();
51  }
52 
59  function addItem(ilTimelineItemInt $a_item)
60  {
61  $this->items[] = $a_item;
62  }
63 
70  function render($a_items_only = false)
71  {
72  $this->tpl->addJavaScript("./Services/News/Timeline/js/Timeline.js");
73  $this->tpl->addJavaScript("./Services/News/Timeline/libs/jquery-dynamic-max-height-master/src/jquery.dynamicmaxheight.js");
74 
75  $t = new ilTemplate("tpl.timeline.html", true, true, "Services/News/Timeline");
76  if (!$a_items_only)
77  {
78  $t->touchBlock("list_start");
79  $t->touchBlock("list_end");
80  }
81  $keys = array_keys($this->items);
82  foreach ($this->items as $k => $i)
83  {
84  $next = null;
85  if (isset($this->items[$keys[$k+1]]))
86  {
87  $next = $this->items[$keys[$k+1]];
88  }
89 
90  $dt = $i->getDateTime();
91  if (is_null($next) || $dt->get(IL_CAL_FKT_DATE, "Y-m-d") != $next->getDateTime()->get(IL_CAL_FKT_DATE, "Y-m-d"))
92  {
93  $t->setCurrentBlock("badge");
94  $t->setVariable("DAY", $dt->get(IL_CAL_FKT_DATE, "d"));
95  $t->setVariable("MONTH", $this->lng->txt("month_" . $dt->get(IL_CAL_FKT_DATE, "m") . "_short"));
96  $t->parseCurrentBlock();
97  }
98 
99  $t->setCurrentBlock("item");
100  $t->setVariable("CONTENT", $i->render());
101  $t->parseCurrentBlock();
102  }
103  return $t->get();
104  }
105 
106 
107 }
108 
109 ?>
__construct()
Construct.
Timline (temporary implementation)
render($a_items_only=false)
Render.
special template class to simplify handling of ITX/PEAR
const IL_CAL_FKT_DATE
Interface for timeline items.
Create styles array
The data for the language used.
static getInstance()
Get instance.
global $DIC
addItem(ilTimelineItemInt $a_item)
Add item.