ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilMemberAgreement Class Reference
+ Collaboration diagram for ilMemberAgreement:

Public Member Functions

 __construct ($a_usr_id, $a_obj_id)
 Constructor. More...
 
 setAccepted ($a_status)
 set accepted More...
 
 setAcceptanceTime ($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 ()
 Is accepted. More...
 
 getAcceptanceTime ()
 get Acceptance time More...
 
 save ()
 save Acceptance settings More...
 
 delete ()
 Delete entry. More...
 
 read ()
 Read user entries. More...
 

Static Public Member Functions

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

Private Attributes

 $db
 
 $user_id
 
 $obj_id
 
 $type
 
 $privacy
 
 $accepted = false
 
 $acceptance_time = 0
 

Detailed Description

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilMemberAgreement::__construct (   $a_usr_id,
  $a_obj_id 
)

Constructor.

@access public

Parameters
intusr_id
intobj_id

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

55 {
56 global $ilDB;
57
58 $this->db = $ilDB;
59 $this->user_id = $a_usr_id;
60 $this->obj_id = $a_obj_id;
61 $this->type = ilObject::_lookupType($this->obj_id);
62
63 $this->privacy = ilPrivacySettings::_getInstance();
64
65 if($this->privacy->confirmationRequired($this->type) or ilCourseDefinedFieldDefinition::_hasFields($this->obj_id))
66 {
67 $this->read();
68 }
69 }
static _hasFields($a_container_id)
Check if there are any define fields.
read()
Read user entries.
static _lookupType($a_id, $a_reference=false)
lookup object type
static _getInstance()
Get instance of ilPrivacySettings.
global $ilDB

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

+ Here is the call graph for this function:

Member Function Documentation

◆ _deleteByObjId()

static ilMemberAgreement::_deleteByObjId (   $a_obj_id)
static

Delete all entries by obj_id.

@access public static

Parameters
intobj_id

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

206 {
207 global $ilDB;
208
209 $query = "DELETE FROM member_agreement ".
210 "WHERE obj_id =".$ilDB->quote($a_obj_id ,'integer')." ";
211 $res = $ilDB->manipulate($query);
212
213 return true;
214
215 }

References $ilDB, $query, 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 (   $a_usr_id)
static

Delete all entries by user.

@access public static

Parameters
intuser id

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

188 {
189 global $ilDB;
190
191 $query = "DELETE FROM member_agreement ".
192 "WHERE usr_id =".$ilDB->quote($a_usr_id ,'integer')." ";
193 $res = $ilDB->manipulate($query);
194
195 return true;
196 }

References $ilDB, $query, and $res.

Referenced by ilCourseTest\testMemberAgreement().

+ Here is the caller graph for this function:

◆ _hasAccepted()

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

Check if user has accepted agreement.

@access public

Parameters

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

143 {
144 global $ilDB;
145
146 $query = "SELECT accepted FROM member_agreement ".
147 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,'integer')." ".
148 "AND obj_id = ".$ilDB->quote($a_obj_id ,'integer');
149 $res = $ilDB->query($query);
150 $row = $res->fetchRow(DB_FETCHMODE_OBJECT);
151
152 return $row->accepted == 1 ? true : false;
153 }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11

References $ilDB, $query, $res, $row, and DB_FETCHMODE_OBJECT.

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

+ Here is the caller graph for this function:

◆ _hasAgreements()

static ilMemberAgreement::_hasAgreements ( )
static

Check if there is any user agreement.

@access public

Parameters
intobj_id

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

124 {
125 global $ilDB;
126
127 $query = "SELECT * FROM member_agreement ".
128 "WHERE accepted = 1";
129
130 $res = $ilDB->query($query);
131 return $res->numRows() ? true : false;
132 }

References $ilDB, $query, and $res.

Referenced by ilCustomUserFieldsGUI\initForm(), ilObjPrivacySecurityGUI\showPrivacy(), and ilCourseTest\testMemberAgreement().

+ Here is the caller graph for this function:

◆ _hasAgreementsByObjId()

static ilMemberAgreement::_hasAgreementsByObjId (   $a_obj_id)
static

Check if there is any user agreement.

@access public

Parameters
intobj_id

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

104 {
105 global $ilDB;
106
107 $query = "SELECT * FROM member_agreement ".
108 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,'integer')." ".
109 "AND accepted = 1";
110
111 $res = $ilDB->query($query);
112 return $res->numRows() ? true : false;
113 }

References $ilDB, $query, and $res.

Referenced by ilObjectCustomUserFieldsGUI\show(), and ilCourseTest\testMemberAgreement().

+ Here is the caller graph for this function:

◆ _readByObjId()

static ilMemberAgreement::_readByObjId (   $a_obj_id)
static

Read user data by object id.

@access public

Parameters
intobj_id

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

80 {
81 global $ilDB;
82
83 $query = "SELECT * FROM member_agreement ".
84 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,'integer');
85
86 $res = $ilDB->query($query);
87 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
88 {
89 $user_data[$row->usr_id]['accepted'] = $row->accepted;
90 $user_data[$row->usr_id]['acceptance_time'] = $row->acceptance_time;
91 }
92 return $user_data ? $user_data : array();
93 }

References $ilDB, $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilMemberExport\__construct().

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

@access public

