ILIAS
release_5-3 Revision v5.3.23-19-g915713cf615
◀ ilDoc Overview
class.ilTermsOfServiceAcceptanceDatabaseGateway.php
Go to the documentation of this file.
1
<?php
2
/* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4
require_once
'Services/TermsOfService/interfaces/interface.ilTermsOfServiceAcceptanceDataGateway.php'
;
5
10
class
ilTermsOfServiceAcceptanceDatabaseGateway
implements
ilTermsOfServiceAcceptanceDataGateway
11
{
15
protected
$db
;
16
21
public
function
__construct
(
ilDBInterface
$db
)
22
{
23
$this->db =
$db
;
24
}
25
29
public
function
trackAcceptance
(
ilTermsOfServiceAcceptanceEntity
$entity)
30
{
31
$query
=
'SELECT id FROM tos_versions WHERE hash = %s AND lng = %s'
;
32
$res
= $this->db->queryF(
33
$query
,
34
array
(
'text'
,
'text'
),
35
array
($entity->
getHash
(), $entity->
getIso2LanguageCode
())
36
);
37
38
if
($this->db->numRows(
$res
)) {
39
$row
= $this->db->fetchAssoc(
$res
);
40
$tosv_id =
$row
[
'id'
];
41
}
else
{
42
$tosv_id = $this->db->nextId(
'tos_versions'
);
43
$this->db->insert(
44
'tos_versions'
,
45
array
(
46
'id'
=>
array
(
'integer'
, $tosv_id),
47
'lng'
=>
array
(
'text'
, $entity->
getIso2LanguageCode
()),
48
'src'
=>
array
(
'text'
, $entity->
getSource
()),
49
'src_type'
=>
array
(
'integer'
, $entity->
getSourceType
()),
50
'text'
=>
array
(
'clob'
, $entity->
getText
()),
51
'hash'
=>
array
(
'text'
, $entity->
getHash
()),
52
'ts'
=>
array
(
'integer'
, $entity->
getTimestamp
())
53
)
54
);
55
}
56
57
$this->db->insert(
58
'tos_acceptance_track'
,
59
array
(
60
'tosv_id'
=>
array
(
'integer'
, $tosv_id),
61
'usr_id'
=>
array
(
'integer'
, $entity->
getUserId
()),
62
'ts'
=>
array
(
'integer'
, $entity->
getTimestamp
())
63
)
64
);
65
}
66
71
public
function
loadCurrentAcceptanceOfUser
(
ilTermsOfServiceAcceptanceEntity
$entity)
72
{
73
$this->db->setLimit(1, 0);
74
$res
= $this->db->queryF(
75
'
76
SELECT tos_versions.*, tos_acceptance_track.ts accepted_ts
77
FROM tos_acceptance_track
78
INNER JOIN tos_versions ON id = tosv_id
79
WHERE usr_id = %s
80
ORDER BY tos_acceptance_track.ts DESC
81
'
,
82
array
(
'integer'
),
83
array
($entity->
getUserId
())
84
);
85
$row
= $this->db->fetchAssoc(
$res
);
86
87
$entity->
setId
(
$row
[
'id'
]);
88
$entity->
setUserId
(
$row
[
'usr_id'
]);
89
$entity->
setIso2LanguageCode
(
$row
[
'lng'
]);
90
$entity->
setSource
(
$row
[
'src'
]);
91
$entity->
setSourceType
(
$row
[
'src_type'
]);
92
$entity->
setText
(
$row
[
'text'
]);
93
$entity->
setTimestamp
(
$row
[
'accepted_ts'
]);
94
$entity->
setHash
(
$row
[
'hash'
]);
95
96
return
$entity;
97
}
98
103
public
function
loadById
(
ilTermsOfServiceAcceptanceEntity
$entity)
104
{
105
$res
= $this->db->queryF(
106
'
107
SELECT *
108
FROM tos_versions
109
WHERE id = %s
110
'
,
111
array
(
'integer'
),
112
array
($entity->
getId
())
113
);
114
$row
= $this->db->fetchAssoc(
$res
);
115
116
$entity->
setId
(
$row
[
'id'
]);
117
$entity->
setIso2LanguageCode
(
$row
[
'lng'
]);
118
$entity->
setSource
(
$row
[
'src'
]);
119
$entity->
setSourceType
(
$row
[
'src_type'
]);
120
$entity->
setText
(
$row
[
'text'
]);
121
$entity->
setTimestamp
(
$row
[
'ts'
]);
122
$entity->
setHash
(
$row
[
'hash'
]);
123
124
return
$entity;
125
}
126
130
public
function
deleteAcceptanceHistoryByUser
(
ilTermsOfServiceAcceptanceEntity
$entity)
131
{
132
$this->db->manipulate(
'DELETE FROM tos_acceptance_track WHERE usr_id = '
. $this->db->quote($entity->
getUserId
(),
'integer'
));
133
}
134
}
ilTermsOfServiceAcceptanceEntity\getId
getId()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:170
ilTermsOfServiceAcceptanceEntity\getTimestamp
getTimestamp()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:114
ilTermsOfServiceAcceptanceEntity\setSourceType
setSourceType($source_type)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:154
ilTermsOfServiceAcceptanceEntity\getText
getText()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:98
ilTermsOfServiceAcceptanceDatabaseGateway\__construct
__construct(ilDBInterface $db)
ilTermsOfServiceAcceptanceDatabaseGateway constructor.
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:21
ilTermsOfServiceAcceptanceDatabaseGateway
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:10
ilTermsOfServiceAcceptanceEntity\getSource
getSource()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:146
ilTermsOfServiceAcceptanceEntity\getUserId
getUserId()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:130
ilTermsOfServiceAcceptanceEntity\setTimestamp
setTimestamp($timestamp)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:106
ilTermsOfServiceAcceptanceDatabaseGateway\loadById
loadById(ilTermsOfServiceAcceptanceEntity $entity)
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:103
ilDBInterface
Interface ilDBInterface.
Definition:
interface.ilDBInterface.php:9
ilTermsOfServiceAcceptanceDatabaseGateway\trackAcceptance
trackAcceptance(ilTermsOfServiceAcceptanceEntity $entity)
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:29
$res
foreach($_POST as $key=> $value) $res
Definition:
save_question_post_data.php:15
ilTermsOfServiceAcceptanceEntity\setUserId
setUserId($user_id)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:122
ilTermsOfServiceAcceptanceEntity\setSource
setSource($source)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:138
$query
$query
Definition:
proxy_ylocal.php:13
ilTermsOfServiceAcceptanceEntity\getIso2LanguageCode
getIso2LanguageCode()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:82
ilTermsOfServiceAcceptanceEntity\getSourceType
getSourceType()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:162
array
Create styles array
The data for the language used.
Definition:
40duplicateStyle.php:19
ilTermsOfServiceAcceptanceDatabaseGateway\loadCurrentAcceptanceOfUser
loadCurrentAcceptanceOfUser(ilTermsOfServiceAcceptanceEntity $entity)
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:71
ilTermsOfServiceAcceptanceEntity\setId
setId($id)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:178
ilTermsOfServiceAcceptanceEntity
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:8
ilTermsOfServiceAcceptanceDatabaseGateway\$db
$db
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:15
ilTermsOfServiceAcceptanceDatabaseGateway\deleteAcceptanceHistoryByUser
deleteAcceptanceHistoryByUser(ilTermsOfServiceAcceptanceEntity $entity)
Definition:
class.ilTermsOfServiceAcceptanceDatabaseGateway.php:130
ilTermsOfServiceAcceptanceEntity\getHash
getHash()
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:61
ilTermsOfServiceAcceptanceEntity\setIso2LanguageCode
setIso2LanguageCode($language)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:74
ilTermsOfServiceAcceptanceEntity\setText
setText($text)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:90
$row
$row
Definition:
10autofilter-selection-1.php:74
ilTermsOfServiceAcceptanceEntity\setHash
setHash($hash)
Definition:
class.ilTermsOfServiceAcceptanceEntity.php:53
ilTermsOfServiceAcceptanceDataGateway
Definition:
interface.ilTermsOfServiceAcceptanceDataGateway.php:8
Services
TermsOfService
classes
class.ilTermsOfServiceAcceptanceDatabaseGateway.php
Generated on Sat Mar 1 2025 19:01:40 for ILIAS by
1.8.13 (using
Doxyfile
)