50 SELECT last_finished_pass FROM tst_active WHERE active_id = %s 53 $res = $this->db->queryF(
57 while(
$row = $this->db->fetchAssoc(
$res) )
87 return $reportablePasses;
93 SELECT DISTINCT tst_pass_result.pass FROM tst_pass_result 94 LEFT JOIN tst_test_result 95 ON tst_pass_result.pass = tst_test_result.pass 96 AND tst_pass_result.active_fi = tst_test_result.active_fi 97 WHERE tst_pass_result.active_fi = %s 98 ORDER BY tst_pass_result.pass 101 $res = $this->db->queryF(
105 $existingPasses = array();
107 while(
$row = $this->db->fetchAssoc(
$res) )
109 $existingPasses[] =
$row[
'pass'];
112 return $existingPasses;
119 $reportablePasses = array();
121 foreach($existingPasses as
$pass)
125 $reportablePasses[] =
$pass;
129 return $reportablePasses;
134 $closedPasses = array();
136 foreach($existingPasses as
$pass)
140 $closedPasses[] =
$pass;
144 return $closedPasses;
151 foreach($existingPasses as
$pass)
153 if( $lastPass === null || $pass > $lastPass )
164 switch( $this->testOBJ->getScoreReporting() )
176 if(
$pass < $lastPass)
204 $reg =
'/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/';
205 $date = $this->testOBJ->getReportingDate();
208 if( !preg_match($reg, $date, $matches) )
213 $repTS = mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
215 return time() >= $repTS;
220 if( !$this->testOBJ->getEnableProcessingTime() )
225 $startingTime = $this->testOBJ->getStartingTimeOfUser($this->
getActiveId(),
$pass);
227 if($startingTime === FALSE)
232 return $this->testOBJ->isMaxProcessingTimeReached($startingTime, $this->
getActiveId());
fetchClosedPasses($existingPasses)
__construct(ilDB $db, ilObjTest $testOBJ)
const SCORE_REPORTING_IMMIDIATLY
setLastFinishedPass($lastFinishedPass)
fetchReportablePasses($existingPasses)
isProcessingTimeReached($pass)
const SCORE_REPORTING_FINISHED
const SCORE_REPORTING_DATE
isReportablePass($lastPass, $pass)
fetchLastPass($existingPasses)