2require_once 
'Modules/IndividualAssessment/interfaces/Members/interface.ilIndividualAssessmentMembersStorage.php';
 
    3require_once 
'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembers.php';
 
    4require_once 
'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMember.php';
 
    5require_once 
'Modules/IndividualAssessment/classes/class.ilObjIndividualAssessment.php';
 
   31        $obj_id = $obj->
getId();
 
   33        $res = $this->db->query($sql);
 
   34        while ($rec = $this->db->fetchAssoc(
$res)) {
 
   35            $members = $members->withAdditionalRecord($rec);
 
   45        string $filter = 
null,
 
   50        $sql .= 
"       WHERE obj_id = " . $this->db->quote($obj->
getId(), 
'integer');
 
   52        if (!is_null($filter)) {
 
   56        if (!is_null($sort)) {
 
   59        $res = $this->db->query($sql);
 
   60        while ($rec = $this->db->fetchAssoc(
$res)) {
 
   72        $obj_id = $obj->
getId();
 
   73        $usr_id = $usr->
getId();
 
   74        $sql = $this->loadMemberQuery();
 
   75        $sql .= 
"       WHERE obj_id = " . $this->db->quote($obj_id, 
'integer') . 
"\n" 
   76            . 
"         AND iassme.usr_id = " . $this->db->quote($usr_id, 
'integer');
 
   78        $rec = $this->db->fetchAssoc($this->db->query($sql));
 
   80            return $this->createAssessmentMember($obj, $usr, $rec);
 
   92        if (!is_null($changer_id)) {
 
   93            $changer_id = (int) $changer_id;
 
   97        if (!is_null($change_time_db)) {
 
   98            $change_time = 
new DateTime($change_time_db);
 
  101        if (!is_null($examiner_id)) {
 
  102            $examiner_id = (int) $examiner_id;
 
  107            $this->createGrading($record, $usr->
getFullname()),
 
  119        if (!is_null($event_time_db)) {
 
  120            $event_time = 
new DateTimeImmutable();
 
  121            $event_time = $event_time->setTimestamp($event_time_db);
 
  142        $where = array(
"obj_id" => array(
"integer", $member->
assessmentId())
 
  143             , 
"usr_id" => array(
"integer", $member->
id())
 
  146        if (!is_null($event_time)) {
 
  147            $event_time = $event_time->getTimestamp();
 
  166        $this->db->update(self::MEMBERS_TABLE, $values, $where);
 
  174        $sql = 
"DELETE FROM " . self::MEMBERS_TABLE . 
" WHERE obj_id = " . $this->db->quote($obj->
getId(), 
'integer');
 
  175        $this->db->manipulate($sql);
 
  183            . 
"iassme.examiner_id," 
  185            . 
"iassme.internal_note," 
  187            . 
"iassme.notification_ts," 
  188            . 
"iassme.learning_progress," 
  189            . 
"iassme.finalized," 
  191            . 
"iassme.event_time," 
  192            . 
"iassme.user_view_file," 
  193            . 
"iassme.file_name," 
  194            . 
"iassme.changer_id," 
  195            . 
"iassme.change_time," 
  196            . 
"usr.lastname AS user_lastname," 
  197            . 
"ex.login AS examiner_login" 
  198            . 
" FROM " . self::MEMBERS_TABLE . 
" iassme\n" 
  199            . 
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id\n" 
  200            . 
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id\n" 
  217                . 
"     ,iassme.obj_id, iassme.usr_id, iassme.examiner_id, iassme.record, iassme.internal_note, iassme.notify" 
  218                . 
"     ,iassme.notification_ts, iassme.learning_progress, iassme.finalized,iassme.place" 
  219                . 
"     ,iassme.event_time, iassme.changer_id, iassme.change_time\n" 
  220                . 
" FROM iass_members iassme" 
  221                . 
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id" 
  222                . 
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id" 
  223                . 
" LEFT JOIN usr_data ud ON iassme.changer_id = ud.usr_id" 
  224                . 
" WHERE obj_id = " . $this->db->quote($obj_id, 
'integer');
 
  232        $values = array(
"obj_id" => array(
"integer", $iass->
getId())
 
  249        $this->db->insert(self::MEMBERS_TABLE, $values);
 
  257        $sql = 
"DELETE FROM " . self::MEMBERS_TABLE . 
"\n" 
  258                . 
" WHERE obj_id = " . $this->db->quote($iass->
getId(), 
'integer') . 
"\n" 
  261        $this->db->manipulate($sql);
 
  271                return "      AND finalized = 0 AND examiner_id IS NULL\n";
 
  274                return "      AND finalized = 0 AND examiner_id IS NOT NULL\n";
 
  277                return "      AND finalized = 1 AND learning_progress = 2\n";
 
  280                return "      AND finalized = 1 AND learning_progress = 3\n";
 
  287        $vals = explode(
":", $sort);
 
  289        return " ORDER BY " . $vals[0] . 
" " . $vals[1];
 
An exception for terminatinating execution or to throw for unit testing.
Edit the record of a user, set LP.
Member administration related logic, add and remove members, get the list of all members,...
const FIELD_INTERNAL_NOTE
const FIELD_CHANGER_LASTNAME
const FIELD_USER_VIEW_FILE
const FIELD_CHANGER_FIRSTNAME
const LP_ASSESSMENT_NOT_COMPLETED
const FIELD_EXAMINER_FIRSTNAME
const FIELD_NOTIFICATION_TS
const FIELD_LEARNING_PROGRESS
const FIELD_EXAMINER_LASTNAME
For the purpose of streamlining the grading and learning-process status definition outside of tests,...
getFullname($a_max_strlen=0)
get fullname @access public
getId()
get object id @access public
foreach($_POST as $key=> $value) $res