ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilMemberAgreement Class Reference
+ Collaboration diagram for ilMemberAgreement:

Public Member Functions

 __construct (int $a_usr_id, int $a_obj_id)
 
 setAccepted (bool $a_status)
 set accepted More...
 
 setAcceptanceTime (int $a_timest)
 set acceptance time More...
 
 agreementRequired ()
 Checks whether the agreement is accepted This function return always true if no acceptance is required by global setting. More...
 
 isAccepted ()
 
 getAcceptanceTime ()
 
 save ()
 save acceptance settings More...
 
 delete ()
 Delete entry. More...
 
 read ()
 Read user entries. More...
 

Static Public Member Functions

static _readByObjId (int $a_obj_id)
 Read user data by object id. More...
 
static _hasAgreementsByObjId (int $a_obj_id)
 Check if there is any user agreement. More...
 
static _hasAgreements ()
 Check if there is any user agreement. More...
 
static _hasAccepted (int $a_usr_id, int $a_obj_id)
 Check if user has accepted agreement. More...
 
static lookupAcceptedAgreements (int $a_obj_id)
 Lookup users who have accepted the agreement. More...
 
static _deleteByUser (int $a_usr_id)
 Delete all entries by user. More...
 
static _deleteByObjId (int $a_obj_id)
 Delete all entries by obj_id. More...
 
static _reset ()
 Reset all. More...
 
static _resetContainer (int $a_container_id)
 Reset all agreements for a specific container. More...
 

Private Attributes

ilDBInterface $db
 
int $user_id
 
int $obj_id
 
string $type
 
ilPrivacySettings $privacy
 
bool $accepted = false
 
int $acceptance_time = 0
 

Detailed Description

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om \

Definition at line 25 of file class.ilMemberAgreement.php.

Constructor & Destructor Documentation

◆ __construct()

ilMemberAgreement::__construct ( int  $a_usr_id,
int  $a_obj_id 
)

Definition at line 35 of file class.ilMemberAgreement.php.

36 {
37 global $DIC;
38
39 $ilDB = $DIC['ilDB'];
40
41 $this->db = $ilDB;
42 $this->user_id = $a_usr_id;
43 $this->obj_id = $a_obj_id;
44 $this->type = ilObject::_lookupType($this->obj_id);
45
46 $this->privacy = ilPrivacySettings::getInstance();
47
48 if ($this->privacy->confirmationRequired($this->type) or ilCourseDefinedFieldDefinition::_hasFields($this->obj_id)) {
49 $this->read();
50 }
51 }
static _hasFields(int $a_container_id)
Check if there are any define fields.
read()
Read user entries.
static _lookupType(int $id, bool $reference=false)
global $DIC
Definition: shib_login.php:26

References $DIC, $ilDB, ilCourseDefinedFieldDefinition\_hasFields(), ilObject\_lookupType(), ilPrivacySettings\getInstance(), and read().

+ Here is the call graph for this function:

Member Function Documentation

◆ _deleteByObjId()

static ilMemberAgreement::_deleteByObjId ( int  $a_obj_id)
static

Delete all entries by obj_id.

Definition at line 162 of file class.ilMemberAgreement.php.

162 : void
163 {
164 global $DIC;
165
166 $ilDB = $DIC->database();
167 $query = "DELETE FROM member_agreement " .
168 "WHERE obj_id =" . $ilDB->quote($a_obj_id, 'integer') . " ";
169 $res = $ilDB->manipulate($query);
170 }
$res
Definition: ltiservices.php:69

References $DIC, $ilDB, and $res.

Referenced by ilObjectCustomUserFieldsGUI\deleteFields(), ilObjectCustomUserFieldsGUI\saveField(), ilObjectCustomUserFieldsGUI\saveFields(), and ilObjectCustomUserFieldsGUI\updateField().

+ Here is the caller graph for this function:

◆ _deleteByUser()

static ilMemberAgreement::_deleteByUser ( int  $a_usr_id)
static

Delete all entries by user.

Definition at line 148 of file class.ilMemberAgreement.php.

148 : void
149 {
150 global $DIC;
151
152 $ilDB = $DIC->database();
153
154 $query = "DELETE FROM member_agreement " .
155 "WHERE usr_id =" . $ilDB->quote($a_usr_id, 'integer') . " ";
156 $res = $ilDB->manipulate($query);
157 }

References $DIC, $ilDB, and $res.

◆ _hasAccepted()

static ilMemberAgreement::_hasAccepted ( int  $a_usr_id,
int  $a_obj_id 
)
static

Check if user has accepted agreement.

Definition at line 108 of file class.ilMemberAgreement.php.

