ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ILIAS\TestQuestionPool\QuestionFilesService Class Reference
+ Collaboration diagram for ILIAS\TestQuestionPool\QuestionFilesService:

Public Member Functions

 getAllowedFileExtensionsForMimeType (string $mimeType)
 
 isAllowedImageMimeType ($mimeType)
 
 isAllowedImageFileExtension (string $mimeType, string $fileExtension)
 
 buildImagePath ($questionId, $parentObjectId)
 

Static Public Member Functions

static getAllowedImageMaterialFileExtensions ()
 

Data Fields

const IMG_MIME_TYPE_JPG = 'image/jpeg'
 
const IMG_MIME_TYPE_PNG = 'image/png'
 
const IMG_MIME_TYPE_GIF = 'image/gif'
 

Static Protected Attributes

static array $allowedImageMaterialFileExtensionsByMimeType
 
static array $allowedFileExtensionsByMimeType
 
static array $allowedCharsetsByMimeType
 

Detailed Description

Definition at line 7 of file class.QuestionFilesService.php.

Member Function Documentation

◆ buildImagePath()

ILIAS\TestQuestionPool\QuestionFilesService::buildImagePath (   $questionId,
  $parentObjectId 
)

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

References CLIENT_WEB_DIR.

73  : string
74  {
75  return CLIENT_WEB_DIR . '/assessment/' . $parentObjectId . '/' . $questionId . '/images/';
76  }
const CLIENT_WEB_DIR
Definition: constants.php:47

◆ getAllowedFileExtensionsForMimeType()

ILIAS\TestQuestionPool\QuestionFilesService::getAllowedFileExtensionsForMimeType ( string  $mimeType)

Definition at line 45 of file class.QuestionFilesService.php.

Referenced by ILIAS\TestQuestionPool\QuestionFilesService\isAllowedImageFileExtension(), and ILIAS\TestQuestionPool\QuestionFilesService\isAllowedImageMimeType().

45  : array
46  {
47  foreach (self::$allowedFileExtensionsByMimeType as $allowedMimeType => $extensions) {
48  $rexCharsets = implode('|', self::$allowedCharsetsByMimeType[$allowedMimeType]);
49  $rexMimeType = preg_quote($allowedMimeType, '/');
50 
51  $rex = '/^' . $rexMimeType . '(;(\s)*charset=(' . $rexCharsets . '))*$/';
52 
53  if (!preg_match($rex, $mimeType)) {
54  continue;
55  }
56 
57  return $extensions;
58  }
59 
60  return array();
61  }
+ Here is the caller graph for this function:

◆ getAllowedImageMaterialFileExtensions()

static ILIAS\TestQuestionPool\QuestionFilesService::getAllowedImageMaterialFileExtensions ( )
static
Returns
array all allowed file extensions for image material

SlowArrayOperationsInLoopInspection

Definition at line 18 of file class.QuestionFilesService.php.

18  : array
19  {
20  $extensions = array();
21 
22  foreach (self::$allowedImageMaterialFileExtensionsByMimeType as $mimeType => $mimeExtensions) {
24  $extensions = array_merge($extensions, $mimeExtensions);
25  }
26  return array_unique($extensions);
27  }

◆ isAllowedImageFileExtension()

ILIAS\TestQuestionPool\QuestionFilesService::isAllowedImageFileExtension ( string  $mimeType,
string  $fileExtension 
)

Definition at line 68 of file class.QuestionFilesService.php.

References ILIAS\TestQuestionPool\QuestionFilesService\getAllowedFileExtensionsForMimeType().

68  : bool
69  {
70  return in_array(strtolower($fileExtension), $this->getAllowedFileExtensionsForMimeType($mimeType), true);
71  }
+ Here is the call graph for this function:

◆ isAllowedImageMimeType()

ILIAS\TestQuestionPool\QuestionFilesService::isAllowedImageMimeType (   $mimeType)

Definition at line 63 of file class.QuestionFilesService.php.

References ILIAS\TestQuestionPool\QuestionFilesService\getAllowedFileExtensionsForMimeType().

63  : bool
64  {
65  return (bool) count($this->getAllowedFileExtensionsForMimeType($mimeType));
66  }
+ Here is the call graph for this function:

Field Documentation

◆ $allowedCharsetsByMimeType

array ILIAS\TestQuestionPool\QuestionFilesService::$allowedCharsetsByMimeType
staticprotected
Initial value:
= array(
self::IMG_MIME_TYPE_JPG => array('binary'),
self::IMG_MIME_TYPE_PNG => array('binary'),
self::IMG_MIME_TYPE_GIF => array('binary')
)

Definition at line 39 of file class.QuestionFilesService.php.

◆ $allowedFileExtensionsByMimeType

array ILIAS\TestQuestionPool\QuestionFilesService::$allowedFileExtensionsByMimeType
staticprotected
Initial value:
= array(
self::IMG_MIME_TYPE_JPG => array('jpg', 'jpeg'),
self::IMG_MIME_TYPE_PNG => array('png'),
self::IMG_MIME_TYPE_GIF => array('gif')
)

Definition at line 33 of file class.QuestionFilesService.php.

◆ $allowedImageMaterialFileExtensionsByMimeType

array ILIAS\TestQuestionPool\QuestionFilesService::$allowedImageMaterialFileExtensionsByMimeType
staticprotected
Initial value:
= array(
'image/jpeg' => array('jpg', 'jpeg'),
'image/png' => array('png'),
'image/gif' => array('gif')
)

Definition at line 9 of file class.QuestionFilesService.php.

◆ IMG_MIME_TYPE_GIF

const ILIAS\TestQuestionPool\QuestionFilesService::IMG_MIME_TYPE_GIF = 'image/gif'

Definition at line 31 of file class.QuestionFilesService.php.

◆ IMG_MIME_TYPE_JPG

const ILIAS\TestQuestionPool\QuestionFilesService::IMG_MIME_TYPE_JPG = 'image/jpeg'

Definition at line 29 of file class.QuestionFilesService.php.

◆ IMG_MIME_TYPE_PNG

const ILIAS\TestQuestionPool\QuestionFilesService::IMG_MIME_TYPE_PNG = 'image/png'

Definition at line 30 of file class.QuestionFilesService.php.


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