ILIAS  trunk Revision v11.0_alpha-1851-ga8564da6fed
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

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

33  {
34  global $DIC;
35  $this->refinery = $DIC->refinery();
36  }
global $DIC
Definition: shib_login.php:22
+ 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.

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

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  }
+ Here is the call graph for this function:

◆ 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.

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

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  }
+ 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.

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

38  : string
39  {
40  return implode(", ", $a_suffixes);
41  }
+ 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.

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

46  : array
47  {
48  $a_suffixes = preg_replace('/\s+/', '', $a_suffixes);
49  return explode(",", (string) $a_suffixes);
50  }
+ 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: