57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			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;
 | 
						|
 | 
						|
    }
 | 
						|
}
 |