Public Member Functions

ilLPStatusManual Class Reference

Inheritance diagram for ilLPStatusManual:
Collaboration diagram for ilLPStatusManual:

Public Member Functions

 ilLPStatusManual ($a_obj_id)
 _getNotAttempted ($a_obj_id)
 _getInProgress ($a_obj_id)
 _getCompleted ($a_obj_id)
 __getLMInProgress ($a_obj_id)
 __getCourseInProgress ($a_obj_id)
 __getGroupInProgress ($a_obj_id)

Detailed Description

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


Member Function Documentation

ilLPStatusManual::__getCourseInProgress ( a_obj_id  ) 

Definition at line 157 of file class.ilLPStatusManual.php.

References $query, $res, $row, _getCompleted(), and ilCourseMembers::_getMembers().

Referenced by _getInProgress().

        {
                global $ilDB;

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

                $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:

ilLPStatusManual::__getGroupInProgress ( a_obj_id  ) 

Definition at line 180 of file class.ilLPStatusManual.php.

References $query, $res, $row, _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:

ilLPStatusManual::__getLMInProgress ( a_obj_id  ) 

Definition at line 138 of file class.ilLPStatusManual.php.

References $query, $res, $row, and _getCompleted().

Referenced by _getInProgress().

        {
                global $ilDB;

                $completed = ilLPStatusWrapper::_getCompleted($a_obj_id);
                $query = "SELECT DISTINCT(user_id) FROM ut_learning_progress ".
                        "WHERE obj_id = '".$a_obj_id."'";

                $res = $ilDB->query($query);
                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                {
                        if(!in_array($row->user_id,$completed))
                        {
                                $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:

ilLPStatusManual::_getCompleted ( a_obj_id  ) 

Reimplemented from ilLPStatus.

Definition at line 117 of file class.ilLPStatusManual.php.

References $ilBench, $query, $res, and $row.

Referenced by __getCourseInProgress(), __getGroupInProgress(), and __getLMInProgress().

        {
                global $ilDB;

                global $ilBench;
                $ilBench->start('LearningProgress','9163_LPStatusManual_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_LPStatusManual_completed');
                return $usr_ids ? $usr_ids : array();
        }

Here is the caller graph for this function:

ilLPStatusManual::_getInProgress ( a_obj_id  ) 

Reimplemented from ilLPStatus.

Definition at line 86 of file class.ilLPStatusManual.php.

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

        {
                global $ilObjDataCache;

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


                switch($ilObjDataCache->lookupType($a_obj_id))
                {
                        case 'lm':
                        case 'htlm':
                                $ilBench->stop('LearningProgress','9162_LPStatusManual_inProgress');
                                return ilLPStatusManual::__getLMInProgress($a_obj_id);

                        case 'crs':
                                $ilBench->stop('LearningProgress','9162_LPStatusManual_inProgress');
                                return ilLPStatusManual::__getCourseInProgress($a_obj_id);

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

                        default:
                                $ilBench->stop('LearningProgress','9162_LPStatusManual_inProgress');
                                echo "ilLPStatusManual: unknown type ".$ilObjDataCache->lookupType($a_obj_id);
                                
                }
                return array();
        }

Here is the call graph for this function:

ilLPStatusManual::_getNotAttempted ( a_obj_id  ) 

Reimplemented from ilLPStatus.

Definition at line 46 of file class.ilLPStatusManual.php.

References $ilBench, $users, ilLPStatusWrapper::_getCompleted(), ilLPStatusWrapper::_getInProgress(), ilObjGroup::_getMembers(), and ilCourseMembers::_getMembers().

        {
                global $ilObjDataCache;

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

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

                                include_once 'course/classes/class.ilCourseMembers.php';
                                
                                $members = ilCourseMembers::_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;

                        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:

ilLPStatusManual::ilLPStatusManual ( a_obj_id  ) 

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

References 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: