ILIAS  release_4-4 Revision
ilTestPassesSelector Class Reference
+ Collaboration diagram for ilTestPassesSelector:

Public Member Functions

 __construct (ilDB $db, ilObjTest $testOBJ)
 
 getActiveId ()
 
 setActiveId ($activeId)
 
 getLastFinishedPass ()
 
 setLastFinishedPass ($lastFinishedPass)
 
 getExistingPasses ()
 
 getNumExistingPasses ()
 
 getClosedPasses ()
 
 getReportablePasses ()
 

Protected Attributes

 $db
 
 $testOBJ
 

Private Member Functions

 loadExistingPasses ()
 
 fetchReportablePasses ($existingPasses)
 
 fetchClosedPasses ($existingPasses)
 
 fetchLastPass ($existingPasses)
 
 isReportablePass ($lastPass, $pass)
 
 isClosedPass ($pass)
 
 isProcessingTimeReached ($pass)
 

Private Attributes

 $activeId
 
 $lastFinishedPass
 

Detailed Description

Definition at line 11 of file class.ilTestPassesSelector.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestPassesSelector::__construct ( ilDB  $db,
ilObjTest  $testOBJ 
)

Definition at line 21 of file class.ilTestPassesSelector.php.

References $db, and $testOBJ.

22  {
23  $this->db = $db;
24  $this->testOBJ = $testOBJ;
25  }

Member Function Documentation

◆ fetchClosedPasses()

ilTestPassesSelector::fetchClosedPasses (   $existingPasses)
private

Definition at line 114 of file class.ilTestPassesSelector.php.

References $pass, and isClosedPass().

Referenced by getClosedPasses().

115  {
116  $closedPasses = array();
117 
118  foreach($existingPasses as $pass)
119  {
120  if( $this->isClosedPass($pass) )
121  {
122  $closedPasses[] = $pass;
123  }
124  }
125 
126  return $closedPasses;
127  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchLastPass()

ilTestPassesSelector::fetchLastPass (   $existingPasses)
private

Definition at line 129 of file class.ilTestPassesSelector.php.

References $pass.

Referenced by fetchReportablePasses().

130  {
131  $lastPass = null;
132 
133  foreach($existingPasses as $pass)
134  {
135  if( $lastPass === null || $pass > $lastPass )
136  {
137  $lastPass = $pass;
138  }
139  }
140 
141  return $lastPass;
142  }
+ Here is the caller graph for this function:

◆ fetchReportablePasses()

ilTestPassesSelector::fetchReportablePasses (   $existingPasses)
private

Definition at line 97 of file class.ilTestPassesSelector.php.

References $pass, fetchLastPass(), and isReportablePass().

Referenced by getReportablePasses().

98  {
99  $lastPass = $this->fetchLastPass($existingPasses);
100 
101  $reportablePasses = array();
102 
103  foreach($existingPasses as $pass)
104  {
105  if( $this->isReportablePass($lastPass, $pass) )
106  {
107  $reportablePasses[] = $pass;
108  }
109  }
110 
111  return $reportablePasses;
112  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getActiveId()

ilTestPassesSelector::getActiveId ( )

Definition at line 27 of file class.ilTestPassesSelector.php.

References $activeId.

Referenced by isProcessingTimeReached(), and loadExistingPasses().

+ Here is the caller graph for this function:

◆ getClosedPasses()

ilTestPassesSelector::getClosedPasses ( )

Definition at line 57 of file class.ilTestPassesSelector.php.

References fetchClosedPasses(), and loadExistingPasses().

58  {
59  $existingPasses = $this->loadExistingPasses();
60  $closedPasses = $this->fetchClosedPasses($existingPasses);
61 
62  return $closedPasses;
63  }
+ Here is the call graph for this function:

◆ getExistingPasses()

ilTestPassesSelector::getExistingPasses ( )

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

References loadExistingPasses().

48  {
49  return $this->loadExistingPasses();
50  }
+ Here is the call graph for this function:

◆ getLastFinishedPass()

ilTestPassesSelector::getLastFinishedPass ( )

Definition at line 37 of file class.ilTestPassesSelector.php.

References $lastFinishedPass.

Referenced by isClosedPass().

+ Here is the caller graph for this function:

◆ getNumExistingPasses()

ilTestPassesSelector::getNumExistingPasses ( )

Definition at line 52 of file class.ilTestPassesSelector.php.

References loadExistingPasses().

53  {
54  return count($this->loadExistingPasses());
55  }
+ Here is the call graph for this function:

◆ getReportablePasses()

ilTestPassesSelector::getReportablePasses ( )

Definition at line 65 of file class.ilTestPassesSelector.php.

References fetchReportablePasses(), and loadExistingPasses().

66  {
67  $existingPasses = $this->loadExistingPasses();
68  $reportablePasses = $this->fetchReportablePasses($existingPasses);
69 
70  return $reportablePasses;
71  }
fetchReportablePasses($existingPasses)
+ Here is the call graph for this function:

◆ isClosedPass()

ilTestPassesSelector::isClosedPass (   $pass)
private

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

References $pass, getLastFinishedPass(), and isProcessingTimeReached().

Referenced by fetchClosedPasses(), and isReportablePass().

160  {
161  if( $pass <= $this->getLastFinishedPass() )
162  {
163  return true;
164  }
165 
166  if( $this->isProcessingTimeReached($pass) )
167  {
168  return true;
169  }
170 
171  return false;
172  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isProcessingTimeReached()

ilTestPassesSelector::isProcessingTimeReached (   $pass)
private

Definition at line 174 of file class.ilTestPassesSelector.php.

References $pass, and getActiveId().

Referenced by isClosedPass().

175  {
176  if( !$this->testOBJ->getEnableProcessingTime() )
177  {
178  return false;
179  }
180 
181  $startingTime = $this->testOBJ->getStartingTimeOfUser($this->getActiveId(), $pass);
182 
183  if($startingTime === FALSE)
184  {
185  return false;
186  }
187 
188  return $this->testOBJ->isMaxProcessingTimeReached($startingTime, $this->getActiveId());
189  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isReportablePass()

ilTestPassesSelector::isReportablePass (   $lastPass,
  $pass 
)
private

Definition at line 144 of file class.ilTestPassesSelector.php.

References $pass, and isClosedPass().

Referenced by fetchReportablePasses().

145  {
146  if($pass < $lastPass)
147  {
148  return true;
149  }
150 
151  if( $this->isClosedPass($pass) )
152  {
153  return true;
154  }
155 
156  return false;
157  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadExistingPasses()

ilTestPassesSelector::loadExistingPasses ( )
private

Definition at line 73 of file class.ilTestPassesSelector.php.

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

Referenced by getClosedPasses(), getExistingPasses(), getNumExistingPasses(), and getReportablePasses().

74  {
75  $query = "
76  SELECT DISTINCT tst_pass_result.pass FROM tst_pass_result
77  INNER JOIN tst_test_result
78  ON tst_pass_result.pass = tst_test_result.pass
79  AND tst_pass_result.active_fi = tst_test_result.active_fi
80  WHERE tst_pass_result.active_fi = %s
81  ";
82 
83  $res = $this->db->queryF(
84  $query, array('integer'), array($this->getActiveId())
85  );
86 
87  $existingPasses = array();
88 
89  while( $row = $this->db->fetchAssoc($res) )
90  {
91  $existingPasses[] = $row['pass'];
92  }
93 
94  return $existingPasses;
95  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setActiveId()

ilTestPassesSelector::setActiveId (   $activeId)

Definition at line 32 of file class.ilTestPassesSelector.php.

References $activeId.

33  {
34  $this->activeId = $activeId;
35  }

◆ setLastFinishedPass()

ilTestPassesSelector::setLastFinishedPass (   $lastFinishedPass)

Definition at line 42 of file class.ilTestPassesSelector.php.

References $lastFinishedPass.

43  {
44  $this->lastFinishedPass = $lastFinishedPass;
45  }

Field Documentation

◆ $activeId

ilTestPassesSelector::$activeId
private

Definition at line 17 of file class.ilTestPassesSelector.php.

Referenced by getActiveId(), and setActiveId().

◆ $db

ilTestPassesSelector::$db
protected

Definition at line 13 of file class.ilTestPassesSelector.php.

Referenced by __construct().

◆ $lastFinishedPass

ilTestPassesSelector::$lastFinishedPass
private

Definition at line 19 of file class.ilTestPassesSelector.php.

Referenced by getLastFinishedPass(), and setLastFinishedPass().

◆ $testOBJ

ilTestPassesSelector::$testOBJ
protected

Definition at line 15 of file class.ilTestPassesSelector.php.

Referenced by __construct().


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