Parameters

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

226 {
227 global $ilDB;
228
229 $query = "UPDATE member_agreement SET accepted = 0 ";
230 $res = $ilDB->manipulate($query);
231
232 return true;
233 }

References $ilDB, $query, and $res.

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

+ Here is the caller graph for this function:

◆ _resetContainer()

static ilMemberAgreement::_resetContainer (   $a_container_id)
static

Reset all agreements for a specific container.

@access public static

Parameters
intobj_id of container

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

243 {
244 global $ilDB;
245
246 $query = "UPDATE member_agreement ".
247 "SET accepted = 0 ".
248 "WHERE obj_id = ".$ilDB->quote($a_container_id ,'integer')." ";
249 $res = $ilDB->manipulate($query);
250
251 return true;
252 }

References $ilDB, $query, and $res.

◆ agreementRequired()

ilMemberAgreement::agreementRequired ( )

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

@access public

Returns
bool

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

284 {
285 if(!$this->privacy->confirmationRequired($this->type) and !ilCourseDefinedFieldDefinition::_hasFields($this->obj_id))
286 {
287 return false;
288 }
289 return $this->accepted ? false : true;
290 }

References ilCourseDefinedFieldDefinition\_hasFields().

+ Here is the call graph for this function:

◆ delete()

ilMemberAgreement::delete ( )

Delete entry.

@access public

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

346 {
347 global $ilDB;
348
349 $query = "DELETE FROM member_agreement ".
350 "WHERE usr_id = ".$this->db->quote($this->user_id ,'integer')." ".
351 "AND obj_id = ".$this->db->quote($this->obj_id ,'integer');
352 $res = $ilDB->manipulate($query);
353 return true;
354 }

References $ilDB, $query, and $res.

◆ getAcceptanceTime()

ilMemberAgreement::getAcceptanceTime ( )

get Acceptance time

@access public

Parameters

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

References $acceptance_time.

◆ isAccepted()

ilMemberAgreement::isAccepted ( )

Is accepted.

@access public

Parameters

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

300 {
301 return (bool) $this->accepted;
302 }

References $accepted.

Referenced by save().

+ Here is the caller graph for this function:

◆ lookupAcceptedAgreements()

static ilMemberAgreement::lookupAcceptedAgreements (   $a_obj_id)
static

Lookup users who have accepted the agreement.

Parameters
int$a_obj_id
Returns

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

161 {
162 global $ilDB;
163
164 $query = "SELECT usr_id FROM member_agreement ".
165 "WHERE obj_id = ".$ilDB->quote($a_obj_id,'integer').' '.
166 "AND accepted = 1 ";
167
168 $res = $ilDB->query($query);
169 $user_ids = array();
170 while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
171 {
172 $user_ids[] = $row['usr_id'];
173 }
174 return $user_ids;
175 }
const DB_FETCHMODE_ASSOC
Definition: class.ilDB.php:10

References $ilDB, $query, $res, $row, and DB_FETCHMODE_ASSOC.

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

+ Here is the caller graph for this function:

◆ read()

ilMemberAgreement::read ( )

Read user entries.

@access private

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

362 {
363 $query = "SELECT * FROM member_agreement ".
364 "WHERE usr_id = ".$this->db->quote($this->user_id ,'integer')." ".
365 "AND obj_id = ".$this->db->quote($this->obj_id ,'integer')." ";
366
367 $res = $this->db->query($query);
368 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
369 {
370 $this->accepted = $row->accepted;
371 $this->acceptance_time = $row->acceptance_time;
372 }
373 }

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ save()

ilMemberAgreement::save ( )

save Acceptance settings

@access public

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

323 {
324 global $ilDB;
325
326 $this->delete();
327
328 $query = "INSERT INTO member_agreement (usr_id,obj_id,accepted,acceptance_time) ".
329 "VALUES( ".
330 $this->db->quote($this->user_id ,'integer').", ".
331 $this->db->quote($this->obj_id ,'integer').", ".
332 $this->db->quote((int) $this->isAccepted() ,'integer').", ".
333 $this->db->quote($this->getAcceptanceTime() ,'integer')." ".
334 ")";
335 $ilDB->manipulate($query);
336 return true;
337 }

References $ilDB, $query, and isAccepted().

+ Here is the call graph for this function:

◆ setAcceptanceTime()

ilMemberAgreement::setAcceptanceTime (   $a_timest)

set acceptance time

@access public

Parameters
intunix time of acceptance

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

273 {
274 $this->acceptance_time = $a_timest;
275 }

◆ setAccepted()

ilMemberAgreement::setAccepted (   $a_status)

set accepted

@access public

Parameters
boolstatus

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

261 {
262 $this->accepted = $a_status;
263 }

Field Documentation

◆ $acceptance_time

ilMemberAgreement::$acceptance_time = 0
private

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

Referenced by getAcceptanceTime().

◆ $accepted

ilMemberAgreement::$accepted = false
private

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

Referenced by isAccepted().

◆ $db

ilMemberAgreement::$db
private

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

◆ $obj_id

ilMemberAgreement::$obj_id
private

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

◆ $privacy

ilMemberAgreement::$privacy
private

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

◆ $type

ilMemberAgreement::$type
private

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

◆ $user_id

ilMemberAgreement::$user_id
private

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


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