ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilECSTimePlace.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  +-----------------------------------------------------------------------------+
5  | ILIAS open source |
6  +-----------------------------------------------------------------------------+
7  | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
8  | |
9  | This program is free software; you can redistribute it and/or |
10  | modify it under the terms of the GNU General Public License |
11  | as published by the Free Software Foundation; either version 2 |
12  | of the License, or (at your option) any later version. |
13  | |
14  | This program is distributed in the hope that it will be useful, |
15  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
16  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17  | GNU General Public License for more details. |
18  | |
19  | You should have received a copy of the GNU General Public License |
20  | along with this program; if not, write to the Free Software |
21  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
22  +-----------------------------------------------------------------------------+
23  */
24 
35 {
36  public $room = '';
37  public $begin = '';
38  public $end = '';
39  public $cycle = '';
40 
48  public function __construct()
49  {
50  }
51 
59  public function loadFromJson($a_json)
60  {
61  global $DIC;
62 
63  $ilLog = $DIC['ilLog'];
64 
65  if (!is_object($a_json)) {
66  $ilLog->write(__METHOD__ . ': Cannot load from JSON. No object given.');
67  throw new ilException('Cannot parse ECSContent.');
68  }
69 
70  $GLOBALS['DIC']['ilLog']->write(__METHOD__ . ': ' . print_r($a_json, true));
71 
72  $this->room = $a_json->room;
73  $this->begin = $a_json->begin;
74  $this->end = $a_json->end;
75  $this->cycle = $a_json->cycle;
76  #$this->day = $a_json->day;
77 
78  $two = new ilDate('2000-01-02', IL_CAL_DATE);
79  if (ilDate::_before(new ilDateTime($this->getUTBegin(), IL_CAL_UNIX), $two)) {
80  $this->begin = '';
81  }
82  if (ilDate::_before(new ilDateTime($this->getUTEnd(), IL_CAL_UNIX), $two)) {
83  $this->end = '';
84  }
85  }
86 
93  public function setBegin($a_begin)
94  {
95  // is it unix time ?
96  if (is_numeric($a_begin) and $a_begin) {
97  $dt = new ilDateTime($a_begin, IL_CAL_UNIX, ilTimeZone::UTC);
98  $this->end = $dt->get(IL_CAL_DATE);
99  } else {
100  $this->begin = $a_begin;
101  }
102  }
103 
109  public function getBegin()
110  {
111  return $this->begin;
112  }
113 
120  public function getUTBegin()
121  {
122  include_once './Services/Calendar/classes/class.ilDateTime.php';
123  $dt = new ilDateTime($this->begin, IL_CAL_DATE, ilTimeZone::UTC);
124  return $dt->get(IL_CAL_UNIX);
125  }
126 
134  public function setEnd($a_end)
135  {
136  // is it unix time ?
137  if (is_numeric($a_end) and $a_end) {
138  $dt = new ilDateTime($a_end, IL_CAL_UNIX, ilTimeZone::UTC);
139  $this->end = $dt->get(IL_CAL_DATE);
140  } else {
141  $this->end = $a_end;
142  }
143  }
144 
150  public function getEnd()
151  {
152  return $this->end;
153  }
154 
161  public function getUTEnd()
162  {
163  include_once './Services/Calendar/classes/class.ilDateTime.php';
164  $dt = new ilDateTime($this->end, IL_CAL_DATE, ilTimeZone::UTC);
165  return $dt->get(IL_CAL_UNIX);
166  }
167 
175  public function setRoom($a_room)
176  {
177  $this->room = $a_room;
178  }
179 
186  public function getRoom()
187  {
188  return $this->room;
189  }
190 
198  public function setCycle($a_cycle)
199  {
200  $this->cycle = $a_cycle;
201  }
202 
210  public function getCycle()
211  {
212  return $this->cycle;
213  }
214 }
setRoom($a_room)
set room
Representation of ECS EContent Time Place.
global $DIC
Definition: saml.php:7
static _before(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
compare two dates and check start is before end This method does not consider tz offsets.
setCycle($a_cycle)
set cycle
const IL_CAL_UNIX
Class for single dates.
Date and time handling
loadFromJson($a_json)
load from json
getUTBegin()
get begin as unix time
setBegin($a_begin)
set begin
__construct()
Constructor.
const IL_CAL_DATE
setEnd($a_end)
set end
getUTEnd()
get end as unix time
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.