MDAllowedValueSets/src/MDEventsSet.php

93 lines
3.6 KiB
PHP

<?PHP
/**
* Contains a class for controlling the list of available events.
*
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
*/
declare(strict_types = 1);
/**
* Class containing available units for events.
*/
final class MDEventsSet extends MDValueSet {
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', // "wurde zusammengefügt" (Finale Herstellung, z.B. Bild in Rahmen, Montage eines Omnibusses)
'40', // "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', // Nachtrag auf Anregung von Manfred: "wurde herausgegeben"
];
const EVENTS_PRODUCTION = [1, 7, 9, 10, 19, 20, 26, 38, 39];
// Array enthält solche Ereignisse, die nach der Herstellung passiert sein müssen
const EVENTS_POST_PRODUCTION = [2, 3, 6, 8, 11, 13, 14, 15, 32, 34, 37, 40, 41, 42, 43, 44, 45, 46, 47];
// Array enthält solche Ereignisse, die vor der Herstellung passiert sein müssen
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
const EVENTS_NO_PRODUCTION = [21];
// Array enthält Ereignistypen, die auf Korrespondenzen hinweisen
const EVENTS_CORRESPONDENCE = [11, 13];
/*
* Constants for event types without places, times, actors
*/
const EVENTS_NO_TIME = [5, 22, 23, 36];
const EVENTS_NO_ACTOR = [21, 22, 24, 36];
const EVENTS_NO_PLACE = [5, 23, 24];
/**
* Gets a list of the entries in a translated version.
*
* @param MDTlLoader $tlLoader Translation loader.
*
* @return array<string>
*/
public static function getSortedList(MDTlLoader $tlLoader):array {
return parent::getTlSortedList($tlLoader, self::EVENT_IDS, "eventtype_name", "eventname");
}
}