108 : bool
109 {
110 global $DIC;
111
112 $ilDB = $DIC->database();
113
114 $query = "SELECT accepted FROM member_agreement " .
115 "WHERE usr_id = " . $ilDB->quote($a_usr_id, 'integer') . " " .
116 "AND obj_id = " . $ilDB->quote($a_obj_id, 'integer');
117 $res = $ilDB->query($query);
118 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
119 return (int) $row->accepted === 1;
120 }
121 return false;
122 }

References $DIC, $ilDB, $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilObjCourseGUI\checkAgreement(), and ilObjGroupGUI\checkAgreement().

+ Here is the caller graph for this function:

◆ _hasAgreements()

static ilMemberAgreement::_hasAgreements ( )
static

Check if there is any user agreement.

Definition at line 93 of file class.ilMemberAgreement.php.

93 : bool
94 {
95 global $DIC;
96
97 $ilDB = $DIC->database();
98 $query = "SELECT * FROM member_agreement " .
99 "WHERE accepted = 1";
100
101 $res = $ilDB->query($query);
102 return (bool) $res->numRows();
103 }

References $DIC, $ilDB, and $res.

Referenced by ilObjPrivacySecurityGUI\initPrivacyForm().

+ Here is the caller graph for this function:

◆ _hasAgreementsByObjId()

static ilMemberAgreement::_hasAgreementsByObjId ( int  $a_obj_id)
static

Check if there is any user agreement.

Definition at line 77 of file class.ilMemberAgreement.php.

77 : bool
78 {
79 global $DIC;
80
81 $ilDB = $DIC->database();
82 $query = "SELECT * FROM member_agreement " .
83 "WHERE obj_id = " . $ilDB->quote($a_obj_id, 'integer') . " " .
84 "AND accepted = 1";
85
86 $res = $ilDB->query($query);
87 return (bool) $res->numRows();
88 }

References $DIC, $ilDB, and $res.

Referenced by ilObjectCustomUserFieldsGUI\show().

+ Here is the caller graph for this function:

◆ _readByObjId()

static ilMemberAgreement::_readByObjId ( int  $a_obj_id)
static

Read user data by object id.

Definition at line 56 of file class.ilMemberAgreement.php.

56 : array
57 {
58 global $DIC;
59
60 $ilDB = $DIC->database();
61
62 $query = "SELECT * FROM member_agreement " .
63 "WHERE obj_id = " . $ilDB->quote($a_obj_id, 'integer');
64
65 $res = $ilDB->query($query);
66 $user_data = [];
67 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
68 $user_data[(int) $row->usr_id]['accepted'] = $row->accepted;
69 $user_data[(int) $row->usr_id]['acceptance_time'] = $row->acceptance_time;
70 }
71 return $user_data;
72 }

References $DIC, $ilDB, $res, ilDBConstants\FETCHMODE_OBJECT, and ILIAS\Repository\int().

Referenced by ilMemberExport\__construct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _reset()

static ilMemberAgreement::_reset ( )
static

Reset all.

Set all aggrement to 0. This is called after global settings have been modified.

Definition at line 176 of file class.ilMemberAgreement.php.

176 : void
177 {
178 global $DIC;
179
180 $ilDB = $DIC->database();
181
182 $query = "UPDATE member_agreement SET accepted = 0 ";
183 $res = $ilDB->manipulate($query);
184 }

References $DIC, $ilDB, and $res.

Referenced by ilObjPrivacySecurityGUI\save_privacy(), and ILIAS\User\Profile\Fields\ConfigurationGUI\storeField().

+ Here is the caller graph for this function:

◆ _resetContainer()

static ilMemberAgreement::_resetContainer ( int  $a_container_id)
static

Reset all agreements for a specific container.

Definition at line 189 of file class.ilMemberAgreement.php.

189 : void
190 {
191 global $DIC;
192
193 $ilDB = $DIC->database();
194
195 $query = "UPDATE member_agreement " .
196 "SET accepted = 0 " .
197 "WHERE obj_id = " . $ilDB->quote($a_container_id, 'integer') . " ";
198 $res = $ilDB->manipulate($query);
199 }

References $DIC, $ilDB, and $res.

◆ agreementRequired()

ilMemberAgreement::agreementRequired ( )

Checks whether the agreement is accepted This function return always true if no acceptance is required by global setting.

Definition at line 221 of file class.ilMemberAgreement.php.

221 : bool
222 {
223 if (
224 !$this->privacy->confirmationRequired($this->type) &&
226 ) {
227 return false;
228 }
229 return !$this->accepted;
230 }

References $accepted, and ilCourseDefinedFieldDefinition\_hasFields().

+ Here is the call graph for this function:

◆ delete()

ilMemberAgreement::delete ( )

Delete entry.

Definition at line 261 of file class.ilMemberAgreement.php.

