ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilWaitingList Class Reference

Base class for course and group waiting lists. More...

+ Inheritance diagram for ilWaitingList:
+ Collaboration diagram for ilWaitingList:

Public Member Functions

 __construct ($a_obj_id)
 Constructor.
 getObjId ()
 get obj id
 addToList ($a_usr_id)
 add to list
 updateSubscriptionTime ($a_usr_id, $a_subtime)
 update subscription time
 removeFromList ($a_usr_id)
 remove usr from list
 isOnList ($a_usr_id)
 check if is on waiting list
 getCountUsers ()
 get number of users
 getPosition ($a_usr_id)
 get position
 getAllUsers ()
 get all users on waiting list
 getUser ($a_usr_id)
 get user
 getUserIds ()
 Get all user ids of users on waiting list.

Static Public Member Functions

static _deleteAll ($a_obj_id)
 delete all
static _deleteUser ($a_usr_id)
 Delete user.

Private Member Functions

 read ()
 Read waiting list.

Private Attributes

 $db = null
 $obj_id = 0
 $user_ids = array()
 $users = array()

Detailed Description

Base class for course and group waiting lists.

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 33 of file class.ilWaitingList.php.

Constructor & Destructor Documentation

ilWaitingList::__construct (   $a_obj_id)

Constructor.

public

Parameters
intobj_id

Definition at line 48 of file class.ilWaitingList.php.

References read().

{
global $ilDB;
$this->db = $ilDB;
$this->obj_id = $a_obj_id;
$this->read();
}

+ Here is the call graph for this function:

Member Function Documentation

static ilWaitingList::_deleteAll (   $a_obj_id)
static

delete all

public

Parameters
intobj_id

Definition at line 65 of file class.ilWaitingList.php.

Referenced by ilSoapCourseAdministration\updateCourse().

{
global $ilDB;
$query = "DELETE FROM crs_waiting_list WHERE obj_id = ".$ilDB->quote($a_obj_id)." ";
$ilDB->query($query);
return true;
}

+ Here is the caller graph for this function:

static ilWaitingList::_deleteUser (   $a_usr_id)
static

Delete user.

public

Parameters
intuser_id

Definition at line 82 of file class.ilWaitingList.php.

{
global $ilDB;
$query = "DELETE FROM crs_waiting_list WHERE usr_id = ".$ilDB->quote($a_usr_id)."";
$ilDB->query($query);
return true;
}
ilWaitingList::addToList (   $a_usr_id)

add to list

public

Parameters
intusr_id

Definition at line 110 of file class.ilWaitingList.php.

References getObjId(), isOnList(), and read().

Referenced by ilGroupRegistrationGUI\add(), and ilCourseRegistrationGUI\add().

{
global $ilDB;
if($this->isOnList($a_usr_id))
{
return false;
}
$query = "INSERT INTO crs_waiting_list ".
"SET obj_id = ".$ilDB->quote($this->getObjId()).", ".
"usr_id = ".$ilDB->quote($a_usr_id).", ".
"sub_time = ".$ilDB->quote(time())." ";
$this->db->query($query);
$this->read();
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWaitingList::getAllUsers ( )

get all users on waiting list

public

Returns
array array(position,time,usr_id)

Definition at line 211 of file class.ilWaitingList.php.

{
return $this->users ? $this->users : array();
}
ilWaitingList::getCountUsers ( )

get number of users

public

Returns
int number of users

Definition at line 188 of file class.ilWaitingList.php.

{
return count($this->users);
}
ilWaitingList::getObjId ( )

get obj id

public

Returns
int obj_id

Definition at line 99 of file class.ilWaitingList.php.

References $obj_id.

Referenced by addToList(), read(), removeFromList(), and updateSubscriptionTime().

{
return $this->obj_id;
}

+ Here is the caller graph for this function:

ilWaitingList::getPosition (   $a_usr_id)

get position

public

Parameters
intusr_id
Returns
position of user otherwise -1

Definition at line 200 of file class.ilWaitingList.php.

{
return isset($this->users[$a_usr_id]) ? $this->users[$a_usr_id]['position'] : -1;
}
ilWaitingList::getUser (   $a_usr_id)

get user

public

Parameters
intusr_id
Returns

Definition at line 223 of file class.ilWaitingList.php.

{
return isset($this->users[$a_usr_id]) ? $this->users[$a_usr_id] : false;
}
ilWaitingList::getUserIds ( )

Get all user ids of users on waiting list.

Definition at line 233 of file class.ilWaitingList.php.

{
return $this->user_ids ? $this->user_ids : array();
}
ilWaitingList::isOnList (   $a_usr_id)

check if is on waiting list

public

Parameters
intusr_id
Returns

Definition at line 177 of file class.ilWaitingList.php.

Referenced by addToList().

{
return isset($this->users[$a_usr_id]) ? true : false;
}

+ Here is the caller graph for this function:

ilWaitingList::read ( )
private

Read waiting list.

private

Parameters
@return

Definition at line 246 of file class.ilWaitingList.php.

References $res, DB_FETCHMODE_OBJECT, and getObjId().

Referenced by __construct(), addToList(), and removeFromList().

{
global $ilDB;
$this->users = array();
$query = "SELECT * FROM crs_waiting_list ".
"WHERE obj_id = ".$ilDB->quote($this->getObjId())." ORDER BY sub_time";
$res = $this->db->query($query);
$counter = 0;
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
++$counter;
$this->users[$row->usr_id]['position'] = $counter;
$this->users[$row->usr_id]['time'] = $row->sub_time;
$this->users[$row->usr_id]['usr_id'] = $row->usr_id;
$this->user_ids[] = $row->usr_id;
}
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWaitingList::removeFromList (   $a_usr_id)

remove usr from list

public

Parameters
intusr_id
Returns

Definition at line 156 of file class.ilWaitingList.php.

References getObjId(), and read().

Referenced by ilObjGroupGUI\assignFromWaitingListObject(), ilObjCourseGUI\assignFromWaitingListObject(), ilObjGroupGUI\refuseFromListObject(), and ilObjCourseGUI\refuseFromListObject().

{
global $ilDB;
$query = "DELETE FROM crs_waiting_list ".
" WHERE obj_id = ".$ilDB->quote($this->getObjId())." ".
" AND usr_id = ".$ilDB->quote($a_usr_id)." ";
$this->db->query($query);
$this->read();
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWaitingList::updateSubscriptionTime (   $a_usr_id,
  $a_subtime 
)

update subscription time

public

Parameters
intusr_id
intsubsctription time

Definition at line 136 of file class.ilWaitingList.php.

References getObjId().

{
global $ilDB;
$query = "UPDATE crs_waiting_list ".
"SET sub_time = ".$ilDB->quote($a_subtime)." ".
"WHERE usr_id = ".$ilDB->quote($a_usr_id)." ".
"AND obj_id = ".$ilDB->quote($this->getObjId())." ";
$this->db->query($query);
return true;
}

+ Here is the call graph for this function:

Field Documentation

ilWaitingList::$db = null
private

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

ilWaitingList::$obj_id = 0
private

Definition at line 36 of file class.ilWaitingList.php.

Referenced by getObjId().

ilWaitingList::$user_ids = array()
private

Definition at line 37 of file class.ilWaitingList.php.

ilWaitingList::$users = array()
private

Definition at line 38 of file class.ilWaitingList.php.


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