MDAllowedValueSets/src/MDValueSet.php

57 lines
1.7 KiB
PHP

<?PHP
/**
* Parent class for controlled lists of available values at md.
*
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
*/
declare(strict_types = 1);
/**
* Generic class for value sets.
*/
class MDValueSet {
/**
* Gets an unsorted array based on provided keys and their translations.
*
* @param MDTlLoader $tlLoader Translation loader.
* @param array<string> $keyList List of keys to get translations for.
* @param string $tlFileName Name of the translation file.
* @param string $tlVarName Variable of the translation.
*
* @return array<string, string>
*/
public static function getTlUnsortedList(MDTlLoader $tlLoader, array $keyList, string $tlFileName, string $tlVarName):array {
$output = [];
foreach ($keyList as $tID) {
if ($tID === "") {
$output[$tID] = "";
}
else {
$output[$tID] = $tlLoader->tl($tlFileName, $tlVarName, $tID);
}
}
return $output;
}
/**
* Gets a list of entries in a translated version.
*
* @param MDTlLoader $tlLoader Translation loader.
* @param array<string> $keyList List of keys to get translations for.
* @param string $tlFileName Name of the translation file.
* @param string $tlVarName Variable of the translation.
*
* @return array<string>
*/
public static function getTlSortedList(MDTlLoader $tlLoader, array $keyList, string $tlFileName, string $tlVarName):array {
$output = self::getTlUnsortedList($tlLoader, $keyList, $tlFileName, $tlVarName);
asort($output);
return $output;
}
}