*/ declare(strict_types = 1); /** * Class containing available units for events. */ final class MDEventsSet extends MDValueSet { public const EVENT_IDS = [ '1', // => Created '2', // => Found '3', // => Published '4', // => Template creation '5', // => Was depicted (Actor) '6', // => Was used '7', // => Written '8', // => Collected '9', // => Painted '10', // => Image taken '11', // => Received '12', // => Printing plate produced '13', // => Sent '14', // => Issued '15', // => Signed '16', // => First description '19', // => Drawn '20', // => Copied (by hand) '21', // => Lived '22', // => [Relationship to location] '23', // => [Relation to person or institution] '24', // => [Relation to time] '25', // => Commissioned '26', // => Printed '27', // => Recorded '28', // => Sung '29', // => Decor designed '30', // => Form designed '31', // => Modelled '32', // => Autographed/Signed '33', // => Mentioned '34', // => Buried '35', // => Intellectual creation '36', // => Was depicted '37', // => Painted on '38', // => Illustrated '39', // => Assembled / "wurde zusammengefügt" (Finale Herstellung, z.B. Bild in Rahmen, Montage eines Omnibusses) '40', // => Auctioned "wurde versteigert" (Objekt war im Auktionshandel) '41', // "wurde gekauft" (Hier kann man jeden Kauf des Objektes vermerken) '42', // "wurde besessen" (Hier kann man jeden Besitz des Objektes vermerken) '43', // "wurde verkauft" (Hier kann man jeden Verkauf des Objektes vermerken) '44', // "wurde restauriert" (Hier kann man jede Restauierung des Objektes vermerken) '45', // "wurde beschädigt" (Hier kann man jede Beschädigung des Objektes vermerken, Teilbeschädigung oder Anlaß in Ereignisanmerkung) '46', // "wurde zerstört" (Hier kann man die Zerstörung eines Objektes vermerken) '47', // "verschollen" (Hier kann man das Abhandenkommen eines Objektes vermerken) '48', // "wurde herausgegeben" '49', // "gespendet / verschenkt" '50', // "vererbt" ]; public const EVENTS_PRODUCTION = [1, 7, 9, 10, 19, 20, 26, 27, 28, 38, 39, 48]; // Array enthält solche Ereignisse, die nach der Herstellung passiert sein müssen public const EVENTS_POST_PRODUCTION = [2, 3, 6, 8, 11, 13, 14, 15, 32, 34, 37, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50]; // Array enthält solche Ereignisse, die vor der Herstellung passiert sein müssen public const EVENTS_PRE_PRODUCTION = [4, 12, 25, 29, 30, 31, 35]; // Array enthält solche Ereignisse, die sich auf Objekte beziehen, die nicht hergestellt wurden public const EVENTS_NO_PRODUCTION = [16, 21, 33]; // Array enthält Ereignistypen, die auf Korrespondenzen hinweisen public const EVENTS_CORRESPONDENCE = [11, 13]; /* * Constants for event types without places, times, actors */ public const EVENTS_NO_TIME = [5, 22, 23, 36]; public const EVENTS_NO_ACTOR = [21, 22, 24, 36]; public const EVENTS_NO_PLACE = [5, 23, 24]; /** * Gets a list of the entries in a translated version. * * @param MDTlLoader $tlLoader Translation loader. * * @return array */ public static function getSortedList(MDTlLoader $tlLoader):array { return parent::getTlSortedList($tlLoader, self::EVENT_IDS, "eventtype_name", "eventname"); } /** * Gets a list of the entries in a translated version (actor focus). * * @param MDTlLoader $tlLoader Translation loader. * * @return array */ public static function getSortedListActors(MDTlLoader $tlLoader):array { $output = parent::getTlSortedList($tlLoader, self::EVENT_IDS, "eventtype_persinst", "event_persinst"); foreach (self::EVENTS_NO_ACTOR as $id) unset($output[$id]); return $output; } /** * Gets a list of the entries in a translated version (place focus). * * @param MDTlLoader $tlLoader Translation loader. * * @return array */ public static function getSortedListPlaces(MDTlLoader $tlLoader):array { $output = parent::getTlSortedList($tlLoader, self::EVENT_IDS, "eventtype_place", "event_place"); foreach (self::EVENTS_NO_PLACE as $id) unset($output[$id]); return $output; } /** * Gets a list of the entries in a translated version. * * @param MDTlLoader $tlLoader Translation loader. * * @return array */ public static function getSortedListTimes(MDTlLoader $tlLoader):array { $output = parent::getTlSortedList($tlLoader, self::EVENT_IDS, "eventtype_time", "event_time"); foreach (self::EVENTS_NO_TIME as $id) unset($output[$id]); return $output; } }