ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f87
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.

public

Parameters
intusr_id
intobj_id

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

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

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  }
read()
Read user entries.
static _lookupType($a_id, $a_reference=false)
lookup object type
static _hasFields($a_container_id)
Check if there are any define fields.
global $ilDB
static _getInstance()
Get instance of ilPrivacySettings.
+ 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.

public static

Parameters
intobj_id

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

References $ilDB, $query, and $res.

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

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  }
global $ilDB
+ Here is the caller graph for this function:

◆ _deleteByUser()

static ilMemberAgreement::_deleteByUser (   $a_usr_id)
static

Delete all entries by user.

public static

Parameters
intuser id

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

References $ilDB, $query, and $res.

Referenced by ilCourseTest\testMemberAgreement().

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  }
global $ilDB
+ 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.

public

Parameters

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

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

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

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
global $ilDB
+ Here is the caller graph for this function:

◆ _hasAgreements()

static ilMemberAgreement::_hasAgreements ( )
static

Check if there is any user agreement.

public

Parameters
intobj_id

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

References $ilDB, $query, and $res.

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

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  }
global $ilDB
+ Here is the caller graph for this function:

◆ _hasAgreementsByObjId()

static ilMemberAgreement::_hasAgreementsByObjId (   $a_obj_id)
static

Check if there is any user agreement.

public

Parameters
intobj_id

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

References $ilDB, $query, and $res.

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

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  }
global $ilDB
+ Here is the caller graph for this function:

◆ _readByObjId()

static ilMemberAgreement::_readByObjId (   $a_obj_id)
static

Read user data by object id.

public

Parameters
intobj_id

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

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

Referenced by ilMemberExport\__construct().

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  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
global $ilDB
+ 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.

public

Parameters

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

References $ilDB, $query, and $res.

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

226  {
227  global $ilDB;
228 
229  $query = "UPDATE member_agreement SET accepted = 0 ";
230  $res = $ilDB->manipulate($query);
231 
232  return true;
233  }
global $ilDB
+ Here is the caller graph for this function:

◆ _resetContainer()

static ilMemberAgreement::_resetContainer (   $a_container_id)
static

Reset all agreements for a specific container.

public static

Parameters
intobj_id of container

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

References $ilDB, $query, and $res.

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  }
global $ilDB

◆ agreementRequired()

ilMemberAgreement::agreementRequired ( )

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

public

Returns
bool

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

References ilCourseDefinedFieldDefinition\_hasFields().

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  }
static _hasFields($a_container_id)
Check if there are any define fields.
+ Here is the call graph for this function:

◆ delete()

ilMemberAgreement::delete ( )

Delete entry.

public

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

References $ilDB, $query, and $res.

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  }
global $ilDB

◆ getAcceptanceTime()

ilMemberAgreement::getAcceptanceTime ( )

get Acceptance time

public

Parameters

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

References $acceptance_time.

Referenced by save().

312  {
313  return $this->acceptance_time;
314  }
+ Here is the caller graph for this function:

◆ isAccepted()

ilMemberAgreement::isAccepted ( )

Is accepted.

public

Parameters

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

References $accepted.

Referenced by save().

300  {
301  return (bool) $this->accepted;
302  }
+ 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.

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

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

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
global $ilDB
+ Here is the caller graph for this function:

◆ read()

ilMemberAgreement::read ( )

Read user entries.

private

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

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

Referenced by __construct().

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  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the caller graph for this function:

◆ save()

ilMemberAgreement::save ( )

save Acceptance settings

public

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

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

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  }
getAcceptanceTime()
get Acceptance time
global $ilDB
+ Here is the call graph for this function:

◆ setAcceptanceTime()

ilMemberAgreement::setAcceptanceTime (   $a_timest)

set acceptance time

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

public

Parameters
boolstatus

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

Referenced by ilRegistrationGUI\setAccepted().

261  {
262  $this->accepted = $a_status;
263  }
+ Here is the caller graph for this function:

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: