ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilIndividualAssessmentMembersStorageDB Class Reference

Store member infos to DB . More...

+ Inheritance diagram for ilIndividualAssessmentMembersStorageDB:
+ Collaboration diagram for ilIndividualAssessmentMembersStorageDB:

Public Member Functions

 __construct ($ilDB)
 
 loadMembers (ilObjIndividualAssessment $obj)
 Get ilIndividualAssessmentMembers-object containing meberinfo associated with $obj.
Parameters
ilObjIndividualAssessment$obj
Returns
ilIndividualAssessmentMembers
More...
 
 loadMember (ilObjIndividualAssessment $obj, ilObjUser $usr)
 Get ilIndividualAssessmentMember-object containing meberinfo associated with $obj and $usr.
Parameters
ilObjIndividualAssessment$obj
ilObjUser$usr
Returns
ilIndividualAssessmentMember
More...
 
 updateMember (ilIndividualAssessmentMember $member)
 Create a new storage entry for member-object.
Parameters
ilIndividualAssessmentMember$member
More...
 
 deleteMembers (ilObjIndividualAssessment $obj)
 Delete entries associated with members-object.
Parameters
ilObjIndividualAssessment$obj
More...
 
 insertMembersRecord (ilObjIndividualAssessment $iass, array $record)
 Create a membership inside storage.
Parameters
ilObjIndividualAssessment$iass
string|int[]$record
More...
 
 removeMembersRecord (ilObjIndividualAssessment $iass, array $record)
 Remove a membership associated with a IndividualAssessment object inside storage.
Parameters
ilObjIndividualAssessment$iass
string|int[]$record
More...
 

Protected Member Functions

 loadMembersQuery ($obj_id)
 

Protected Attributes

 $db
 

Detailed Description

Store member infos to DB .

Definition at line 10 of file class.ilIndividualAssessmentMembersStorageDB.php.

Constructor & Destructor Documentation

◆ __construct()

ilIndividualAssessmentMembersStorageDB::__construct (   $ilDB)

Definition at line 14 of file class.ilIndividualAssessmentMembersStorageDB.php.

References $ilDB.

14  {
15  $this->db = $ilDB;
16  }
global $ilDB

Member Function Documentation

◆ deleteMembers()

ilIndividualAssessmentMembersStorageDB::deleteMembers ( ilObjIndividualAssessment  $obj)

Delete entries associated with members-object.

Parameters
ilObjIndividualAssessment$obj

Implements ilIndividualAssessmentMembersStorage.

Definition at line 73 of file class.ilIndividualAssessmentMembersStorageDB.php.

References ilObject\getId().

73  {
74  $sql = "DELETE FROM iass_members WHERE obj_id = ".$this->db->quote($obj->getId(), 'integer');
75  $this->db->manipulate($sql);
76  }
getId()
get object id public
+ Here is the call graph for this function:

◆ insertMembersRecord()

ilIndividualAssessmentMembersStorageDB::insertMembersRecord ( ilObjIndividualAssessment  $iass,
array  $record 
)

Create a membership inside storage.

Parameters
ilObjIndividualAssessment$iass
string|int[]$record

Implements ilIndividualAssessmentMembersStorage.

Definition at line 97 of file class.ilIndividualAssessmentMembersStorageDB.php.

References ilIndividualAssessmentMembers\FIELD_LEARNING_PROGRESS, ilIndividualAssessmentMembers\FIELD_RECORD, ilIndividualAssessmentMembers\FIELD_USR_ID, and ilObject\getId().

97  {
98  $sql = 'INSERT INTO iass_members (obj_id,usr_id,record,learning_progress,notify) '
99  .' VALUES ('
100  .' '.$this->db->quote($iass->getId(),'integer')
101  .' ,'.$this->db->quote($record[ilIndividualAssessmentMembers::FIELD_USR_ID],'integer')
102  .' ,'.$this->db->quote($record[ilIndividualAssessmentMembers::FIELD_RECORD],'text')
103  .' ,'.$this->db->quote($record[ilIndividualAssessmentMembers::FIELD_LEARNING_PROGRESS],'integer')
104  .' ,'.$this->db->quote(0,'integer')
105  .' )';
106  $this->db->manipulate($sql);
107  }
getId()
get object id public
+ Here is the call graph for this function:

◆ loadMember()

ilIndividualAssessmentMembersStorageDB::loadMember ( ilObjIndividualAssessment  $obj,
ilObjUser  $usr 
)

Get ilIndividualAssessmentMember-object containing meberinfo associated with $obj and $usr.

Parameters
ilObjIndividualAssessment$obj
ilObjUser$usr
Returns
ilIndividualAssessmentMember

Implements ilIndividualAssessmentMembersStorage.

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

References ilObject\getId().

35  {
36  $obj_id = $obj->getId();
37  $usr_id = $usr->getId();
38  $sql = 'SELECT iassme.*'
39  .' FROM iass_members iassme'
40  .' JOIN usr_data usr ON iassme.usr_id = usr.usr_id'
41  .' LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id'
42  .' WHERE obj_id = '.$this->db->quote($obj_id, 'integer')
43  .' AND iassme.usr_id = '.$this->db->quote($usr_id,'integer');
44  $rec = $this->db->fetchAssoc($this->db->query($sql));
45  if($rec) {
46  $member = new ilIndividualAssessmentMember($obj, $usr, $rec);
47  return $member;
48  } else {
49  throw new ilIndividualAssessmentException("invalid usr-obj combination");
50  }
51  }
getId()
get object id public
Edit the record of a user, set LP.
+ Here is the call graph for this function:

◆ loadMembers()

ilIndividualAssessmentMembersStorageDB::loadMembers ( ilObjIndividualAssessment  $obj)

Get ilIndividualAssessmentMembers-object containing meberinfo associated with $obj.

Parameters
ilObjIndividualAssessment$obj
Returns
ilIndividualAssessmentMembers

Implements ilIndividualAssessmentMembersStorage.

Definition at line 21 of file class.ilIndividualAssessmentMembersStorageDB.php.

References $res, ilObject\getId(), and loadMembersQuery().

21  {
22  $members = new ilIndividualAssessmentMembers($obj);
23  $obj_id = $obj->getId();
24  $sql = $this->loadMembersQuery($obj_id);
25  $res = $this->db->query($sql);
26  while($rec = $this->db->fetchAssoc($res)) {
27  $members = $members->withAdditionalRecord($rec);
28  }
29  return $members;
30  }
getId()
get object id public
Member administration related logic, add and remove members, get the list of all members, etc.
+ Here is the call graph for this function:

◆ loadMembersQuery()

ilIndividualAssessmentMembersStorageDB::loadMembersQuery (   $obj_id)
protected

Definition at line 81 of file class.ilIndividualAssessmentMembersStorageDB.php.

References ilIndividualAssessmentMembers\FIELD_EXAMINER_LASTNAME, ilIndividualAssessmentMembers\FIELD_FIRSTNAME, ilIndividualAssessmentMembers\FIELD_LASTNAME, and ilIndividualAssessmentMembers\FIELD_LOGIN.

Referenced by loadMembers().

81  {
82  return 'SELECT ex.firstname as '.ilIndividualAssessmentMembers::FIELD_EXAMINER_FIRSTNAME
87  .' ,iassme.*'
88  .' FROM iass_members iassme'
89  .' JOIN usr_data usr ON iassme.usr_id = usr.usr_id'
90  .' LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id'
91  .' WHERE obj_id = '.$this->db->quote($obj_id, 'integer');
92  }
+ Here is the caller graph for this function:

◆ removeMembersRecord()

ilIndividualAssessmentMembersStorageDB::removeMembersRecord ( ilObjIndividualAssessment  $iass,
array  $record 
)

Remove a membership associated with a IndividualAssessment object inside storage.

Parameters
ilObjIndividualAssessment$iass
string|int[]$record

Implements ilIndividualAssessmentMembersStorage.

Definition at line 112 of file class.ilIndividualAssessmentMembersStorageDB.php.

References ilIndividualAssessmentMembers\FIELD_USR_ID, and ilObject\getId().

112  {
113  $sql = 'DELETE FROM iass_members'
114  .' WHERE obj_id = '.$this->db->quote($iass->getId(), 'integer')
115  .' AND usr_id = '.$this->db->quote($record[ilIndividualAssessmentMembers::FIELD_USR_ID], 'integer');
116  $this->db->manipulate($sql);
117  }
getId()
get object id public
+ Here is the call graph for this function:

◆ updateMember()

ilIndividualAssessmentMembersStorageDB::updateMember ( ilIndividualAssessmentMember  $member)

Create a new storage entry for member-object.

Parameters
ilIndividualAssessmentMember$member

Implements ilIndividualAssessmentMembersStorage.

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

References ilIndividualAssessmentMember\assessmentId(), ilIndividualAssessmentMember\examinerId(), ilIndividualAssessmentMembers\FIELD_EXAMINER_ID, ilIndividualAssessmentMembers\FIELD_FINALIZED, ilIndividualAssessmentMembers\FIELD_INTERNAL_NOTE, ilIndividualAssessmentMembers\FIELD_LEARNING_PROGRESS, ilIndividualAssessmentMembers\FIELD_NOTIFICATION_TS, ilIndividualAssessmentMembers\FIELD_NOTIFY, ilIndividualAssessmentMembers\FIELD_RECORD, ilIndividualAssessmentMember\finalized(), ilIndividualAssessmentMember\id(), ilIndividualAssessmentMember\internalNote(), ilIndividualAssessmentMember\LPStatus(), ilIndividualAssessmentMember\notificationTS(), ilIndividualAssessmentMember\notify(), and ilIndividualAssessmentMember\record().

56  {
57  $sql = 'UPDATE iass_members SET '
58  .' '.ilIndividualAssessmentMembers::FIELD_LEARNING_PROGRESS.' = '.$this->db->quote($member->LPStatus(),'text')
59  .' ,'.ilIndividualAssessmentMembers::FIELD_EXAMINER_ID.' = '.$this->db->quote($member->examinerId(),'integer')
60  .' ,'.ilIndividualAssessmentMembers::FIELD_RECORD.' = '.$this->db->quote($member->record(),'text')
61  .' ,'.ilIndividualAssessmentMembers::FIELD_INTERNAL_NOTE.' = '.$this->db->quote($member->internalNote(),'text')
62  .' ,'.ilIndividualAssessmentMembers::FIELD_NOTIFY.' = '.$this->db->quote($member->notify() ? 1 : 0,'integer')
63  .' ,'.ilIndividualAssessmentMembers::FIELD_FINALIZED.' = '.$this->db->quote($member->finalized() ? 1 : 0,'integer')
64  .' ,'.ilIndividualAssessmentMembers::FIELD_NOTIFICATION_TS.' = '.$this->db->quote($member->notificationTS(),'integer')
65  .' WHERE obj_id = '.$this->db->quote($member->assessmentId(),'integer')
66  .' AND usr_id = '.$this->db->quote($member->id(),'integer');
67  $this->db->manipulate($sql);
68  }
examinerId()
Get the user id of the examiner.
notificationTS()
Get the timestamp, at which the notification was sent.
finalized()
Is this membership allready finalized?
notify()
Will the user be notified after finalization?
assessmentId()
Get the ilObjIndividualAssessment id corresponding to this membership.
id()
Get the user id corresponding to this membership.
LPStatus()
Get the LP-status corresponding to this membership.
+ Here is the call graph for this function:

Field Documentation

◆ $db

ilIndividualAssessmentMembersStorageDB::$db
protected

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