ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\File\Icon\IconAbstractRepository Class Reference
+ Inheritance diagram for ILIAS\File\Icon\IconAbstractRepository:
+ Collaboration diagram for ILIAS\File\Icon\IconAbstractRepository:

Public Member Functions

 __construct ()
 
 turnSuffixesArrayIntoString (array $a_suffixes)
 
 turnSuffixesStringIntoArray (string $a_suffixes)
 
 hasSuffixInputOnlyAllowedCharacters (array $a_suffixes)
 
 hasSuffixInputNoDuplicatesToItsOwnEntries (array $a_suffixes)
 
 causesNoActiveSuffixesConflict (array $a_future_suffixes, bool $a_future_activation_state, Icon $a_current_icon)
 
- Public Member Functions inherited from ILIAS\File\Icon\IconRepositoryInterface
 createIcon (string $a_rid, bool $a_active, bool $a_is_default_icon, array $a_suffixes)
 
 getIcons ()
 
 getIconsForFilter (array $filter)
 
 getIconByRid (string $a_rid)
 
 getActiveIconForSuffix (string $a_suffix)
 
 getIconFilePathBySuffix (string $suffix)
 
 updateIcon (string $a_rid, bool $a_active, bool $a_is_default_icon, array $a_suffixes)
 
 deleteIconByRid (string $a_rid)
 

Private Attributes

Factory $refinery
 

Detailed Description

Author
Lukas Zehnder lukas.nosp@m.@sr..nosp@m.solut.nosp@m.ions

Definition at line 28 of file IconAbstractRepository.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\File\Icon\IconAbstractRepository::__construct ( )

Definition at line 32 of file IconAbstractRepository.php.

33 {
34 global $DIC;
35 $this->refinery = $DIC->refinery();
36 }
global $DIC
Definition: shib_login.php:26

References $DIC, and ILIAS\Repository\refinery().

+ Here is the call graph for this function:

Member Function Documentation

◆ causesNoActiveSuffixesConflict()

ILIAS\File\Icon\IconAbstractRepository::causesNoActiveSuffixesConflict ( array  $a_future_suffixes,
bool  $a_future_activation_state,
Icon  $a_current_icon 
)
final

Definition at line 64 of file IconAbstractRepository.php.

68 : bool {
69 //if the icon is not going to be activated there can be no suffix conflict with other icons
70 if (!$a_future_activation_state) {
71 return true;
72 }
73
74 $existing_icons = $this->getIcons();
75 //remove current icon from existing icon array to prevent validation errors when updating an existing icon
76 if (!$a_current_icon instanceof NullIcon) {
77 unset($existing_icons[$a_current_icon->getRid()]);
78 }
79
80 $duplicate_suffixes = [];
81 foreach ($existing_icons as $existing_icon) {
82 //skip deactivated icons as having multiple icon entries for the same suffix is allowed, the restriction is that only one can be activated
83 if (!$existing_icon->isActive()) {
84 continue;
85 }
86 $duplicate_suffixes = array_merge(
87 $duplicate_suffixes,
88 array_intersect($a_future_suffixes, $existing_icon->getSuffixes())
89 );
90 }
91
92 return $duplicate_suffixes === [];
93 }

◆ hasSuffixInputNoDuplicatesToItsOwnEntries()

ILIAS\File\Icon\IconAbstractRepository::hasSuffixInputNoDuplicatesToItsOwnEntries ( array  $a_suffixes)
final

Definition at line 59 of file IconAbstractRepository.php.

59 : bool
60 {
61 return count($a_suffixes) === count(array_unique($a_suffixes));
62 }

◆ hasSuffixInputOnlyAllowedCharacters()

ILIAS\File\Icon\IconAbstractRepository::hasSuffixInputOnlyAllowedCharacters ( array  $a_suffixes)
final

Definition at line 52 of file IconAbstractRepository.php.

52 : bool
53 {
54 $suffixes_string = $this->turnSuffixesArrayIntoString($a_suffixes);
55 $matches = preg_match("/^[a-zA-Z0-9\,\s]+$/", $suffixes_string);
56 return $this->refinery->kindlyTo()->bool()->transform($matches);
57 }

References ILIAS\Repository\refinery(), and ILIAS\File\Icon\IconAbstractRepository\turnSuffixesArrayIntoString().

+ Here is the call graph for this function:

◆ turnSuffixesArrayIntoString()

ILIAS\File\Icon\IconAbstractRepository::turnSuffixesArrayIntoString ( array  $a_suffixes)
final

Definition at line 38 of file IconAbstractRepository.php.

38 : string
39 {
40 return implode(", ", $a_suffixes);
41 }

Referenced by ILIAS\File\Icon\IconAbstractRepository\hasSuffixInputOnlyAllowedCharacters().

+ Here is the caller graph for this function:

◆ turnSuffixesStringIntoArray()

ILIAS\File\Icon\IconAbstractRepository::turnSuffixesStringIntoArray ( string  $a_suffixes)
final
Returns
string[]

Definition at line 46 of file IconAbstractRepository.php.

46 : array
47 {
48 $a_suffixes = preg_replace('/\s+/', '', $a_suffixes);
49 return explode(",", (string) $a_suffixes);
50 }

Referenced by ILIAS\File\Icon\IconDatabaseRepository\getIconByRid(), ILIAS\File\Icon\IconDatabaseRepository\getIcons(), and ILIAS\File\Icon\IconDatabaseRepository\getIconsForFilter().

+ Here is the caller graph for this function:

Field Documentation

◆ $refinery

Factory ILIAS\File\Icon\IconAbstractRepository::$refinery
private

Definition at line 30 of file IconAbstractRepository.php.


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