ILIAS  trunk Revision v11.0_alpha-1831-g8615d53dadb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

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

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  }
global $DIC
Definition: shib_login.php:22
read()
Read user entries.
static _lookupType(int $id, bool $reference=false)
static _hasFields(int $a_container_id)
Check if there are any define fields.
+ 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.

References $DIC, $ilDB, and $res.

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

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:66
global $DIC
Definition: shib_login.php:22
+ 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.

References $DIC, $ilDB, and $res.

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22

◆ _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.

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

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

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ 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.

References $DIC, $ilDB, and $res.

Referenced by ilCustomUserFieldsGUI\initFieldDefinition(), ilCustomUserFieldsGUI\initForm(), and ilObjPrivacySecurityGUI\initPrivacyForm().

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ 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.

References $DIC, $ilDB, and $res.

Referenced by ilObjectCustomUserFieldsGUI\show().

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ 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.

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

Referenced by ilMemberExport\__construct().

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ 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.

References $DIC, $ilDB, and $res.

Referenced by ilCustomUserFieldsGUI\create(), ilObjPrivacySecurityGUI\save_privacy(), ilObjUserFolderGUI\saveGlobalUserSettingsObject(), and ilCustomUserFieldsGUI\update().

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ 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.

References $DIC, $ilDB, and $res.

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22

◆ 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.

References $accepted, and ilCourseDefinedFieldDefinition\_hasFields().

221  : bool
222  {
223  if (
224  !$this->privacy->confirmationRequired($this->type) &&
226  ) {
227  return false;
228  }
229  return !$this->accepted;
230  }
static _hasFields(int $a_container_id)
Check if there are any define fields.
+ Here is the call graph for this function:

◆ delete()

ilMemberAgreement::delete ( )

Delete entry.

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

References $res.

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  }
$res
Definition: ltiservices.php:66

◆ getAcceptanceTime()

ilMemberAgreement::getAcceptanceTime ( )

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

References $acceptance_time.

Referenced by save().

237  : int
238  {
239  return $this->acceptance_time;
240  }
+ Here is the caller graph for this function:

◆ isAccepted()

ilMemberAgreement::isAccepted ( )

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

References $accepted.

Referenced by save().

232  : bool
233  {
234  return $this->accepted;
235  }
+ 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.

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

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

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  }
$res
Definition: ltiservices.php:66
global $DIC
Definition: shib_login.php:22
+ 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.

References $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by __construct().

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  }
$res
Definition: ltiservices.php:66
+ Here is the caller graph for this function:

◆ save()

ilMemberAgreement::save ( )

save acceptance settings

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

References getAcceptanceTime(), and isAccepted().

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  }
+ 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.

Referenced by ilRegistrationGUI\setAccepted().

204  : void
205  {
206  $this->accepted = $a_status;
207  }
+ Here is the caller graph for this function:

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: