ILIAS
release_5-3 Revision v5.3.23-19-g915713cf615
◀ ilDoc Overview
class.ilCalendarAuthenticationToken.php
Go to the documentation of this file.
1
<?
php
2
/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4
12
class
ilCalendarAuthenticationToken
13
{
14
const
SELECTION_NONE
= 0;
15
const
SELECTION_PD
= 1;
16
const
SELECTION_CATEGORY
= 2;
17
const
SELECTION_CALENDAR
= 3;
18
19
private
$user
=
null
;
20
21
private
$token
=
''
;
22
private
$selection_type
= 0;
23
private
$calendar
= 0;
24
25
private
$ical
=
null
;
26
private
$ical_ctime
=
null
;
27
34
public
function
__construct
($a_user_id, $a_token =
''
)
35
{
36
$this->
user
= $a_user_id;
37
$this->token = $a_token;
38
39
$this->
read
();
40
}
41
42
public
static
function
lookupAuthToken
($a_user_id, $a_selection, $a_calendar = 0)
43
{
44
global
$ilDB
;
45
46
$query
=
"SELECT * FROM cal_auth_token "
.
47
"WHERE user_id = "
.
$ilDB
->quote($a_user_id,
'integer'
) .
' '
.
48
"AND selection = "
.
$ilDB
->quote($a_selection,
'integer'
) .
' '
.
49
"AND calendar = "
.
$ilDB
->quote($a_calendar,
'integer'
);
50
$res
=
$ilDB
->query(
$query
);
51
while
(
$row
=
$res
->fetchRow(
ilDBConstants::FETCHMODE_OBJECT
)) {
52
return
$row
->hash;
53
}
54
return
false
;
55
}
56
62
public
static
function
lookupUser
($a_token)
63
{
64
global
$ilDB
;
65
66
$query
=
"SELECT * FROM cal_auth_token "
.
67
"WHERE hash = "
.
$ilDB
->quote($a_token,
'text'
);
68
$res
=
$ilDB
->query(
$query
);
69
while
(
$row
=
$res
->fetchRow(
ilDBConstants::FETCHMODE_OBJECT
)) {
70
return
$row
->user_id;
71
}
72
return
0;
73
}
74
79
public
function
getSelectionType
()
80
{
81
return
$this->selection_type
;
82
}
83
84
89
public
function
getUserId
()
90
{
91
return
$this->user
;
92
}
93
99
public
function
setSelectionType
(
$a_type
)
100
{
101
$this->selection_type =
$a_type
;
102
}
103
109
public
function
setCalendar
($a_cal)
110
{
111
$this->calendar = $a_cal;
112
}
113
114
public
function
getCalendar
()
115
{
116
return
$this->calendar
;
117
}
118
119
public
function
setIcal
(
$ical
)
120
{
121
$this->ical =
$ical
;
122
}
123
128
public
function
getIcal
()
129
{
130
return
$this->ical
;
131
}
132
133
138
public
function
getToken
()
139
{
140
return
$this->token
;
141
}
142
147
public
function
storeIcal
()
148
{
149
global
$ilDB
;
150
151
$ilDB
->update(
152
'cal_auth_token'
,
153
array(
154
'ical'
=> array(
'clob'
,$this->
getIcal
()),
155
'c_time'
=> array(
'integer'
,time())
156
),
157
array(
158
'user_id'
=> array(
'integer'
,$this->
getUserId
()),
159
'hash'
=> array(
'text'
,$this->
getToken
())
160
)
161
);
162
}
163
168
public
function
isIcalExpired
()
169
{
170
return
true
;
171
172
include_once
'./Services/Calendar/classes/class.ilCalendarSettings.php'
;
173
174
if
(!
ilCalendarSettings::_getInstance
()->isSynchronisationCacheEnabled()) {
175
return
true
;
176
}
177
if
(!
ilCalendarSettings::_getInstance
()->getSynchronisationCacheMinutes()) {
178
return
true
;
179
}
180
return
time() > ($this->ical_ctime + 60 *
ilCalendarSettings::_getInstance
()->getSynchronisationCacheMinutes());
181
}
182
187
public
function
add
()
188
{
189
global
$ilDB
;
190
191
$this->
createToken
();
192
193
$query
=
"INSERT INTO cal_auth_token (user_id,hash,selection,calendar) "
.
194
"VALUES ( "
.
195
$ilDB->quote($this->
getUserId
(),
'integer'
) .
', '
.
196
$ilDB->quote($this->
getToken
(),
'text'
) .
', '
.
197
$ilDB->quote($this->
getSelectionType
(),
'integer'
) .
', '
.
198
$ilDB->quote($this->
getCalendar
(),
'integer'
) .
' '
.
199
')'
;
200
$ilDB->manipulate(
$query
);
201
202
return
$this->
getToken
();
203
}
204
209
protected
function
createToken
()
210
{
211
$random = new \ilRandom();
212
$this->token = md5($this->
getUserId
() . $this->
getSelectionType
() . $random->int());
213
}
214
219
protected
function
read
()
220
{
221
global
$ilDB
;
222
223
if
(!$this->
getToken
()) {
224
$query
=
"SELECT * FROM cal_auth_token "
.
225
"WHERE user_id = "
. $ilDB->quote($this->
getUserId
(),
'integer'
);
226
}
else
{
227
$query
=
'SELECT * FROM cal_auth_token '
.
228
'WHERE user_id = '
. $ilDB->quote($this->
getUserId
(),
'integer'
) .
' '
.
229
'AND hash = '
. $ilDB->quote($this->
getToken
(),
'text'
);
230
}
231
232
$res
= $ilDB->query(
$query
);
233
while
(
$row
=
$res
->fetchRow(
ilDBConstants::FETCHMODE_OBJECT
)) {
234
$this->token =
$row
->hash;
235
$this->selection_type =
$row
->selection;
236
$this->calendar =
$row
->calendar;
237
$this->ical =
$row
->ical;
238
$this->ical_ctime =
$row
->c_time;
239
}
240
return
true
;
241
}
242
}
$row
$row
Definition:
10autofilter-selection-1.php:74
user
user()
Definition:
user.php:4
php
An exception for terminatinating execution or to throw for unit testing.
ilCalendarAuthenticationToken
Handles calendar authentication tokens for external calendar subscriptions.
Definition:
class.ilCalendarAuthenticationToken.php:13
ilCalendarAuthenticationToken\$calendar
$calendar
Definition:
class.ilCalendarAuthenticationToken.php:23
ilCalendarAuthenticationToken\getCalendar
getCalendar()
Definition:
class.ilCalendarAuthenticationToken.php:114
ilCalendarAuthenticationToken\lookupAuthToken
static lookupAuthToken($a_user_id, $a_selection, $a_calendar=0)
Definition:
class.ilCalendarAuthenticationToken.php:42
ilCalendarAuthenticationToken\createToken
createToken()
Create a new token.
Definition:
class.ilCalendarAuthenticationToken.php:209
ilCalendarAuthenticationToken\__construct
__construct($a_user_id, $a_token='')
Constructor.
Definition:
class.ilCalendarAuthenticationToken.php:34
ilCalendarAuthenticationToken\getUserId
getUserId()
Get current user.
Definition:
class.ilCalendarAuthenticationToken.php:89
ilCalendarAuthenticationToken\$ical_ctime
$ical_ctime
Definition:
class.ilCalendarAuthenticationToken.php:26
ilCalendarAuthenticationToken\setCalendar
setCalendar($a_cal)
set calendar id
Definition:
class.ilCalendarAuthenticationToken.php:109
ilCalendarAuthenticationToken\isIcalExpired
isIcalExpired()
Check if cache is disabled or expired.
Definition:
class.ilCalendarAuthenticationToken.php:168
ilCalendarAuthenticationToken\$token
$token
Definition:
class.ilCalendarAuthenticationToken.php:21
ilCalendarAuthenticationToken\SELECTION_CATEGORY
const SELECTION_CATEGORY
Definition:
class.ilCalendarAuthenticationToken.php:16
ilCalendarAuthenticationToken\read
read()
Read key.
Definition:
class.ilCalendarAuthenticationToken.php:219
ilCalendarAuthenticationToken\lookupUser
static lookupUser($a_token)
Lookup user by hash.
Definition:
class.ilCalendarAuthenticationToken.php:62
ilCalendarAuthenticationToken\SELECTION_NONE
const SELECTION_NONE
Definition:
class.ilCalendarAuthenticationToken.php:14
ilCalendarAuthenticationToken\setIcal
setIcal($ical)
Definition:
class.ilCalendarAuthenticationToken.php:119
ilCalendarAuthenticationToken\$user
$user
Definition:
class.ilCalendarAuthenticationToken.php:19
ilCalendarAuthenticationToken\storeIcal
storeIcal()
store ical
Definition:
class.ilCalendarAuthenticationToken.php:147
ilCalendarAuthenticationToken\$selection_type
$selection_type
Definition:
class.ilCalendarAuthenticationToken.php:22
ilCalendarAuthenticationToken\getToken
getToken()
get token
Definition:
class.ilCalendarAuthenticationToken.php:138
ilCalendarAuthenticationToken\getIcal
getIcal()
get stored ical
Definition:
class.ilCalendarAuthenticationToken.php:128
ilCalendarAuthenticationToken\add
add()
Add token.
Definition:
class.ilCalendarAuthenticationToken.php:187
ilCalendarAuthenticationToken\SELECTION_CALENDAR
const SELECTION_CALENDAR
Definition:
class.ilCalendarAuthenticationToken.php:17
ilCalendarAuthenticationToken\setSelectionType
setSelectionType($a_type)
set selection type
Definition:
class.ilCalendarAuthenticationToken.php:99
ilCalendarAuthenticationToken\getSelectionType
getSelectionType()
get selection type for key
Definition:
class.ilCalendarAuthenticationToken.php:79
ilCalendarAuthenticationToken\SELECTION_PD
const SELECTION_PD
Definition:
class.ilCalendarAuthenticationToken.php:15
ilCalendarAuthenticationToken\$ical
$ical
Definition:
class.ilCalendarAuthenticationToken.php:25
ilCalendarSettings\_getInstance
static _getInstance()
get singleton instance
Definition:
class.ilCalendarSettings.php:114
ilDBConstants\FETCHMODE_OBJECT
const FETCHMODE_OBJECT
Definition:
class.ilDBConstants.php:13
$query
$query
Definition:
proxy_ylocal.php:13
$res
foreach($_POST as $key=> $value) $res
Definition:
save_question_post_data.php:15
$ilDB
global $ilDB
Definition:
storeScorm2004.php:19
$a_type
$a_type
Definition:
workflow.php:92
Services
Calendar
classes
class.ilCalendarAuthenticationToken.php
Generated on Tue Sep 30 2025 19:01:10 for ILIAS by
1.9.4 (using
Doxyfile
)