3 declare(strict_types=1);
    39         $this->db = $DIC->database();
    40         $this->eventHandler = $DIC->event();
    41         $this->obj_id = $a_obj_id;
    51         $ilDB = $DIC->database();
    52         $query = 
'SELECT count(usr_id) num from crs_waiting_list WHERE obj_id = ' . 
$ilDB->quote($a_obj_id, 
'integer');
    55             return (
int) $row->num;
    64         $ilDB = $DIC->database();
    66         $query = 
"DELETE FROM crs_waiting_list WHERE obj_id = " . 
$ilDB->quote($a_obj_id, 
'integer') . 
" ";
    74         $ilDB = $DIC->database();
    75         $query = 
"DELETE FROM crs_waiting_list WHERE usr_id = " . 
$ilDB->quote($a_usr_id, 
'integer');
    83         $ilDB = $DIC->database();
    84         $query = 
"DELETE FROM crs_waiting_list " .
    85             "WHERE usr_id = " . 
$ilDB->quote($a_usr_id, 
'integer') . 
' ' .
    86             "AND obj_id = " . 
$ilDB->quote($a_obj_id, 
'integer');
   100         $query = 
"INSERT INTO crs_waiting_list (obj_id,usr_id,sub_time) " .
   102             $this->db->quote($this->
getObjId(), 
'integer') . 
", " .
   103             $this->db->quote($a_usr_id, 
'integer') . 
", " .
   104             $this->db->quote(time(), 
'integer') . 
" " .
   106         $res = $this->db->manipulate($query);
   113         $query = 
"UPDATE crs_waiting_list " .
   114             "SET sub_time = " . $this->db->quote($a_subtime, 
'integer') . 
" " .
   115             "WHERE usr_id = " . $this->db->quote($a_usr_id, 
'integer') . 
" " .
   116             "AND obj_id = " . $this->db->quote($this->
getObjId(), 
'integer') . 
" ";
   117         $res = $this->db->manipulate($query);
   122         $query = 
"DELETE FROM crs_waiting_list " .
   123             " WHERE obj_id = " . $this->db->quote($this->
getObjId(), 
'integer') . 
" " .
   124             " AND usr_id = " . $this->db->quote($a_usr_id, 
'integer') . 
" ";
   125         $affected = $this->db->manipulate($query);
   127         return $affected > 0;
   132         return isset($this->users[$a_usr_id]);
   135     public static function _isOnList(
int $a_usr_id, 
int $a_obj_id): bool
   139         $ilDB = $DIC[
'ilDB'];
   140         if (isset(self::$is_on_list[$a_usr_id][$a_obj_id])) {
   141             return self::$is_on_list[$a_usr_id][$a_obj_id];
   144         $query = 
"SELECT usr_id " .
   145             "FROM crs_waiting_list " .
   146             "WHERE obj_id = " . 
$ilDB->quote($a_obj_id, 
'integer') . 
" " .
   147             "AND usr_id = " . 
$ilDB->quote($a_usr_id, 
'integer');
   149         return (
bool) 
$res->numRows();
   162         $ilDB = $DIC[
'ilDB'];
   163         foreach ($a_usr_ids as $usr_id) {
   164             foreach ($a_obj_ids as $obj_id) {
   165                 self::$is_on_list[$usr_id][
$obj_id] = 
false;
   168         $query = 
"SELECT usr_id, obj_id " .
   169             "FROM crs_waiting_list " .
   171             $ilDB->in(
"obj_id", $a_obj_ids, 
false, 
"integer") . 
" AND " .
   172             $ilDB->in(
"usr_id", $a_usr_ids, 
false, 
"integer");
   175             self::$is_on_list[(
int) $rec[
"usr_id"]][(
int) $rec[
"obj_id"]] = 
true;
   181         return count($this->users);
   186         return isset($this->users[$a_usr_id]) ? $this->users[$a_usr_id][
'position'] : -1;
   206         return $this->users[$a_usr_id] ?? [];
   220         $query = 
"SELECT * FROM crs_waiting_list " .
   221             "WHERE obj_id = " . $this->db->quote($this->
getObjId(), 
'integer') . 
" ORDER BY sub_time";
   223         $res = $this->db->query($query);
   227             $this->users[(
int) $row->usr_id][
'position'] = $counter;
   228             $this->users[(
int) $row->usr_id][
'time'] = (
int) $row->sub_time;
   229             $this->users[(
int) $row->usr_id][
'usr_id'] = (
int) $row->usr_id;
   231             $this->user_ids[] = (
int) $row->usr_id;
 removeFromList(int $a_usr_id)
 
getUser(int $a_usr_id)
get user 
 
static _preloadOnListInfo(array $a_usr_ids, array $a_obj_ids)
Preload on list info. 
 
getPosition(int $a_usr_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
__construct(int $a_obj_id)
 
static _deleteAll(int $a_obj_id)
 
getAllUsers()
get all users on waiting list  public 
 
static _deleteUser(int $a_usr_id)
 
static deleteUserEntry(int $a_usr_id, int $a_obj_id)
 
updateSubscriptionTime(int $a_usr_id, int $a_subtime)
 
static lookupListSize(int $a_obj_id)
 
static _isOnList(int $a_usr_id, int $a_obj_id)
 
ilAppEventHandler $eventHandler