19 declare(strict_types=1);
    44         $obj_id = $obj->
getId();
    46         $res = $this->db->query($sql);
    47         while ($rec = $this->db->fetchAssoc(
$res)) {
    48             $members = $members->withAdditionalRecord($rec);
    58         string $filter = null,
    63         $sql .= 
"       WHERE obj_id = " . $this->db->quote($obj->
getId(), 
'integer');
    65         if (!is_null($filter)) {
    69         if (!is_null($sort)) {
    72         $res = $this->db->query($sql);
    73         while ($rec = $this->db->fetchAssoc(
$res)) {
    74             $usr = 
new ilObjUser((
int)$rec[
"usr_id"]);
    85         $obj_id = $obj->
getId();
    86         $usr_id = $usr->
getId();
    88         $sql .= 
"       WHERE obj_id = " . $this->db->quote($obj_id, 
'integer') . 
"\n"    89             . 
"         AND iassme.usr_id = " . $this->db->quote($usr_id, 
'integer');
    91         $rec = $this->db->fetchAssoc($this->db->query($sql));
   105         if (!is_null($changer_id)) {
   106             $changer_id = (
int) $changer_id;
   110         if (!is_null($change_time_db)) {
   114         if (!is_null($examiner_id)) {
   115             $examiner_id = (
int) $examiner_id;
   132         if (!is_null($event_time_db)) {
   134             $event_time = $event_time->setTimestamp((
int) $event_time_db);
   157             "usr_id" => [
"integer", $member->
id()]
   161         if (!is_null($event_time)) {
   162             $event_time = $event_time->getTimestamp();
   181         $this->db->update(self::MEMBERS_TABLE, $values, $where);
   186         return date(
"Y-m-d H:i:s");
   196                 $resource_id = $this->irss->manage()->find($identifier);
   197                 $this->irss->manage()->remove($resource_id, $this->stakeholder);
   201         $sql = 
"DELETE FROM " . self::MEMBERS_TABLE . 
" WHERE obj_id = " . $this->db->quote($obj->
getId(), 
'integer');
   202         $this->db->manipulate($sql);
   210             . 
"iassme.examiner_id,"   212             . 
"iassme.internal_note,"   214             . 
"iassme.notification_ts,"   215             . 
"iassme.learning_progress,"   216             . 
"iassme.finalized,"   218             . 
"iassme.event_time,"   219             . 
"iassme.user_view_file,"   220             . 
"iassme.file_name,"   221             . 
"iassme.changer_id,"   222             . 
"iassme.change_time,"   223             . 
"usr.login AS user_login,"   224             . 
"ex.login AS examiner_login"   225             . 
" FROM " . self::MEMBERS_TABLE . 
" iassme\n"   226             . 
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id\n"   227             . 
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id\n"   241                 . 
"     ,iassme.obj_id, iassme.usr_id, iassme.examiner_id, iassme.record, iassme.internal_note, iassme.notify"   242                 . 
"     ,iassme.notification_ts, iassme.learning_progress, iassme.finalized,iassme.place"   243                 . 
"     ,iassme.event_time, iassme.changer_id, iassme.change_time\n"   244                 . 
" FROM iass_members iassme"   245                 . 
" JOIN usr_data usr ON iassme.usr_id = usr.usr_id"   246                 . 
" LEFT JOIN usr_data ex ON iassme.examiner_id = ex.usr_id"   247                 . 
" LEFT JOIN usr_data ud ON iassme.changer_id = ud.usr_id"   248                 . 
" WHERE obj_id = " . $this->db->quote($obj_id, 
'integer');
   347         $this->db->insert(self::MEMBERS_TABLE, $values);
   358             $resource_id = $this->irss->manage()->find($identifier);
   359             $this->irss->manage()->remove($resource_id, $this->stakeholder);
   363              "DELETE FROM " . self::MEMBERS_TABLE . PHP_EOL
   364             . 
"WHERE obj_id = " . $this->db->quote($iass->
getId(), 
'integer') . PHP_EOL
   368         $this->db->manipulate($sql);
   378                 return "      AND finalized = 0 AND examiner_id IS NULL\n";
   380                 return "      AND finalized = 0 AND examiner_id IS NOT NULL\n";
   382                 return "      AND finalized = 1 AND learning_progress = 2\n";
   384                 return "      AND finalized = 1 AND learning_progress = 3\n";
   392         $vals = explode(
":", $sort);
   394         return " ORDER BY " . $vals[0] . 
" " . $vals[1];
 
For the purpose of streamlining the grading and learning-process status definition outside of tests...
 
const FIELD_INTERNAL_NOTE
 
getFullname(int $a_max_strlen=0)
 
const FIELD_LEARNING_PROGRESS
 
const FIELD_CHANGER_FIRSTNAME
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
const FIELD_USER_VIEW_FILE
 
const LP_ASSESSMENT_NOT_COMPLETED
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
const FIELD_EXAMINER_FIRSTNAME
 
const FIELD_NOTIFICATION_TS
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
const FIELD_EXAMINER_LASTNAME
 
const FIELD_CHANGER_LASTNAME
 
Member administration related logic, add and remove members, get the list of all members, etc ...