00001 <?php 00002 /* 00003 +-----------------------------------------------------------------------------+ 00004 | ILIAS open source | 00005 +-----------------------------------------------------------------------------+ 00006 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne | 00007 | | 00008 | This program is free software; you can redistribute it and/or | 00009 | modify it under the terms of the GNU General Public License | 00010 | as published by the Free Software Foundation; either version 2 | 00011 | of the License, or (at your option) any later version. | 00012 | | 00013 | This program is distributed in the hope that it will be useful, | 00014 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 00015 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 00016 | GNU General Public License for more details. | 00017 | | 00018 | You should have received a copy of the GNU General Public License | 00019 | along with this program; if not, write to the Free Software | 00020 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 00021 +-----------------------------------------------------------------------------+ 00022 */ 00023 00033 include_once 'Services/Tracking/classes/class.ilLPStatus.php'; 00034 include_once 'Services/Tracking/classes/class.ilLPObjSettings.php'; 00035 include_once 'Services/Tracking/classes/class.ilLearningProgress.php'; 00036 00037 class ilLPStatusExerciseReturned extends ilLPStatus 00038 { 00039 00040 function ilLPStatusVisits($a_obj_id) 00041 { 00042 global $ilDB; 00043 00044 parent::ilLPStatus($a_obj_id); 00045 $this->db =& $ilDB; 00046 } 00047 00048 function _getNotAttempted($a_obj_id) 00049 { 00050 // All members 00051 include_once './classes/class.ilExerciseMembers.php'; 00052 00053 $members = ilExerciseMembers::_getMembers($a_obj_id); 00054 00055 $users = array_diff($members,$inp = ilLPStatusWrapper::_getInProgress($a_obj_id)); 00056 $users = array_diff($users,$com = ilLPStatusWrapper::_getCompleted($a_obj_id)); 00057 $users = array_diff($users,$fai = ilLPStatusWrapper::_getFailed($a_obj_id)); 00058 00059 00060 return $users ? $users : array(); 00061 } 00062 00063 function _getInProgress($a_obj_id) 00064 { 00065 global $ilDB; 00066 00067 include_once './classes/class.ilExerciseMembers.php'; 00068 $users = ilExerciseMembers::_getReturned($a_obj_id); 00069 $users = array_diff($users,$com = ilLPStatusWrapper::_getCompleted($a_obj_id)); 00070 $users = array_diff($users,$fai = ilLPStatusWrapper::_getFailed($a_obj_id)); 00071 00072 00073 return $users ? $users : array(); 00074 } 00075 00076 function _getCompleted($a_obj_id) 00077 { 00078 global $ilDB; 00079 00080 include_once './classes/class.ilExerciseMembers.php'; 00081 return ($ret = ilExerciseMembers::_getPassedUsers($a_obj_id)) ? $ret : array(); 00082 } 00083 00084 function _getFailed($a_obj_id) 00085 { 00086 include_once './classes/class.ilExerciseMembers.php'; 00087 $failed = ilExerciseMembers::_getFailedUsers($a_obj_id); 00088 return $failed ? $failed : array(); 00089 } 00090 00091 00092 00093 } 00094 ?>