261 : void
262 {
263 $query = "DELETE FROM member_agreement " .
264 "WHERE usr_id = " . $this->db->quote($this->user_id, 'integer') . " " .
265 "AND obj_id = " . $this->db->quote($this->obj_id, 'integer');
266 $res = $this->db->manipulate($query);
267 }

References $res.

◆ getAcceptanceTime()

ilMemberAgreement::getAcceptanceTime ( )

Definition at line 237 of file class.ilMemberAgreement.php.

237 : int
238 {
240 }

References $acceptance_time.

◆ isAccepted()

ilMemberAgreement::isAccepted ( )

Definition at line 232 of file class.ilMemberAgreement.php.

232 : bool
233 {
234 return $this->accepted;
235 }

References $accepted.

Referenced by save().

+ Here is the caller graph for this function:

◆ lookupAcceptedAgreements()

static ilMemberAgreement::lookupAcceptedAgreements ( int  $a_obj_id)
static

Lookup users who have accepted the agreement.

Returns
int[]

Definition at line 128 of file class.ilMemberAgreement.php.

128 : array
129 {
130 global $DIC;
131
132 $ilDB = $DIC->database();
133 $query = "SELECT usr_id FROM member_agreement " .
134 "WHERE obj_id = " . $ilDB->quote($a_obj_id, 'integer') . ' ' .
135 "AND accepted = 1 ";
136
137 $res = $ilDB->query($query);
138 $user_ids = [];
139 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) {
140 $user_ids[] = (int) $row['usr_id'];
141 }
142 return $user_ids;
143 }

References $DIC, $ilDB, $res, ilDBConstants\FETCHMODE_ASSOC, and ILIAS\Repository\int().

Referenced by ilBookingReservationsTableGUI\getItems(), and ilParticipantTableGUI\initSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ read()

ilMemberAgreement::read ( )

Read user entries.

Definition at line 272 of file class.ilMemberAgreement.php.

272 : void
273 {
274 $query = "SELECT * FROM member_agreement " .
275 "WHERE usr_id = " . $this->db->quote($this->user_id, 'integer') . " " .
276 "AND obj_id = " . $this->db->quote($this->obj_id, 'integer') . " ";
277
278 $res = $this->db->query($query);
279 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
280 $this->accepted = (bool) $row->accepted;
281 $this->acceptance_time = (int) $row->acceptance_time;
282 }
283 }

References $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ save()

ilMemberAgreement::save ( )

save acceptance settings

Definition at line 245 of file class.ilMemberAgreement.php.

245 : void
246 {
247 $this->delete();
248 $query = "INSERT INTO member_agreement (usr_id,obj_id,accepted,acceptance_time) " .
249 "VALUES( " .
250 $this->db->quote($this->user_id, 'integer') . ", " .
251 $this->db->quote($this->obj_id, 'integer') . ", " .
252 $this->db->quote((int) $this->isAccepted(), 'integer') . ", " .
253 $this->db->quote($this->getAcceptanceTime(), 'integer') . " " .
254 ")";
255 $this->db->manipulate($query);
256 }

References isAccepted().

+ Here is the call graph for this function:

◆ setAcceptanceTime()

ilMemberAgreement::setAcceptanceTime ( int  $a_timest)

set acceptance time

Definition at line 212 of file class.ilMemberAgreement.php.

212 : void
213 {
214 $this->acceptance_time = $a_timest;
215 }

◆ setAccepted()

ilMemberAgreement::setAccepted ( bool  $a_status)

set accepted

Definition at line 204 of file class.ilMemberAgreement.php.

204 : void
205 {
206 $this->accepted = $a_status;
207 }

Field Documentation

◆ $acceptance_time

int ilMemberAgreement::$acceptance_time = 0
private

Definition at line 33 of file class.ilMemberAgreement.php.

Referenced by getAcceptanceTime().

◆ $accepted

bool ilMemberAgreement::$accepted = false
private

Definition at line 32 of file class.ilMemberAgreement.php.

Referenced by agreementRequired(), and isAccepted().

◆ $db

ilDBInterface ilMemberAgreement::$db
private

Definition at line 27 of file class.ilMemberAgreement.php.

◆ $obj_id

int ilMemberAgreement::$obj_id
private

Definition at line 29 of file class.ilMemberAgreement.php.

◆ $privacy

ilPrivacySettings ilMemberAgreement::$privacy
private

Definition at line 31 of file class.ilMemberAgreement.php.

◆ $type

string ilMemberAgreement::$type
private

Definition at line 30 of file class.ilMemberAgreement.php.

◆ $user_id

int ilMemberAgreement::$user_id
private

Definition at line 28 of file class.ilMemberAgreement.php.


The documentation for this class was generated from the following file: