| 
|   | __construct (private readonly ilObjUser $user, private readonly ilDBInterface $database, private readonly Readable $readable, $object_id_of_test_id=[ilObjTest::class, '_getObjectIDFromTestID'], $references_of=[ilObject::class, '_getAllReferences'], $session=[ilSession::class, 'get'], callable $checkResultsAccess=null, Incident $incident=null) | 
|   | 
|   | isPermitted (string $path) | 
|   | 
Definition at line 35 of file AccessFileUploadAnswer.php.
 
◆ __construct()
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::__construct  | 
          ( | 
          private readonly ilObjUser  | 
          $user,  | 
        
        
           | 
           | 
          private readonly ilDBInterface  | 
          $database,  | 
        
        
           | 
           | 
          private readonly Readable  | 
          $readable,  | 
        
        
           | 
           | 
            | 
          $object_id_of_test_id = [ilObjTest::class,  | 
        
        
           | 
           | 
          '_getObjectIDFromTestID']  | 
          ,  | 
        
        
           | 
           | 
            | 
          $references_of = [ilObject::class,  | 
        
        
           | 
           | 
          '_getAllReferences']  | 
          ,  | 
        
        
           | 
           | 
            | 
          $session = [ilSession::class,  | 
        
        
           | 
           | 
          'get']  | 
          ,  | 
        
        
           | 
           | 
          callable  | 
          $checkResultsAccess = null,  | 
        
        
           | 
           | 
          Incident  | 
          $incident = null  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
- Parameters
 - 
  
    | callable(int) | int $object_id_of_test_id  | 
    | callable(int) | int[] $references_of  | 
    | callable(string) | mixed $session  | 
    | callable(int,int,int) | bool $checkResultsAccess  | 
  
   
Definition at line 53 of file AccessFileUploadAnswer.php.
   63         $this->incident = 
$incident ?? 
new Incident();
    66         $this->session = Closure::fromCallable(
$session);
    69             return $access->checkResultsAccessForActiveId($active_id);
 readonly Closure $references_of
 
readonly Incident $incident
 
readonly Closure $session
 
readonly Closure $checkResultsAccess
 
readonly Closure $object_id_of_test_id
 
 
 
 
◆ accessCodeOk()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::accessCodeOk  | 
          ( | 
          string  | 
          $file,  | 
         
        
           | 
           | 
          int  | 
          $test_id  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ activeIdOfFile()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::activeIdOfFile  | 
          ( | 
          string  | 
          $file,  | 
         
        
           | 
           | 
          int  | 
          $test  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
Definition at line 126 of file AccessFileUploadAnswer.php.
Referenced by ILIAS\Modules\Test\AccessFileUploadAnswer\canAccessResults().
  128         $is_upload_question = 
'EXISTS (SELECT 1 FROM qpl_qst_type INNER JOIN qpl_questions ON question_type_id = question_type_fi WHERE type_tag = %s AND tst_solutions.question_fi = qpl_questions.question_id)';
   129         $is_in_test = 
'EXISTS (SELECT 1 FROM tst_active WHERE test_fi = %s AND active_id = active_fi)';
   131         $result = $this->database->queryF(
   132             "SELECT active_fi, value1 FROM tst_solutions WHERE $is_upload_question AND $is_in_test",
   134             [
'assFileUpload', $test]
   137         while (($row = $this->database->fetchAssoc($result))) {
   138             if ($row[
'value1'] === $file) {
   139                 return (
int) $row[
'active_fi'];
  
 
 
◆ canAccessResults()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::canAccessResults  | 
          ( | 
          int  | 
          $test_id,  | 
         
        
           | 
           | 
          array  | 
          $references,  | 
         
        
           | 
           | 
          string  | 
          $file  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ isAnonymous()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::isAnonymous  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ isPermitted()
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::isPermitted  | 
          ( | 
          string  | 
          $path | ) | 
           | 
        
      
 
 
◆ pathAndTestId()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::pathAndTestId  | 
          ( | 
          string  | 
          $path | ) | 
           | 
         
       
   | 
  
private   | 
  
 
 
◆ roleBasedCheck()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::roleBasedCheck  | 
          ( | 
          int  | 
          $test_id,  | 
         
        
           | 
           | 
          array  | 
          $references,  | 
         
        
           | 
           | 
          string  | 
          $file  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ userDidUpload()
  
  
      
        
          | ILIAS\Modules\Test\AccessFileUploadAnswer::userDidUpload  | 
          ( | 
          int  | 
          $test_id,  | 
         
        
           | 
           | 
          string  | 
          $file,  | 
         
        
           | 
           | 
          string  | 
          $code = null  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
Definition at line 107 of file AccessFileUploadAnswer.php.
References ILIAS\Repository\user().
Referenced by ILIAS\Modules\Test\AccessFileUploadAnswer\accessCodeOk(), and ILIAS\Modules\Test\AccessFileUploadAnswer\roleBasedCheck().
  110             'active_id = active_fi',
   113             'anonymous_id ' . (null === $code ? 
'IS' : 
'=') . 
' %s',
   117         $result = $this->database->queryF(
   118             'SELECT 1 FROM tst_solutions WHERE EXISTS (SELECT 1 FROM tst_active WHERE ' . implode(
' AND ', $where) . 
')',
   119             [
'integer', 
'text', 
'text', 
'integer'],
   120             [$this->
user->getId(), $file, $code, $test_id]
   123         return (
bool) $this->database->numRows($result);
 
 
 
 
◆ $checkResultsAccess
  
  
      
        
          | readonly Closure ILIAS\Modules\Test\AccessFileUploadAnswer::$checkResultsAccess | 
         
       
   | 
  
private   | 
  
 
 
◆ $incident
  
  
      
        
          | readonly Incident ILIAS\Modules\Test\AccessFileUploadAnswer::$incident | 
         
       
   | 
  
private   | 
  
 
 
◆ $object_id_of_test_id
  
  
      
        
          | readonly Closure ILIAS\Modules\Test\AccessFileUploadAnswer::$object_id_of_test_id | 
         
       
   | 
  
private   | 
  
 
 
◆ $references_of
  
  
      
        
          | readonly Closure ILIAS\Modules\Test\AccessFileUploadAnswer::$references_of | 
         
       
   | 
  
private   | 
  
 
 
◆ $session
  
  
      
        
          | readonly Closure ILIAS\Modules\Test\AccessFileUploadAnswer::$session | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this class was generated from the following file: