19 declare(strict_types=1);
40 return implode(
", ", $a_suffixes);
48 $a_suffixes = preg_replace(
'/\s+/',
'', $a_suffixes);
49 return explode(
",", (
string) $a_suffixes);
55 $matches = preg_match(
"/^[a-zA-Z0-9\,\s]+$/", $suffixes_string);
56 return $this->
refinery->kindlyTo()->bool()->transform($matches);
61 return count($a_suffixes) === count(array_unique($a_suffixes));
65 array $a_future_suffixes,
66 bool $a_future_activation_state,
70 if (!$a_future_activation_state) {
76 if (!$a_current_icon instanceof
NullIcon) {
77 unset($existing_icons[$a_current_icon->
getRid()]);
80 $duplicate_suffixes = [];
81 foreach ($existing_icons as $existing_icon) {
83 if (!$existing_icon->isActive()) {
86 $duplicate_suffixes = array_merge(
88 array_intersect($a_future_suffixes, $existing_icon->getSuffixes())
92 return $duplicate_suffixes === [];
turnSuffixesStringIntoArray(string $a_suffixes)
hasSuffixInputOnlyAllowedCharacters(array $a_suffixes)
hasSuffixInputNoDuplicatesToItsOwnEntries(array $a_suffixes)
turnSuffixesArrayIntoString(array $a_suffixes)
causesNoActiveSuffixesConflict(array $a_future_suffixes, bool $a_future_activation_state, Icon $a_current_icon)