ILIAS
trunk Revision v12.0_alpha-1540-g00f839d5fa1
◀ ilDoc Overview
class.ilCalendarRecurrenceExclusion.php
Go to the documentation of this file.
1
<?php
2
24
class
ilCalendarRecurrenceExclusion
25
{
26
protected
?
ilDate
$exclusion
=
null
;
27
protected
int
$cal_id
= 0;
28
protected
int
$exclusion_id
= 0;
29
30
protected
?
ilDBInterface
$db
;
31
32
public
function
__construct
(
int
$a_exclusion_id = 0)
33
{
34
global
$DIC
;
35
36
$this->db =
$DIC
->database();
37
$this->exclusion_id = $a_exclusion_id;
38
if
($this->
getId
()) {
39
$this->
read
();
40
}
41
}
42
43
public
function
getId
():
int
44
{
45
return
$this->exclusion_id
;
46
}
47
48
public
function
getEntryId
():
int
49
{
50
return
$this->cal_id
;
51
}
52
53
public
function
setEntryId
(
int
$a_id)
54
{
55
$this->cal_id = $a_id;
56
}
57
58
public
function
getDate
(): ?
ilDate
59
{
60
return
$this->exclusion instanceof
ilDate
? $this->exclusion :
null
;
61
}
62
66
public
function
setDate
(?
ilDate
$dt =
null
): void
67
{
68
$this->exclusion = $dt;
69
}
70
71
public
function
toICal
(): string
72
{
73
$entry =
new
ilCalendarEntry
($this->
getEntryId
());
74
$start = $entry->getStart();
75
76
if
($entry->isFullday()) {
77
return
'EXDATE;VALUE=DATE:'
. $this->
getDate
()->get(
IL_CAL_FKT_DATE
,
'Ymd'
);
78
}
else
{
79
return
'EXDATE:'
.
80
$this->
getDate
()->get(
IL_CAL_FKT_DATE
,
'Ymd'
,
ilTimeZone::UTC
) .
81
'T'
. $start->get(
IL_CAL_FKT_DATE
,
'His'
,
ilTimeZone::UTC
) .
'Z'
;
82
}
83
}
84
85
public
function
save
():
int
86
{
87
if
(!$this->
getDate
()) {
88
return
0;
89
}
90
91
$query =
"INSERT INTO cal_rec_exclusion (excl_id,cal_id,excl_date) "
.
92
"VALUES( "
.
93
$this->db->quote($next_id = $this->db->nextId(
'cal_rec_exclusion'
),
'integer'
) .
', '
.
94
$this->db->quote($this->
getEntryId
(),
'integer'
) .
', '
.
95
$this->db->quote($this->
getDate
()->
get
(
IL_CAL_DATE
,
''
,
'UTC'
),
'timestamp'
) .
96
')'
;
97
$this->db->manipulate($query);
98
99
$this->exclusion_id = $next_id;
100
return
$this->
getId
();
101
}
102
103
protected
function
read
()
104
{
105
$query =
"SELECT * FROM cal_rec_exclusion WHERE excl_id = "
. $this->db->quote($this->
getId
(),
'integer'
);
106
$res
= $this->db->query($query);
107
while
($row =
$res
->fetchRow(
ilDBConstants::FETCHMODE_OBJECT
)) {
108
$this->cal_id = $row->cal_id;
109
$this->
setDate
(
new
ilDate
((
string
) $row->excl_date,
IL_CAL_DATE
));
110
}
111
}
112
}
IL_CAL_DATE
const IL_CAL_DATE
Definition:
class.ilDateTime.php:22
IL_CAL_FKT_DATE
const IL_CAL_FKT_DATE
Definition:
class.ilDateTime.php:24
ilCalendarEntry
Model for a calendar entry.
Definition:
class.ilCalendarEntry.php:28
ilCalendarRecurrenceExclusion
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition:
class.ilCalendarRecurrenceExclusion.php:25
ilCalendarRecurrenceExclusion\$db
ilDBInterface $db
Definition:
class.ilCalendarRecurrenceExclusion.php:30
ilCalendarRecurrenceExclusion\getId
getId()
Definition:
class.ilCalendarRecurrenceExclusion.php:43
ilCalendarRecurrenceExclusion\setEntryId
setEntryId(int $a_id)
Definition:
class.ilCalendarRecurrenceExclusion.php:53
ilCalendarRecurrenceExclusion\getDate
getDate()
Definition:
class.ilCalendarRecurrenceExclusion.php:58
ilCalendarRecurrenceExclusion\__construct
__construct(int $a_exclusion_id=0)
Definition:
class.ilCalendarRecurrenceExclusion.php:32
ilCalendarRecurrenceExclusion\$cal_id
int $cal_id
Definition:
class.ilCalendarRecurrenceExclusion.php:27
ilCalendarRecurrenceExclusion\toICal
toICal()
Definition:
class.ilCalendarRecurrenceExclusion.php:71
ilCalendarRecurrenceExclusion\$exclusion
ilDate $exclusion
Definition:
class.ilCalendarRecurrenceExclusion.php:26
ilCalendarRecurrenceExclusion\$exclusion_id
int $exclusion_id
Definition:
class.ilCalendarRecurrenceExclusion.php:28
ilCalendarRecurrenceExclusion\save
save()
Definition:
class.ilCalendarRecurrenceExclusion.php:85
ilCalendarRecurrenceExclusion\read
read()
Definition:
class.ilCalendarRecurrenceExclusion.php:103
ilCalendarRecurrenceExclusion\getEntryId
getEntryId()
Definition:
class.ilCalendarRecurrenceExclusion.php:48
ilCalendarRecurrenceExclusion\setDate
setDate(?ilDate $dt=null)
Set exclusion date.
Definition:
class.ilCalendarRecurrenceExclusion.php:66
ilDBConstants\FETCHMODE_OBJECT
const FETCHMODE_OBJECT
Definition:
ilDBConstants.php:31
ilDate
Class for single dates.
Definition:
class.ilDate.php:28
ilTimeZone\UTC
const UTC
Definition:
class.ilTimeZone.php:34
ilDBInterface
Interface ilDBInterface.
Definition:
ilDBInterface.php:30
$res
$res
Definition:
ltiservices.php:69
ILIAS\Repository\int
int(string $key)
Definition:
trait.BaseGUIRequest.php:61
$DIC
global $DIC
Definition:
shib_login.php:26
components
ILIAS
Calendar
classes
class.ilCalendarRecurrenceExclusion.php
Generated on Wed Jun 3 2026 23:04:17 for ILIAS by
1.9.4 (using
Doxyfile
)