ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilLPStatusTestFinished Class Reference
+ Inheritance diagram for ilLPStatusTestFinished:
+ Collaboration diagram for ilLPStatusTestFinished:

Public Member Functions

 ilLPStatusTestFinished ($a_obj_id)
 _getInProgress ($a_obj_id)
 _getCompleted ($a_obj_id)
 _getNotAttempted ($a_obj_id)
 getParticipants ($a_obj_id)
 Get participants.
 determineStatus ($a_obj_id, $a_user_id, $a_obj=null)
 Determine status.
- Public Member Functions inherited from ilLPStatus
 ilLPStatus ($a_obj_id)
 _getCountNotAttempted ($a_obj_id)
 _getCountInProgress ($a_obj_id)
 _getCountCompleted ($a_obj_id)
 _getFailed ($a_obj_id)
 _getCountFailed ()
 _getStatusInfo ($a_obj_id)
 _getTypicalLearningTime ($a_obj_id)
 _updateStatus ($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_no_raise=false, $a_force_raise=false)
 New status handling (st: status, nr: accesses, p: percentage, t: time spent, m: mark)
 determinePercentage ($a_obj_id, $a_usr_id, $a_obj=null)
 Determine percentage.
 refreshStatus ($a_obj_id, $a_users=null)
 Refresh status.
 _lookupStatusChanged ($a_obj_id, $a_user_id)
 Lookup status changed.

Additional Inherited Members

- Static Public Member Functions inherited from ilLPStatus
static checkStatusForObject ($a_obj_id, $a_users=false)
 This function checks whether the status for a given number of users is dirty and must be recalculated.
static writeStatus ($a_obj_id, $a_user_id, $a_status, $a_percentage=false, $a_force_per=false)
 Write status for user and object.
static setInProgressIfNotAttempted ($a_obj_id, $a_user_id)
 This function shoudl be clalled for normal "read events".
static setAllDirty ()
 Sets all status to dirty.
static setDirty ($a_obj_id)
 Sets status of an object to dirty.
static _lookupStatus ($a_obj_id, $a_user_id, $a_create=true)
 Lookup status.
static _lookupPercentage ($a_obj_id, $a_user_id)
 Lookup percentage.
static _hasUserCompleted ($a_obj_id, $a_user_id)
 Lookup user object completion.
static _lookupCompletedForObject ($a_obj_id, $a_user_ids=null)
 Get completed users for object.
static _lookupFailedForObject ($a_obj_id, $a_user_ids=null)
 Get failed users for object.
static _lookupInProgressForObject ($a_obj_id, $a_user_ids=null)
 Get in progress users for object.
static preloadListGUIData ($a_obj_ids)
static getListGUIStatus ($a_obj_id)
- Data Fields inherited from ilLPStatus
 $obj_id = null
 $db = null
const LP_STATUS_NOT_ATTEMPTED = 'trac_no_attempted'
const LP_STATUS_IN_PROGRESS = 'trac_in_progress'
const LP_STATUS_COMPLETED = 'trac_completed'
const LP_STATUS_FAILED = 'trac_failed'
const LP_STATUS_NOT_ATTEMPTED_NUM = 0
const LP_STATUS_IN_PROGRESS_NUM = 1
const LP_STATUS_COMPLETED_NUM = 2
const LP_STATUS_FAILED_NUM = 3
const LP_STATUS_REGISTERED = 'trac_registered'
const LP_STATUS_NOT_REGISTERED = 'trac_not_registered'
const LP_STATUS_PARTICIPATED = 'trac_participated'
const LP_STATUS_NOT_PARTICIPATED = 'trac_not_participated'
- Static Public Attributes inherited from ilLPStatus
static $list_gui_cache
- Protected Member Functions inherited from ilLPStatus
 raiseEvent ($a_obj_id, $a_usr_id, $a_status, $a_percentage)
- Static Protected Member Functions inherited from ilLPStatus
static _lookupStatusForObject ($a_obj_id, $a_status, $a_user_ids=null)
 Get users with given status for object.

Detailed Description

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
Id:
class.ilLPStatusTestFinished.php 52147 2014-08-11 08:31:00Z bheyser

Definition at line 15 of file class.ilLPStatusTestFinished.php.

Member Function Documentation

ilLPStatusTestFinished::_getCompleted (   $a_obj_id)

Reimplemented from ilLPStatus.

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

References $ilDB, $query, $res, $row, and DB_FETCHMODE_OBJECT.

{
global $ilDB;
include_once './Modules/Test/classes/class.ilObjTestAccess.php';
$query = "
SELECT active_id, user_fi, COUNT(tst_sequence.active_fi) sequences
FROM tst_active
LEFT JOIN tst_sequence
ON tst_sequence.active_fi = tst_active.active_id
WHERE tries > {$ilDB->quote(0, "integer")}
AND test_fi = {$ilDB->quote(ilObjTestAccess::_getTestIDFromObjectID($a_obj_id))}
GROUP BY active_id, user_fi
HAVING COUNT(tst_sequence.active_fi) > {$ilDB->quote(0, "integer")}
";
$res = $ilDB->query($query);
$user_ids = array();
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$user_ids[$row->user_fi] = $row->user_fi;
}
return array_values($user_ids);
}
ilLPStatusTestFinished::_getInProgress (   $a_obj_id)

Reimplemented from ilLPStatus.

Definition at line 26 of file class.ilLPStatusTestFinished.php.

References $ilDB, $query, $res, $row, and DB_FETCHMODE_OBJECT.

{
global $ilDB;
include_once './Modules/Test/classes/class.ilObjTestAccess.php';
$query = "
SELECT active_id, user_fi, COUNT(tst_sequence.active_fi) sequences
FROM tst_active
LEFT JOIN tst_sequence
ON tst_sequence.active_fi = tst_active.active_id
WHERE tries = {$ilDB->quote(0, "integer")}
AND test_fi = {$ilDB->quote(ilObjTestAccess::_getTestIDFromObjectID($a_obj_id), "integer")}
GROUP BY active_id, user_fi
HAVING COUNT(tst_sequence.active_fi) > {$ilDB->quote(0, "integer")}
";
$res = $ilDB->query($query);
$user_ids = array();
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$user_ids[$row->user_fi] = $row->user_fi;
}
return array_values($user_ids);
}
ilLPStatusTestFinished::_getNotAttempted (   $a_obj_id)

Reimplemented from ilLPStatus.

Definition at line 85 of file class.ilLPStatusTestFinished.php.

References $ilDB, $query, $res, $row, and DB_FETCHMODE_OBJECT.

{
global $ilDB;
include_once './Modules/Test/classes/class.ilObjTestAccess.php';
$query = "
SELECT active_id, user_fi, COUNT(tst_sequence.active_fi) sequences
FROM tst_active
LEFT JOIN tst_sequence
ON tst_sequence.active_fi = tst_active.active_id
WHERE test_fi = {$ilDB->quote(ilObjTestAccess::_getTestIDFromObjectID($a_obj_id))}
GROUP BY active_id, user_fi
HAVING COUNT(tst_sequence.active_fi) = {$ilDB->quote(0, "integer")}
";
$res = $ilDB->query($query);
$user_ids = array();
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$user_ids[$row->user_fi] = $row->user_fi;
}
return array_values($user_ids);
}
ilLPStatusTestFinished::determineStatus (   $a_obj_id,
  $a_user_id,
  $a_obj = null 
)

Determine status.

Parameters
integerobject id
integeruser id
objectobject (optional depends on object type)
Returns
integer status

Reimplemented from ilLPStatus.

Definition at line 145 of file class.ilLPStatusTestFinished.php.

References $ilDB, $res, ilLPStatus\LP_STATUS_COMPLETED_NUM, ilLPStatus\LP_STATUS_IN_PROGRESS_NUM, and ilLPStatus\LP_STATUS_NOT_ATTEMPTED_NUM.

{
global $ilDB;
include_once './Modules/Test/classes/class.ilObjTestAccess.php';
$res = $ilDB->query("
SELECT active_id, user_fi, tries, COUNT(tst_sequence.active_fi) sequences
FROM tst_active
LEFT JOIN tst_sequence
ON tst_sequence.active_fi = tst_active.active_id
WHERE user_fi = {$ilDB->quote($a_user_id, "integer")}
AND test_fi = {$ilDB->quote(ilObjTestAccess::_getTestIDFromObjectID($a_obj_id))}
GROUP BY active_id, user_fi, tries
");
if ($rec = $ilDB->fetchAssoc($res))
{
if ($rec['sequences'] > 0)
{
if ($rec['tries'] > 0)
{
}
}
}
return $status;
}
ilLPStatusTestFinished::getParticipants (   $a_obj_id)

Get participants.

Parameters
@return

Definition at line 119 of file class.ilLPStatusTestFinished.php.

References $ilDB, $res, and ilObjTestAccess\_getTestIDFromObjectID().

{
global $ilDB;
include_once './Modules/Test/classes/class.ilObjTestAccess.php';
$res = $ilDB->query("SELECT DISTINCT user_fi FROM tst_active".
" WHERE test_fi = ".$ilDB->quote(ilObjTestAccess::_getTestIDFromObjectID($a_obj_id)));
$user_ids = array();
while($rec = $ilDB->fetchAssoc($res))
{
$user_ids[] = $rec["user_fi"];
}
return $user_ids;
}

+ Here is the call graph for this function:

ilLPStatusTestFinished::ilLPStatusTestFinished (   $a_obj_id)

Definition at line 18 of file class.ilLPStatusTestFinished.php.

References $ilDB, and ilLPStatus\ilLPStatus().

{
global $ilDB;
parent::ilLPStatus($a_obj_id);
$this->db =& $ilDB;
}

+ Here is the call graph for this function:


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