Public Member Functions

ilLPStatusCollection Class Reference

Inheritance diagram for ilLPStatusCollection:
Collaboration diagram for ilLPStatusCollection:

Public Member Functions

 ilLPStatusCollection ($a_obj_id)
 _getNotAttempted ($a_obj_id)
 _getInProgress ($a_obj_id)
 _getCompleted ($a_obj_id)

Detailed Description

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


Member Function Documentation

ilLPStatusCollection::_getCompleted ( a_obj_id  ) 

Reimplemented from ilLPStatus.

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

References $counter, $ilBench, $users, ilLPCollections::_getItems(), and ilCourseMembers::_getMembers().

        {
                include_once './Services/Tracking/classes/class.ilLPCollections.php';
                include_once 'course/classes/class.ilCourseMembers.php';

                global $ilBench;
                $ilBench->start('LearningProgress','9173_LPStatusCollection_completed');


                $counter = 0;
                foreach(ilLPCollections::_getItems($a_obj_id) as $item_id)
                {
                        $tmp_users = ilLPStatusWrapper::_getCompleted($item_id);
                        if(!$counter++)
                        {
                                $users = $tmp_users;
                        }
                        else
                        {
                                $users = array_intersect($users,$tmp_users);
                        }

                }
                // Exclude all non members
                $users = array_intersect(ilCourseMembers::_getMembers($a_obj_id),(array) $users);

                $ilBench->stop('LearningProgress','9173_LPStatusCollection_completed');
                return (array) $users;
        }               

Here is the call graph for this function:

ilLPStatusCollection::_getInProgress ( a_obj_id  ) 

Reimplemented from ilLPStatus.

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

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

        {
                include_once './Services/Tracking/classes/class.ilLPCollections.php';
                include_once 'course/classes/class.ilCourseMembers.php';

                global $ilBench;
                $ilBench->start('LearningProgress','9172_LPStatusCollection_inProgress');

                $in_progress = 0;
                foreach(ilLPCollections::_getItems($a_obj_id) as $item_id)
                {
                        // merge arrays of users with status 'in progress'
                        $users = array_unique(array_merge((array) $users,ilLPStatusWrapper::_getInProgress($item_id)));
                        $users = array_unique(array_merge((array) $users,ilLPStatusWrapper::_getCompleted($item_id)));
                }

                // Exclude all users with status completed.
                $users = array_diff((array) $users,ilLPStatusWrapper::_getCompleted($a_obj_id));
                // Exclude all non members
                $users = array_intersect(ilCourseMembers::_getMembers($a_obj_id),(array) $users);

                $ilBench->stop('LearningProgress','9172_LPStatusCollection_inProgress');
                return $users;
        }

Here is the call graph for this function:

ilLPStatusCollection::_getNotAttempted ( a_obj_id  ) 

Reimplemented from ilLPStatus.

Definition at line 47 of file class.ilLPStatusCollection.php.

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

        {
                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((array) $members,$inp = ilLPStatusWrapper::_getInProgress($a_obj_id));
                $users = array_diff((array) $users,$com = ilLPStatusWrapper::_getCompleted($a_obj_id));

                return $users;
        }

Here is the call graph for this function:

ilLPStatusCollection::ilLPStatusCollection ( a_obj_id  ) 

Definition at line 39 of file class.ilLPStatusCollection.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: