ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
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

ILIAS Refinery Factory $refinery
 

Detailed Description

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

Definition at line 26 of file IconAbstractRepository.php.

Constructor & Destructor Documentation

◆ __construct()

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

Definition at line 30 of file IconAbstractRepository.php.

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

31  {
32  global $DIC;
33  $this->refinery = $DIC->refinery();
34  }
global $DIC
Definition: shib_login.php:25
+ 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 62 of file IconAbstractRepository.php.

References ILIAS\File\Icon\IconRepositoryInterface\getIcons(), and ILIAS\File\Icon\Icon\getRid().

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

◆ hasSuffixInputNoDuplicatesToItsOwnEntries()

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

Definition at line 57 of file IconAbstractRepository.php.

57  : bool
58  {
59  return count($a_suffixes) === count(array_unique($a_suffixes));
60  }

◆ hasSuffixInputOnlyAllowedCharacters()

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

Definition at line 50 of file IconAbstractRepository.php.

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

50  : bool
51  {
52  $suffixes_string = $this->turnSuffixesArrayIntoString($a_suffixes);
53  $matches = preg_match("/^[a-zA-Z0-9\,\s]+$/", $suffixes_string);
54  return $this->refinery->kindlyTo()->bool()->transform($matches);
55  }
+ Here is the call graph for this function:

◆ turnSuffixesArrayIntoString()

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

Definition at line 36 of file IconAbstractRepository.php.

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

36  : string
37  {
38  return implode(", ", $a_suffixes);
39  }
+ Here is the caller graph for this function:

◆ turnSuffixesStringIntoArray()

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

Definition at line 44 of file IconAbstractRepository.php.

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

44  : array
45  {
46  $a_suffixes = preg_replace('/\s+/', '', $a_suffixes);
47  return explode(",", $a_suffixes);
48  }
+ Here is the caller graph for this function:

Field Documentation

◆ $refinery

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

Definition at line 28 of file IconAbstractRepository.php.


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