Public Member Functions

ilLPStatusManualByTutor Class Reference

Inheritance diagram for ilLPStatusManualByTutor:
Collaboration diagram for ilLPStatusManualByTutor:

Public Member Functions

 __construct ($a_obj_id)
 Constructor.
 _getNotAttempted ($a_obj_id)
 get not attempted
 _getInProgress ($a_obj_id)
 get in progress
 __getCourseInProgress ($a_obj_id)
 __getGroupInProgress ($a_obj_id)
 _getCompleted ($a_obj_id)

Detailed Description

Author:
Stefan Meyer <smeyer@databay.de>
Version:
$Id$

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


Constructor & Destructor Documentation

ilLPStatusManualByTutor::__construct ( a_obj_id  ) 

Constructor.

public

Parameters:
int object id

Definition at line 44 of file class.ilLPStatusManualByTutor.php.

References ilLPStatus::ilLPStatus().

        {
                global $ilDB;

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

Here is the call graph for this function:


Member Function Documentation

ilLPStatusManualByTutor::__getCourseInProgress ( a_obj_id  ) 

Definition at line 135 of file class.ilLPStatusManualByTutor.php.

References $res, _getCompleted(), and ilCourseParticipants::_getInstanceByObjId().

Referenced by _getInProgress().

        {
                global $ilDB;

                $completed = ilLPStatusWrapper::_getCompleted($a_obj_id);
                
                include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
                $members_obj = ilCourseParticipants::_getInstanceByObjId($a_obj_id);
                $members = $members_obj->getParticipants();

                $query = "SELECT DISTINCT(user_id) FROM ut_learning_progress ".
                        "WHERE obj_id = '".$a_obj_id."' AND obj_type = 'crs'";

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        if(!in_array($row->user_id,$completed) and in_array($row->user_id,$members))
                        {
                                $user_ids[] = $row->user_id;
                        }
                }
                return $user_ids ? $user_ids : array();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilLPStatusManualByTutor::__getGroupInProgress ( a_obj_id  ) 

Definition at line 159 of file class.ilLPStatusManualByTutor.php.

References $res, _getCompleted(), and ilObjGroup::_getMembers().

Referenced by _getInProgress().

        {
                global $ilDB;

                $completed = ilLPStatusWrapper::_getCompleted($a_obj_id);
                
                include_once 'classes/class.ilObjGroup.php';
                $members = ilObjGroup::_getMembers($a_obj_id);

                $query = "SELECT DISTINCT(user_id) FROM ut_learning_progress ".
                        "WHERE obj_id = '".$a_obj_id."' AND obj_type = 'grp'";

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        if(!in_array($row->user_id,$completed) and in_array($row->user_id,$members))
                        {
                                $user_ids[] = $row->user_id;
                        }
                }
                return $user_ids ? $user_ids : array();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilLPStatusManualByTutor::_getCompleted ( a_obj_id  ) 

Reimplemented from ilLPStatus.

Definition at line 182 of file class.ilLPStatusManualByTutor.php.

References $ilBench, and $res.

Referenced by __getCourseInProgress(), and __getGroupInProgress().

        {
                global $ilDB;

                global $ilBench;
                $ilBench->start('LearningProgress','9163_LPStatusManualByTutor_completed');

                $query = "SELECT DISTINCT(usr_id) as user_id FROM ut_lp_marks ".
                        "WHERE obj_id = '".$a_obj_id."' ".
                        "AND completed = '1'";

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        $usr_ids[] = $row->user_id;
                }
                $ilBench->stop('LearningProgress','9163_LPStatusManualByTutor_completed');
                return $usr_ids ? $usr_ids : array();
        }

Here is the caller graph for this function:

ilLPStatusManualByTutor::_getInProgress ( a_obj_id  ) 

get in progress

public

Parameters:
int object id
Returns:
array int Array of user ids

Reimplemented from ilLPStatus.

Definition at line 108 of file class.ilLPStatusManualByTutor.php.

References $ilBench, __getCourseInProgress(), and __getGroupInProgress().

        {
                global $ilObjDataCache;

                global $ilBench;
                $ilBench->start('LearningProgress','9162_LPStatusManualByTutor_inProgress');


                switch($ilObjDataCache->lookupType($a_obj_id))
                {
                        case 'crs':
                                $ilBench->stop('LearningProgress','9162_LPStatusManualByTutor_inProgress');
                                return self::__getCourseInProgress($a_obj_id);

                        case 'grp':
                                $ilBench->stop('LearningProgress','9162_LPStatusManualByTutor_inProgress');
                                return self::__getGroupInProgress($a_obj_id);

                        default:
                                $ilBench->stop('LearningProgress','9162_LPStatusManualByTutor_inProgress');
                                break;                          
                }
                return array();
                
        }

Here is the call graph for this function:

ilLPStatusManualByTutor::_getNotAttempted ( a_obj_id  ) 

get not attempted

public

Parameters:
int object id
Returns:
array int Array of user ids

Reimplemented from ilLPStatus.

Definition at line 60 of file class.ilLPStatusManualByTutor.php.

References $ilBench, ilLPStatusWrapper::_getCompleted(), ilLPStatusWrapper::_getInProgress(), ilCourseParticipants::_getInstanceByObjId(), and ilObjGroup::_getMembers().

        {
                global $ilObjDataCache;

                global $ilBench;
                $ilBench->start('LearningProgress','9161_LPStatusManual_notAttempted');

                switch($ilObjDataCache->lookupType($a_obj_id))
                {
                        case 'crs':

                                include_once 'Modules/Course/classes/class.ilCourseParticipants.php';
                                $members_obj = ilCourseParticipants::_getInstanceByObjId($a_obj_id);
                                $members = $members_obj->getParticipants();
                        
                                // diff in progress and completed (use stored result in LPStatusWrapper)
                                $users = array_diff($members,$inp = ilLPStatusWrapper::_getInProgress($a_obj_id));
                                $users = array_diff($users,$com = ilLPStatusWrapper::_getCompleted($a_obj_id));

                                $ilBench->stop('LearningProgress','9161_LPStatusManual_notAttempted');
                                return $users;

                        case 'grp':
                                
                                include_once 'classes/class.ilObjGroup.php';

                                $members = ilObjGroup::_getMembers($a_obj_id);
                                // diff in progress and completed (use stored result in LPStatusWrapper)
                                $users = array_diff($members,$inp = ilLPStatusWrapper::_getInProgress($a_obj_id));
                                $users = array_diff($users,$com = ilLPStatusWrapper::_getCompleted($a_obj_id));

                                $ilBench->stop('LearningProgress','9161_LPStatusManual_notAttempted');
                                return $users;

                        default:
                                $ilBench->stop('LearningProgress','9161_LPStatusManual_notAttempted');
                                return array();
                }
        }

Here is the call graph for this function:


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