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
5include_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?>
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_FKT_DATE
special template class to simplify handling of ITX/PEAR
Timline (temporary implementation)
addItem(ilTimelineItemInt $a_item)
Add item.
render($a_items_only=false)
Render.
static getInstance()
Get instance.
__construct()
Construct.
Interface for timeline items.
global $DIC