diff --git a/classes/CsvxmlAvailableFields.php b/classes/CsvxmlAvailableFields.php new file mode 100644 index 0000000..6970eff --- /dev/null +++ b/classes/CsvxmlAvailableFields.php @@ -0,0 +1,1653 @@ + + */ +declare(strict_types = 1); + +/** + * Class building the list of available fields for CSVXML. + */ +final class CsvxmlAvailableFields { + + /** @var array */ + private array $_availableFields; + + /** + * Getter for available fields. + * + * @return array + */ + public function getFields():array { + + return $this->_availableFields; + + } + + /** + * Function for getting a simple array definition of an available field. + * + * @param string $nameTL Translation of the field name. Optional. + * @param string $explica Explanation of the field (from musdb). Optional. + * @param array $dependsOn Dependent fields. Optional. + * @param array $allowedValues Allowed values. Optional. + * @param string $remark Explanation of the field (for importer). Optional. + * @param boolean $required Determines whether the field is required. Defaults + to false. + * + * @return array + */ + private function _getSimpleAvailableFieldEntry(string $nameTL = "", string $explica = "", array $dependsOn = [], array $allowedValues = [], string $remark = "", bool $required = false):array { + return [ + "required" => $required, + "allowedValues" => $allowedValues, + "dependsOn" => $dependsOn, + "remark" => $remark, + "name_human_readable" => $nameTL, + "explica" => $explica, + ]; + + } + + /** + * Function for building a generic event type definition. + * + * @param string[] $event Translation variable. + * @param MDTlLoader $tlLoader Translation loader. + * @param string $typeName Translated name of event type. + * @param string $type Event type name (e.g. production). + * @param integer $number Number of event of this type. + * + * @return array + */ + private function _generateGenericFullEvent(array $event, MDTlLoader $tlLoader, string $typeName, string $type, int $number):array { + + return [ + "{$type}_when{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['when']}", "", ["{$type}_when_sure{$number}"]), + "{$type}_when_sure{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['when']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", "", ["{$type}_when{$number}"], ["y", "n"]), + "{$type}_who{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['who']}", "", ["{$type}_who_sure{$number}"]), + "{$type}_who_sure{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['who']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", "", ["{$type}_who{$number}"], ["y", "n"]), + "{$type}_who_gnd{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['who']} ({$event['gnd']})", "", ["{$type}_who_sure{$number}", "{$type}_who{$number}"]), + "{$type}_where{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['where']}", "", ["{$type}_where_sure{$number}"]), + "{$type}_where_sure{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['where']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", "", ["{$type}_where{$number}"], ["y", "n"]), + "{$type}_annotation{$number}" => $this->_getSimpleAvailableFieldEntry("{$typeName}: {$event['classic_annotation_intro']}", ""), + ]; + + } + + /** + * Constructor. + * + * @param string $lang User language. + * + * @return void + */ + public function __construct(string $lang) { + + $tlLoader = new MDTlLoader("available_fields", $lang); + + foreach (MD_STD::scandir(__DIR__ . "/../l10n/musdb/$lang/") as $fileName) { + if (in_array($fileName, ['start.php', 'start2.php'])) continue; + include __DIR__ . "/../l10n/musdb/{$lang}/{$fileName}"; + } + + include __DIR__ . "/../values/commonservices/$lang/search_all_fields.php"; + include __DIR__ . "/../values/commonservices/units.php"; + include __DIR__ . "/../classes/MDAllowedValueSets/l18n/$lang/eventtype_name.php"; + + $currencies = MDCurrenciesSet::getSortedList($tlLoader); + + if (empty($fieldNoMultiplicator) or !is_numeric($fieldNoMultiplicator)) { + $fieldNoMultiplicator = 1; + } + + $availableFields = [ + + $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'object_base_data') => [ + "inventory_number" => [ + "required" => true, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'Only unique values allowed', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), + ], + "object_type" => [ + "required" => true, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'Keep it short! Field is needed to create valid LIDO from museum-digital entries', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_type'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'oart_explica'), + ], + "object_title" => [ + "required" => true, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'Best is not to repeat the title again and again for many objects, e.g. vase, vase, vase ... better: Green vase, Blue vase, Yellow vase, ...', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_name'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'oname_explica'), + ], + "object_description" => [ + "required" => true, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'A good description of the objects is fundamental to make the objects searchable in the internet', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'description'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'obesch_explica'), + ], + "object_material_technique" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'This is a cummulative field for material and technique. It is also possible to additionally save the information separate in the fields: material_separate and technique_separate', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'mattech'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'mattech_explica'), + ], + "object_dimensions" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'This is a cummulative field for dimensions (values and units). It is also possible to additionally save the information separate. See the block: separate dimensions', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'measurements'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica'), + ], + "object_publication" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => [], + "remark" => 'Shall the object be visible directly after import?', + "name_human_readable" => $objekt['visibility'], + "explica" => '', + ], + "institution_name" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'If name of institution is given it has to be exactly the same as already known in museum-digital', + "name_human_readable" => $museum['museum_name'], + "explica" => $museum['musnam_explica'], + ], + ], + $searchvar[0][0] => [ + "object_other_title" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['object_other_title_kind_of'], + "remark" => 'If the field object_other_title is used. It has to be specified where this alternative title is used. Specification should be done within the field: object_other_title_kind_of', + "name_human_readable" => $searchvar[0][0], + "explica" => '', + ], + "object_other_title_kind_of" => [ + "required" => false, + "allowedValues" => array_values(MDTitleTypesSet::TITLE_TYPES), + "dependsOn" => ['object_other_title'], + "remark" => 'This field has to be used togehter with object_other_title', + "name_human_readable" => $searchvar[0][0] . ', in: ', + "explica" => '', + ], + ], + $searchvar[46][0] => [ + "detailed_description" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['detailed_description_md', 'detailed_description_extern'], + "remark" => 'If detailed_desription is made available for an object, detailed_description_md and detailed_description_extern have to have values too', + "name_human_readable" => $searchvar[46][0], + "explica" => $object_add['ddesc_inhalt'], + ], + "detailed_description_md" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ['detailed_description', 'detailed_description_extern'], + "remark" => 'Shall detailed description be visible at museum-digital? If detailed_desription is available for an object, detailed_description_md and detailed_description_extern have to have values too', + "name_human_readable" => $object_add['ddesc_visibility_md'], + "explica" => "", + ], + "detailed_description_extern" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ['detailed_description_md', 'detailed_description'], + "remark" => 'Shall later exports from museum-digital include the detailed_description?
If detailed_desription is available for an object, detailed_description_md and detailed_description_extern have to have values too', + "name_human_readable" => $object_add['ddesc_visibility_extern'], + "explica" => "", + ], + ], + $searchvar[2][0] => [ + "inscription" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['inscription_md', 'inscription_extern'], + "remark" => 'If inscription is made available for an object, inscription_md> and inscription_extern have to have values too', + "name_human_readable" => $searchvar[2][0], + "explica" => $object_add['besch_inhalt'], + ], + "inscription_md" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ['inscription_md', 'inscription_extern'], + "remark" => 'Shall a given inscription be displayed at museum-digital? If inscription is available for an object, inscription_md> and inscription_extern have to have values too', + "name_human_readable" => $object_add['besch_visibility_md'], + "explica" => "", + ], + "inscription_extern" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ['inscription_md', 'inscription_extern'], + "remark" => 'Shall later exports from museum-digital inlude inscription? If inscription is available for an object, inscription_md> and inscription_extern have to have values too', + "name_human_readable" => $object_add['besch_visibility_extern'], + "explica" => "", + ], + ], + "{$searchvar[52][0]} / {$searchvar[53][0]}" => [ + "material_separate" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'Additional to collecting material and technique in a combined field (see above), the material(s) can be given here separately', + "name_human_readable" => $searchvar[52][0], + "explica" => "", + ], + "technique_separate" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'Additional to collecting material and technique in a combined field (see above), the technique(s) can be given here separately', + "name_human_readable" => $searchvar[53][0], + "explica" => "", + ], + ], + $object_add['separated_measurements'] => [ + "dimensions_separate_length_value" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_length_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_length_value'], + "explica" => "", + ], + "dimensions_separate_length_unit" => [ + "required" => false, + "allowedValues" => MDUnitsSet::UNITS_LENGTH, + "dependsOn" => ['dimensions_separate_length_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_length_unit'], + "explica" => "", + ], + "dimensions_separate_width_value" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_width_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_width_value'], + "explica" => "", + ], + "dimensions_separate_width_unit" => [ + "required" => false, + "allowedValues" => MDUnitsSet::UNITS_LENGTH, + "dependsOn" => ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_width_unit'], + "explica" => "", + "required" => false, + ], + "dimensions_separate_height_value" => [ + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_height_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_height_value'], + "explica" => "", + ], + "dimensions_separate_height_unit" => [ + "required" => false, + "allowedValues" => MDUnitsSet::UNITS_LENGTH, + "dependsOn" => ['dimensions_separate_height_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_height_unit'], + "explica" => "", + ], + "dimensions_separate_weight_value" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_weight_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_weight_value'], + "explica" => "", + ], + "dimensions_separate_weight_unit" => [ + "required" => false, + "allowedValues" => MDUnitsSet::UNITS_WEIGHT, + "dependsOn" => ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_weight_unit'], + "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), + ], + "dimensions_separate_diameter_value" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_diameter_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_diameter_value'], + "explica" => "", + ], + "dimensions_separate_diameter_unit" => [ + "required" => false, + "allowedValues" => MDUnitsSet::UNITS_LENGTH, + "dependsOn" => ['dimensions_separate_diameter_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_diameter_unit'], + "explica" => "", + ], + "dimensions_separate_wall_thickness_value" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_wall_thickness_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_wall_size_value'], + "explica" => "", + ], + "dimensions_separate_wall_thickness_unit" => [ + "required" => false, + "allowedValues" => MDUnitsSet::UNITS_LENGTH, + "dependsOn" => ['dimensions_separate_wall_thickness_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', + "name_human_readable" => $export['exact_measurements_wall_size_unit'], + "explica" => "", + ], + "dimensions_separate_show_md" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => [ + "dimensions_separate_length_value", "dimensions_separate_length_unit", "dimensions_separate_width_value", + "dimensions_separate_width_unit", "dimensions_separate_height_value", "dimensions_separate_height_unit", + "dimensions_separate_weight_value", "dimensions_separate_weight_unit", "dimensions_separate_diameter_value", + "dimensions_separate_diameter_unit", "dimensions_separate_wall_thickness_value", "dimensions_separate_wall_thickness_unit" + ], + "remark" => 'If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be made visible at museum-digital', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), + "explica" => "", + ], + "dimensions_separate_show_extern" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => [ + "dimensions_separate_length_value", "dimensions_separate_length_unit", "dimensions_separate_width_value", + "dimensions_separate_width_unit", "dimensions_separate_height_value", "dimensions_separate_height_unit", + "dimensions_separate_weight_value", "dimensions_separate_weight_unit", "dimensions_separate_diameter_value", + "dimensions_separate_diameter_unit", "dimensions_separate_wall_thickness_value", "dimensions_separate_wall_thickness_unit" + ], + "remark" => 'If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be included in a later export from museum-digital', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), + "explica" => "", + ], + "number_of_pieces" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'Only to be given if more than one copies of an object are available and catalogued with the same inventory number', + "name_human_readable" => $export['exact_measurements_number_pieces'], + "explica" => "", + ], + "number_of_pages" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'Only to be given for books (etc.)', + "name_human_readable" => $export['exact_measurements_number_pages'], + "explica" => "", + ], + "dimensions_separate_stamp_position" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['dimensions_separate_show_md', 'dimensions_separate_show_extern'], + "remark" => '', + "name_human_readable" => $export['exact_measurements_stamp_position'], + "explica" => "", + ], + ], + $searchvar[11][0] => [ + "comparable_objects_other_museums" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['comparable_objects_other_museums_show_md', 'comparable_objects_other_museums_show_extern'], + "remark" => 'Name of other museum and if available the inventory number of the respective object. If comparable_objects_other_museums is given comparable_objects_other_museums_show_md and comparable_objects_other_museums_show_extern have to be given too', + "name_human_readable" => $searchvar[11][0], + "explica" => $object_add['vergl_inhalt'], + ], + "comparable_objects_other_museums_show_md" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ['comparable_objects_other_museums', 'comparable_objects_other_museums_show_extern'], + "remark" => 'Necessary if comparable_objects_other_museums is given. Should the information about comparable objects be displayed at museum-digital?', + "name_human_readable" => $object_add['vergl_visibility_md'], + "explica" => "", + ], + "comparable_objects_other_museums_show_extern" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ['comparable_objects_other_museums', 'comparable_objects_other_museums_show_md'], + "remark" => 'Necessary if comparable_objects_other_museums is given. Should the information about comparable objects be part of later exports from museum-digital?', + "name_human_readable" => $object_add['vergl_visibility_extern'], + "explica" => "", + ], + ], + $searchvar[1][0] => [ + "closer_location" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ['closer_location_as'], + "remark" => 'A place in a special relation to the object. The kind of relation has to specified in closer_location_as', + "name_human_readable" => $searchvar[1][0], + "explica" => $object_add['loka_inhalt'], + ], + "closer_location_as" => [ + "required" => false, + "allowedValues" => array_values($ortart), + "dependsOn" => ['closer_location'], + "remark" => 'A place in a special relation to the object can be given in closer_location. Here the kind of relation between object and place has to specified', + "name_human_readable" => "{$searchvar[1][0]}, {$object_add['as']}", + "explica" => "", + ], + ], + $object_add['classification'] => [ + "entry_number" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'The entry number of the object if available', + "name_human_readable" => $searchvar[12][0], + "explica" => $object_add['einu_inhalt'], + ], + "other_inventory_number" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'All other inventory numbers (older ones presumably) in one field', + "name_human_readable" => $searchvar[13][0], + "explica" => $object_add['invp_inhalt'], + ], + "subject_group" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'If the object is part of an subject group this information should be given here', + "name_human_readable" => $searchvar[16][0], + "explica" => "", + ], + "systematic" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'If the object is put into a museum-systematic the place it has there', + "name_human_readable" => $searchvar[17][0], + "explica" => "", + ], + "bundle" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'The bundle the object belongs to', + "name_human_readable" => $searchvar[14][0], + "explica" => "", + ], + "part_of" => [ + "required" => false, + "allowedValues" => [], + "remark" => 'If the object is part of something it can be given here', + "name_human_readable" => $searchvar[15][0], + "explica" => "", + ], + ], + $basis['administration'] => [ + "inclusion_when" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[19][0], + "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), + ], + "inclusion_kind_of" => [ + "required" => false, + "allowedValues" => MDEntryTypesSet::getSortedList($tlLoader), + "remark" => '', + "name_human_readable" => "{$searchvar[19][0]}, {$object_add['as']}", + "explica" => "", + ], + "inclusion_who" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => "{$searchvar[47][0]}", + "explica" => "", + ], + "inclusion_where" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[48][0], + "explica" => "", + ], + "registration_first_who" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[49][0], + "explica" => "", + ], + "registration_first_when" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[50][0], + "explica" => "", + ], + ], + $object_add['object_history'] => [ + "owner_previous" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[18][0], + "explica" => $object_add['vorb_inhalt'], + ], + "object_history" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[22][0], + "explica" => $object_add['obge_inhalt'], + ], + "bought_for" => [ + "required" => false, + "allowedValues" => '', + "dependsOn" => ["bought_for_currency"], + "remark" => '', + "name_human_readable" => "{$searchvar[19][0]}, {$object_add['for']}", + "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), + ], + "bought_for_currency" => [ + "required" => false, + "allowedValues" => $currencies, + "dependsOn" => ["bought_for"], + "remark" => '', + "name_human_readable" => "{$searchvar[19][0]}, {$object_add['for']}", + "explica" => "", + ], + ], + $object_add['values'] => [ + "worth_determiner" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => "{$searchvar[23][0]}; {$object_add['by']}", + "explica" => "", + ], + "worth_when" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[23][0], + "explica" => "", + ], + "worth_value" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => "{$searchvar[23][0]}; {$object_add['at']}", + "explica" => "", + ], + "worth_unit" => [ + "required" => false, + "allowedValues" => $currencies, + "remark" => '', + "name_human_readable" => "{$searchvar[23][0]}; Currency", + "explica" => "", + ], + "worth_insurance_determiner" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => "{$searchvar[26][0]}; {$object_add['by']}", + "explica" => "", + ], + "worth_insurance_when" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => "{$searchvar[26][0]}", + "explica" => "", + ], + "worth_insurance_value" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => "{$searchvar[26][0]}; {$object_add['at']}", + "explica" => "", + ], + "worth_insurance_unit" => [ + "required" => false, + "allowedValues" => $currencies, + "remark" => '', + "name_human_readable" => "{$searchvar[26][0]}; Currency", + "explica" => "", + ], + ], + $object_add['state'] => [ + "state" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[29][0], + "explica" => $object_add['zust_inhalt'], + ], + "restauration" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[30][0], + "explica" => $object_add['rest_inhalt'], + ], + ], + $basis['abode'] => [ + "abode_actual" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[31][0], + "explica" => $object_add['aktu_inhalt'], + ], + "abode_regular" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[32][0], + "explica" => $object_add['stan_inhalt'], + ], + "exhibition" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[33][0], + "explica" => $object_add['aust_inhalt'], + ], + "on_loan_to" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[34][0], + "explica" => $object_add['verl_inhalt'], + ], + "on_loan_contact" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[35][0], + "explica" => $object_add['ansp_inhalt'], + ], + "on_loan_when" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[36][0], + "explica" => $object_add['vher_inhalt'], + ], + "on_loan_insurance_value" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[37][0], + "explica" => $object_add['vlei_inhalt'], + ], + "on_loan_annotation" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[38][0], + "explica" => $object_add['alei_inhalt'], + ], + ], + $basis['rights'] => [ + "rights_object" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[39][0], + "explica" => $object_add['urhe_inhalt'], + ], + "rights_of_use" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[40][0], + "explica" => $object_add['nure_inhalt'], + ], + "rights_annotation" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[41][0], + "explica" => $object_add['arec_inhalt'], + ], + "rights_metadata_holder" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $object_add['metadata_rights_holder'], + "explica" => "", + ], + "rights_metadata_license" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $object_add['metadata_rights_status'], + "explica" => "", + ], + ], + $basis['remarks'] => [ + "remarks_short" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[42][0], + "explica" => $object_add['kurz_inhalt'], + ], + "remarks_long" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[43][0], + "explica" => $object_add['noti_inhalt'], + ], + "images_in_museum" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[44][0], + "explica" => $object_add['oaim_inhalt'], + ], + "documents_in_museum" => [ + "required" => false, + "allowedValues" => '', + "remark" => '', + "name_human_readable" => $searchvar[45][0], + "explica" => $object_add['odim_inhalt'], + ], + ], + $overview['links'] => [], + $overview['links'] . ": " . $basis['single_object'] => [], + "translations" => [], + $basis['literature'] => [], + $basis['objectgroup'] => [], + $overview['tags'] => [], + $eventname[22] => [], + $eventname[23] => [], + $eventname[24] => [], + $overview['images'] => [], + $basis['resource'] => [], + $basis['event'] . ": " . $eventname[1] => [], + $basis['event'] . ": " . $eventname[2] => [], + $basis['event'] . ": " . $eventname[3] => [], + $basis['event'] . ": " . $eventname[4] => [], + $basis['event'] . ": " . $eventname[5] => [], + $basis['event'] . ": " . $eventname[36] => [], + $basis['event'] . ": " . $eventname[6] => [], + $basis['event'] . ": " . $eventname[7] => [], + $basis['event'] . ": " . $eventname[8] => [], + $basis['event'] . ": " . $eventname[9] => [], + $basis['event'] . ": " . $eventname[10] => [], + $basis['event'] . ": " . $eventname[11] => [], + $basis['event'] . ": " . $eventname[12] => [], + $basis['event'] . ": " . $eventname[13] => [], + $basis['event'] . ": " . $eventname[14] => [], + $basis['event'] . ": " . $eventname[15] => [], + $basis['event'] . ": " . $eventname[16] => [], + $basis['event'] . ": " . $eventname[19] => [], + $basis['event'] . ": " . $eventname[20] => [], + $basis['event'] . ": " . $eventname[21] => [], + $basis['event'] . ": " . $eventname[25] => [], + $basis['event'] . ": " . $eventname[26] => [], + $basis['event'] . ": " . $eventname[27] => [], + $basis['event'] . ": " . $eventname[28] => [], + $basis['event'] . ": " . $eventname[29] => [], + $basis['event'] . ": " . $eventname[30] => [], + $basis['event'] . ": " . $eventname[31] => [], + $basis['event'] . ": " . $eventname[32] => [], + $basis['event'] . ": " . $eventname[33] => [], + $basis['event'] . ": " . $eventname[34] => [], + $basis['event'] . ": " . $eventname[35] => [], + $basis['event'] . ": " . $eventname[37] => [], + $basis['event'] . ": " . $eventname[38] => [], + ]; + + /* + * Repeat fields + */ + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$overview['links']] = array_merge($availableFields[$overview['links']], + [ + "link_url{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["link_show{$i}"], + "remark" => '', + "name_human_readable" => $link['url'], + "explica" => $link['linklink_explica'], + ], + "link_show{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["link_url{$i}"], + "remark" => '', + "name_human_readable" => $link['text'], + "explica" => $link['linkname_explica'], + ], + ]); + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$overview['links'] . ": " . $basis['single_object']] = array_merge($availableFields[$overview['links'] . ": " . $basis['single_object']], + [ + "linked_obj_invno{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["linked_obj_show{$i}"], + "remark" => '', + "name_human_readable" => "Inventarnummer des verknüpften Objektes", + "explica" => "", + ], + "linked_obj_show{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["linked_obj_invno{$i}"], + "remark" => '', + "name_human_readable" => "Verknüpftes Objekt: Text", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields["translations"] = array_merge($availableFields["translations"], + [ + "obj_trans_language{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], + "remark" => '', + "name_human_readable" => "Translation language", + "explica" => "", + ], + "obj_trans_object_type{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_type'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'oart_explica'), + ], + "obj_trans_object_title{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_name'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'oname_explica'), + ], + "obj_trans_object_description{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'description'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'obesch_explica'), + ], + "obj_trans_object_material_technique{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'mattech'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'mattech_explica'), + ], + "obj_trans_object_dimensions{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'measurements'), + "explica" => $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica'), + ], + ]); + + } + + for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { + + $availableFields[$basis['literature']] = array_merge($availableFields[$basis['literature']], + [ + "literature_author{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'author'), + "explica" => $tlLoader->tl("literature", "literature", 'autor_explica'), + ], + "literature_year{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'year'), + "explica" => $tlLoader->tl("literature", "literature", 'jahr_explica'), + ], + "literature_title{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'title'), + "explica" => $tlLoader->tl("literature", "literature", 'titel_explica'), + ], + "literature_place{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'place'), + "explica" => $tlLoader->tl("literature", "literature", 'ort_explica'), + ], + "literature_abbreviation{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'abbr'), + "explica" => $tlLoader->tl("literature", "literature", 'abbr_explica'), + ], + "literature_gnd{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'gnd'), + "explica" => $tlLoader->tl("literature", "literature", 'gnd_explica'), + ], + "literature_isbn{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'isbn'), + "explica" => $tlLoader->tl("literature", "literature", 'isbn_explica'), + ], + "literature_signature{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'id_in_museum'), + "explica" => $tlLoader->tl("literature", "literature", 'id_in_museum_explica'), + ], + "literature_online{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'online'), + "explica" => $tlLoader->tl("literature", "literature", 'online_explica'), + ], + "literature_annotation{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'annotation'), + "explica" => $tlLoader->tl("literature", "literature", 'annotation_explica'), + ], + "literature_inlit{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["literature_title{$i}"], + "remark" => '', + "name_human_readable" => $tlLoader->tl("literature", "literature", 'where_inside'), + "explica" => $tlLoader->tl("literature", "literature", 'where_in_explica'), + ], + ]); + + } + + // Collection names + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$tlLoader->tl('csvxml-overview', 'csvxml_overview', 'object_base_data')]["collection_name{$i}"] = [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [], + "remark" => 'Use if object belongs to a collection. If collection is already in museum-digital, please use exactly the same name', + "name_human_readable" => $collection['name'], + "explica" => $collection['samnam_explica'], + ]; + + } + + for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { + + $availableFields[$basis['objectgroup']] = array_merge($availableFields[$basis['objectgroup']], + [ + "object_group_name{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [], + "remark" => '', + "name_human_readable" => $link['series_name'], + "explica" => $link['seriename_explica'], + ], + "object_group_description{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["object_group_name{$i}"], + "remark" => '', + "name_human_readable" => $link['series_description'], + "explica" => $link['series_description'], + ], + "object_group_show{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["object_group_name{$i}"], + "remark" => '', + "name_human_readable" => $link['hide_objectgroup'], + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 10 * $fieldNoMultiplicator; $i++) { + + $availableFields[$overview['tags']]["tag{$i}"] = [ + "required" => false, + "allowedValues" => [], + "remark" => '', + "name_human_readable" => $overview['tags'], + "explica" => "", + ]; + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$eventname[22]] = array_merge($availableFields[$eventname[22]], + [ + "related_place{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["related_place_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['where'], + "explica" => "", + ], + "related_place_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["related_place{$i}"], + "remark" => '', + "name_human_readable" => "{$event['where']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$eventname[23]] = array_merge($availableFields[$eventname[23]], + [ + "related_actor{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["related_actor_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['who'], + "explica" => "", + ], + "related_actor_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["related_actor{$i}"], + "remark" => '', + "name_human_readable" => "{$event['who']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + "related_actor_gnd{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["related_actor{$i}", "related_actor_sure{$i}"], + "remark" => '', + "name_human_readable" => "{$event['who']} ({$event['gnd']})", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$eventname[24]] = array_merge($availableFields[$eventname[24]], + [ + "related_time{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["related_time_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['when'], + "explica" => "", + ], + "related_time_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["related_time{$i}"], + "remark" => '', + "name_human_readable" => $event['when'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { + + $availableFields[$overview['images']] = array_merge($availableFields[$overview['images']], + [ + "image_name{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'image_filename'), + "explica" => "", + ], + "image_description{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => $image_incha['image_description'], + "explica" => $image_incha['bildbesch_explica'], + ], + "image_owner{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "image_name{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => $image_incha['image_rightsholder'], + "explica" => $image_incha['owner_explica'], + ], + "image_creator{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => $image_incha['photographer'], + "explica" => $image_incha['creator_explica'], + ], + "image_rights{$i}" => [ + "required" => false, + "allowedValues" => array_keys(MDLicensesSet::AVAILABLE_LICENSES), + "dependsOn" => [ + "image_name{$i}", "image_owner{$i}", "image_visible{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => $image_incha['rights_status'], + "explica" => $image_incha['rechte_explica'], + ], + "image_visible{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => [ + "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => "{$basis['image']}: {$objekt['visibility']}", + "explica" => "", + ], + "image_main{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => [ + "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}" + ], + "remark" => '', + "name_human_readable" => $object['main_image'], + "explica" => "", + ], + "image_master_filename{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" + ], + "remark" => '', + "name_human_readable" => $image_incha['master_filename'], + "explica" => $image_incha['master_filename_explica'], + ], + ]); + + } + + for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { + + $availableFields[$basis['resource']] = array_merge($availableFields[$basis['resource']], + [ + "resource_media_type{$i}" => [ + "required" => false, + "allowedValues" => ['image', 'text', 'video', 'audio'], + "dependsOn" => [ + "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => 'Allowed values: image, text, video, audio', + "name_human_readable" => $basis['resource'] . ', ' . $tlSources['type'], + "explica" => "", + ], + "resource_fileformat{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "resource_media_type{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => 'e.g. pdf, mp3', + "name_human_readable" => $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'file_format'), + "explica" => "", + ], + "resource_location{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => 'In case the resource is stored externally: please include the whole path (incl. http or https) to the file. If the resource is uploaded to museum-digital: please put the filename here (e.g. file.pdf)', + "name_human_readable" => $resource_incha['image_filename'], + "explica" => "", + ], + "resource_name{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => 'Use, if you want to give the resource an own name. If not, you might want to repeat the object_title', + "name_human_readable" => $resource_incha['resource_name'], + "explica" => $resource_incha['bildname_explica'], + ], + "resource_description{$i}" => [ + "required" => false, + "allowedValues" => ['Use if you want to describe the resource. Might be left empty.'], + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => '', + "name_human_readable" => $resource_incha['resource_description'], + "explica" => $resource_incha['bildbesch_explica'], + ], + "resource_owner{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => 'The owner should be named. Usually it is the institution uploading the resource.', + "name_human_readable" => $resource_incha['resource_rightsholder'], + "explica" => $resource_incha['owner_explica'], + ], + "resource_creator{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", + ], + "remark" => 'Name of the person that created the resource. Might be left empty.', + "name_human_readable" => $resource_incha['creator'], + "explica" => $resource_incha['creator_explica'], + ], + "resource_rights{$i}" => [ + "required" => false, + "allowedValues" => array_keys(MDLicensesSet::AVAILABLE_LICENSES), + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_visible{$i}", + ], + "remark" => '', + "name_human_readable" => $resource_incha['rights_status'], + "explica" => $resource_incha['rechte_explica'], + ], + "resource_visible{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => [ + "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", + ], + "remark" => 'Should the resource be publicly visible? Allowed values are either y and n', + "name_human_readable" => "{$basis['resource']}: {$objekt['visibility']}", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[1]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[1]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[1], "production", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[2]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[2]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[2], "finding", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[3]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[3]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[3], "publication", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[4]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[4]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[4], "template_creation", $i) + ); + } + + for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { + + $availableFields[$basis['event'] . ': ' . $eventname[5]] = array_merge($availableFields[$basis['event'] . ': ' . $eventname[5]], + [ + "was_depicted_who{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["was_depicted_who_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['who'], + "explica" => "", + ], + "was_depicted_who_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["was_depicted_who{$i}"], + "remark" => '', + "name_human_readable" => $event['who'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { + + $availableFields[$basis['event'] . ': ' . $eventname[36]] = array_merge($availableFields[$basis['event'] . ': ' . $eventname[36]], + [ + "was_depicted_place{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["was_depicted_place_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['where'], + "explica" => "", + ], + "was_depicted_place_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["was_depicted_place{$i}"], + "remark" => '', + "name_human_readable" => $event['where'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + ]); + + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[6]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[6]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[6], "was_used", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[7]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[7]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[7], "written", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[8]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[8]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[8], "collected", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[9]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[9]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[9], "painted", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[10]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[10]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[10], "taken", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[11]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[11]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[11], "received", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[12]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[12]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[12], "printing_plate_produced", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[13]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[13]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[13], "sent", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[14]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[14]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[14], "issued", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[15]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[15]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[15], "signed", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[16]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[16]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[16], "type_described", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[19]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[19]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[19], "drawn", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[20]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[20]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[20], "copied", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[25]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[25]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[25], "commissioned", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[26]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[26]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[26], "printed", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[27]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[27]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[27], "spoken", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[28]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[28]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[28], "sung", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[29]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[29]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[29], "decor_designed", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[30]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[30]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[30], "form_designed", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[31]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[31]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[31], "modelled", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[32]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[32]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[32], "signed_artwork", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[33]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[33]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[33], "was_mentioned", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[34]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[34]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[34], "buried", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[35]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[35]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[35], "intellectual_creation", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[37]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[37]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[37], "painted_on", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + $availableFields[$basis['event'] . ': ' . $eventname[38]] = array_merge( + $availableFields[$basis['event'] . ': ' . $eventname[38]], + $this->_generateGenericFullEvent($event, $tlLoader, $eventname[38], "illustrated", $i) + ); + } + + for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { + + $availableFields[$basis['event'] . ': ' . $eventname[21]] = array_merge($availableFields[$basis['event'] . ': ' . $eventname[21]], + [ + "has_lived_when{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["has_lived_when_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['when'], + "explica" => "", + ], + "has_lived_when_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["has_lived_when{$i}"], + "remark" => '', + "name_human_readable" => $event['when'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + "has_lived_where{$i}" => [ + "required" => false, + "allowedValues" => [], + "dependsOn" => ["has_lived_where_sure{$i}"], + "remark" => '', + "name_human_readable" => $event['where'], + "explica" => "", + ], + "has_lived_where_sure{$i}" => [ + "required" => false, + "allowedValues" => ["y", "n"], + "dependsOn" => ["has_lived_where{$i}"], + "remark" => '', + "name_human_readable" => $event['where'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", + "explica" => "", + ], + "has_lived_annotation{$i}" => [ + "required" => false, + "allowedValues" => '', + "dependsOn" => [], + "remark" => '', + "name_human_readable" => $event['classic_annotation_intro'], + "explica" => "", + ], + ]); + + } + + $this->_availableFields = $availableFields; + + } + +} diff --git a/inc/constants.php b/inc/constants.php index cf24eb1..7f570a9 100644 --- a/inc/constants.php +++ b/inc/constants.php @@ -15,6 +15,7 @@ const TL_FILE_DIRS = [ ]; const AUTOLOAD_DIRS = [ + __DIR__ . "/../classes", __DIR__ . "/../classes/MDTlLoader/src", __DIR__ . "/../classes/MD_STD", __DIR__ . "/../classes/MDAllowedValueSets/src", diff --git a/public/csv.php b/public/csv.php index 263f893..a270018 100644 --- a/public/csv.php +++ b/public/csv.php @@ -31,7 +31,8 @@ if (!empty($_POST) and !empty($_POST['selectedFields'])) { } else $selectionActive = false; -require __DIR__ . "/../values/availableFields.php"; +$fieldsGetter = new CsvxmlAvailableFields($lang); +$availableFields = $fieldsGetter->getFields(); $line1 = $line2 = $line3 = $line4 = []; diff --git a/public/index.php b/public/index.php index a4dcada..dc6cbba 100644 --- a/public/index.php +++ b/public/index.php @@ -57,7 +57,8 @@ echo ' '; -require __DIR__ . "/../values/availableFields.php"; +$fieldsGetter = new CsvxmlAvailableFields($lang); +$availableFields = $fieldsGetter->getFields(); $tooltips = []; foreach ($availableFields as $headline => $fields) { diff --git a/public/index3.php b/public/index3.php index df5e23d..782b932 100644 --- a/public/index3.php +++ b/public/index3.php @@ -25,7 +25,8 @@ $csv_datei = MD_STD::realpath(__DIR__ . '/../csv/' . $filename); // Get allowed values * $fieldNoMultiplicator $fieldNoMultiplicator = 10; -require __DIR__ . "/../values/availableFields.php"; +$fieldsGetter = new CsvxmlAvailableFields($lang); +$availableFields = $fieldsGetter->getFields(); $allowed = $eventpart = $eventpartsure = $fieldsWithDependency = $fieldsWithAllowedValueSet = []; diff --git a/values/availableFields.php b/values/availableFields.php deleted file mode 100644 index b7fcc95..0000000 --- a/values/availableFields.php +++ /dev/null @@ -1,1623 +0,0 @@ -tl('csvxml-overview', 'csvxml_overview', 'object_base_data') => [ - "inventory_number" => [ - "required" => true, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'Only unique values allowed', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), - ], - "object_type" => [ - "required" => true, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'Keep it short! Field is needed to create valid LIDO from museum-digital entries', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_type'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'oart_explica'), - ], - "object_title" => [ - "required" => true, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'Best is not to repeat the title again and again for many objects, e.g. vase, vase, vase ... better: Green vase, Blue vase, Yellow vase, ...', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_name'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'oname_explica'), - ], - "object_description" => [ - "required" => true, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'A good description of the objects is fundamental to make the objects searchable in the internet', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'description'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'obesch_explica'), - ], - "object_material_technique" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'This is a cummulative field for material and technique. It is also possible to additionally save the information separate in the fields: material_separate and technique_separate', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'mattech'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'mattech_explica'), - ], - "object_dimensions" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'This is a cummulative field for dimensions (values and units). It is also possible to additionally save the information separate. See the block: separate dimensions', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'measurements'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica'), - ], - "object_publication" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => [], - "remark" => 'Shall the object be visible directly after import?', - "name_human_readable" => $objekt['visibility'], - "explica" => '', - ], - "institution_name" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'If name of institution is given it has to be exactly the same as already known in museum-digital', - "name_human_readable" => $museum['museum_name'], - "explica" => $museum['musnam_explica'], - ], - ], - $searchvar[0][0] => [ - "object_other_title" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['object_other_title_kind_of'], - "remark" => 'If the field object_other_title is used. It has to be specified where this alternative title is used. Specification should be done within the field: object_other_title_kind_of', - "name_human_readable" => $searchvar[0][0], - "explica" => '', - ], - "object_other_title_kind_of" => [ - "required" => false, - "allowedValues" => array_values(MDTitleTypesSet::TITLE_TYPES), - "dependsOn" => ['object_other_title'], - "remark" => 'This field has to be used togehter with object_other_title', - "name_human_readable" => $searchvar[0][0] . ', in: ', - "explica" => '', - ], - ], - $searchvar[46][0] => [ - "detailed_description" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['detailed_description_md', 'detailed_description_extern'], - "remark" => 'If detailed_desription is made available for an object, detailed_description_md and detailed_description_extern have to have values too', - "name_human_readable" => $searchvar[46][0], - "explica" => $object_add['ddesc_inhalt'], - ], - "detailed_description_md" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ['detailed_description', 'detailed_description_extern'], - "remark" => 'Shall detailed description be visible at museum-digital? If detailed_desription is available for an object, detailed_description_md and detailed_description_extern have to have values too', - "name_human_readable" => $object_add['ddesc_visibility_md'], - "explica" => "", - ], - "detailed_description_extern" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ['detailed_description_md', 'detailed_description'], - "remark" => 'Shall later exports from museum-digital include the detailed_description?
If detailed_desription is available for an object, detailed_description_md and detailed_description_extern have to have values too', - "name_human_readable" => $object_add['ddesc_visibility_extern'], - "explica" => "", - ], - ], - $searchvar[2][0] => [ - "inscription" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['inscription_md', 'inscription_extern'], - "remark" => 'If inscription is made available for an object, inscription_md> and inscription_extern have to have values too', - "name_human_readable" => $searchvar[2][0], - "explica" => $object_add['besch_inhalt'], - ], - "inscription_md" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ['inscription_md', 'inscription_extern'], - "remark" => 'Shall a given inscription be displayed at museum-digital? If inscription is available for an object, inscription_md> and inscription_extern have to have values too', - "name_human_readable" => $object_add['besch_visibility_md'], - "explica" => "", - ], - "inscription_extern" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ['inscription_md', 'inscription_extern'], - "remark" => 'Shall later exports from museum-digital inlude inscription? If inscription is available for an object, inscription_md> and inscription_extern have to have values too', - "name_human_readable" => $object_add['besch_visibility_extern'], - "explica" => "", - ], - ], - "{$searchvar[52][0]} / {$searchvar[53][0]}" => [ - "material_separate" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'Additional to collecting material and technique in a combined field (see above), the material(s) can be given here separately', - "name_human_readable" => $searchvar[52][0], - "explica" => "", - ], - "technique_separate" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'Additional to collecting material and technique in a combined field (see above), the technique(s) can be given here separately', - "name_human_readable" => $searchvar[53][0], - "explica" => "", - ], - ], - $object_add['separated_measurements'] => [ - "dimensions_separate_length_value" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_length_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_length_value'], - "explica" => "", - ], - "dimensions_separate_length_unit" => [ - "required" => false, - "allowedValues" => MDUnitsSet::UNITS_LENGTH, - "dependsOn" => ['dimensions_separate_length_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_length_unit'], - "explica" => "", - ], - "dimensions_separate_width_value" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_width_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_width_value'], - "explica" => "", - ], - "dimensions_separate_width_unit" => [ - "required" => false, - "allowedValues" => MDUnitsSet::UNITS_LENGTH, - "dependsOn" => ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_width_unit'], - "explica" => "", - "required" => false, - ], - "dimensions_separate_height_value" => [ - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_height_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_height_value'], - "explica" => "", - ], - "dimensions_separate_height_unit" => [ - "required" => false, - "allowedValues" => MDUnitsSet::UNITS_LENGTH, - "dependsOn" => ['dimensions_separate_height_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_height_unit'], - "explica" => "", - ], - "dimensions_separate_weight_value" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_weight_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_weight_value'], - "explica" => "", - ], - "dimensions_separate_weight_unit" => [ - "required" => false, - "allowedValues" => MDUnitsSet::UNITS_WEIGHT, - "dependsOn" => ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_weight_unit'], - "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), - ], - "dimensions_separate_diameter_value" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_diameter_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_diameter_value'], - "explica" => "", - ], - "dimensions_separate_diameter_unit" => [ - "required" => false, - "allowedValues" => MDUnitsSet::UNITS_LENGTH, - "dependsOn" => ['dimensions_separate_diameter_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_diameter_unit'], - "explica" => "", - ], - "dimensions_separate_wall_thickness_value" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_wall_thickness_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_wall_size_value'], - "explica" => "", - ], - "dimensions_separate_wall_thickness_unit" => [ - "required" => false, - "allowedValues" => MDUnitsSet::UNITS_LENGTH, - "dependsOn" => ['dimensions_separate_wall_thickness_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => 'If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, dimensions_separate_show_md and dimensions_separate_show_extern need to be filled in, too.', - "name_human_readable" => $export['exact_measurements_wall_size_unit'], - "explica" => "", - ], - "dimensions_separate_show_md" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => [ - "dimensions_separate_length_value", "dimensions_separate_length_unit", "dimensions_separate_width_value", - "dimensions_separate_width_unit", "dimensions_separate_height_value", "dimensions_separate_height_unit", - "dimensions_separate_weight_value", "dimensions_separate_weight_unit", "dimensions_separate_diameter_value", - "dimensions_separate_diameter_unit", "dimensions_separate_wall_thickness_value", "dimensions_separate_wall_thickness_unit" - ], - "remark" => 'If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be made visible at museum-digital', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), - "explica" => "", - ], - "dimensions_separate_show_extern" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => [ - "dimensions_separate_length_value", "dimensions_separate_length_unit", "dimensions_separate_width_value", - "dimensions_separate_width_unit", "dimensions_separate_height_value", "dimensions_separate_height_unit", - "dimensions_separate_weight_value", "dimensions_separate_weight_unit", "dimensions_separate_diameter_value", - "dimensions_separate_diameter_unit", "dimensions_separate_wall_thickness_value", "dimensions_separate_wall_thickness_unit" - ], - "remark" => 'If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be included in a later export from museum-digital', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), - "explica" => "", - ], - "number_of_pieces" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'Only to be given if more than one copies of an object are available and catalogued with the same inventory number', - "name_human_readable" => $export['exact_measurements_number_pieces'], - "explica" => "", - ], - "number_of_pages" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'Only to be given for books (etc.)', - "name_human_readable" => $export['exact_measurements_number_pages'], - "explica" => "", - ], - "dimensions_separate_stamp_position" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['dimensions_separate_show_md', 'dimensions_separate_show_extern'], - "remark" => '', - "name_human_readable" => $export['exact_measurements_stamp_position'], - "explica" => "", - ], - ], - $searchvar[11][0] => [ - "comparable_objects_other_museums" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['comparable_objects_other_museums_show_md', 'comparable_objects_other_museums_show_extern'], - "remark" => 'Name of other museum and if available the inventory number of the respective object. If comparable_objects_other_museums is given comparable_objects_other_museums_show_md and comparable_objects_other_museums_show_extern have to be given too', - "name_human_readable" => $searchvar[11][0], - "explica" => $object_add['vergl_inhalt'], - ], - "comparable_objects_other_museums_show_md" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ['comparable_objects_other_museums', 'comparable_objects_other_museums_show_extern'], - "remark" => 'Necessary if comparable_objects_other_museums is given. Should the information about comparable objects be displayed at museum-digital?', - "name_human_readable" => $object_add['vergl_visibility_md'], - "explica" => "", - ], - "comparable_objects_other_museums_show_extern" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ['comparable_objects_other_museums', 'comparable_objects_other_museums_show_md'], - "remark" => 'Necessary if comparable_objects_other_museums is given. Should the information about comparable objects be part of later exports from museum-digital?', - "name_human_readable" => $object_add['vergl_visibility_extern'], - "explica" => "", - ], - ], - $searchvar[1][0] => [ - "closer_location" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ['closer_location_as'], - "remark" => 'A place in a special relation to the object. The kind of relation has to specified in closer_location_as', - "name_human_readable" => $searchvar[1][0], - "explica" => $object_add['loka_inhalt'], - ], - "closer_location_as" => [ - "required" => false, - "allowedValues" => array_values($ortart), - "dependsOn" => ['closer_location'], - "remark" => 'A place in a special relation to the object can be given in closer_location. Here the kind of relation between object and place has to specified', - "name_human_readable" => "{$searchvar[1][0]}, {$object_add['as']}", - "explica" => "", - ], - ], - $object_add['classification'] => [ - "entry_number" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'The entry number of the object if available', - "name_human_readable" => $searchvar[12][0], - "explica" => $object_add['einu_inhalt'], - ], - "other_inventory_number" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'All other inventory numbers (older ones presumably) in one field', - "name_human_readable" => $searchvar[13][0], - "explica" => $object_add['invp_inhalt'], - ], - "subject_group" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'If the object is part of an subject group this information should be given here', - "name_human_readable" => $searchvar[16][0], - "explica" => "", - ], - "systematic" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'If the object is put into a museum-systematic the place it has there', - "name_human_readable" => $searchvar[17][0], - "explica" => "", - ], - "bundle" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'The bundle the object belongs to', - "name_human_readable" => $searchvar[14][0], - "explica" => "", - ], - "part_of" => [ - "required" => false, - "allowedValues" => [], - "remark" => 'If the object is part of something it can be given here', - "name_human_readable" => $searchvar[15][0], - "explica" => "", - ], - ], - $basis['administration'] => [ - "inclusion_when" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[19][0], - "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), - ], - "inclusion_kind_of" => [ - "required" => false, - "allowedValues" => MDEntryTypesSet::getSortedList($tlLoader), - "remark" => '', - "name_human_readable" => "{$searchvar[19][0]}, {$object_add['as']}", - "explica" => "", - ], - "inclusion_who" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => "{$searchvar[47][0]}", - "explica" => "", - ], - "inclusion_where" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[48][0], - "explica" => "", - ], - "registration_first_who" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[49][0], - "explica" => "", - ], - "registration_first_when" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[50][0], - "explica" => "", - ], - ], - $object_add['object_history'] => [ - "owner_previous" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[18][0], - "explica" => $object_add['vorb_inhalt'], - ], - "object_history" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[22][0], - "explica" => $object_add['obge_inhalt'], - ], - "bought_for" => [ - "required" => false, - "allowedValues" => '', - "dependsOn" => ["bought_for_currency"], - "remark" => '', - "name_human_readable" => "{$searchvar[19][0]}, {$object_add['for']}", - "explica" => $tlLoader->tl("object_basis", "object_basis", 'inv_explica'), - ], - "bought_for_currency" => [ - "required" => false, - "allowedValues" => $currencies, - "dependsOn" => ["bought_for"], - "remark" => '', - "name_human_readable" => "{$searchvar[19][0]}, {$object_add['for']}", - "explica" => "", - ], - ], - $object_add['values'] => [ - "worth_determiner" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => "{$searchvar[23][0]}; {$object_add['by']}", - "explica" => "", - ], - "worth_when" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[23][0], - "explica" => "", - ], - "worth_value" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => "{$searchvar[23][0]}; {$object_add['at']}", - "explica" => "", - ], - "worth_unit" => [ - "required" => false, - "allowedValues" => $currencies, - "remark" => '', - "name_human_readable" => "{$searchvar[23][0]}; Currency", - "explica" => "", - ], - "worth_insurance_determiner" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => "{$searchvar[26][0]}; {$object_add['by']}", - "explica" => "", - ], - "worth_insurance_when" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => "{$searchvar[26][0]}", - "explica" => "", - ], - "worth_insurance_value" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => "{$searchvar[26][0]}; {$object_add['at']}", - "explica" => "", - ], - "worth_insurance_unit" => [ - "required" => false, - "allowedValues" => $currencies, - "remark" => '', - "name_human_readable" => "{$searchvar[26][0]}; Currency", - "explica" => "", - ], - ], - $object_add['state'] => [ - "state" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[29][0], - "explica" => $object_add['zust_inhalt'], - ], - "restauration" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[30][0], - "explica" => $object_add['rest_inhalt'], - ], - ], - $basis['abode'] => [ - "abode_actual" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[31][0], - "explica" => $object_add['aktu_inhalt'], - ], - "abode_regular" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[32][0], - "explica" => $object_add['stan_inhalt'], - ], - "exhibition" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[33][0], - "explica" => $object_add['aust_inhalt'], - ], - "on_loan_to" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[34][0], - "explica" => $object_add['verl_inhalt'], - ], - "on_loan_contact" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[35][0], - "explica" => $object_add['ansp_inhalt'], - ], - "on_loan_when" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[36][0], - "explica" => $object_add['vher_inhalt'], - ], - "on_loan_insurance_value" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[37][0], - "explica" => $object_add['vlei_inhalt'], - ], - "on_loan_annotation" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[38][0], - "explica" => $object_add['alei_inhalt'], - ], - ], - $basis['rights'] => [ - "rights_object" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[39][0], - "explica" => $object_add['urhe_inhalt'], - ], - "rights_of_use" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[40][0], - "explica" => $object_add['nure_inhalt'], - ], - "rights_annotation" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[41][0], - "explica" => $object_add['arec_inhalt'], - ], - "rights_metadata_holder" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $object_add['metadata_rights_holder'], - "explica" => "", - ], - "rights_metadata_license" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $object_add['metadata_rights_status'], - "explica" => "", - ], - ], - $basis['remarks'] => [ - "remarks_short" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[42][0], - "explica" => $object_add['kurz_inhalt'], - ], - "remarks_long" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[43][0], - "explica" => $object_add['noti_inhalt'], - ], - "images_in_museum" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[44][0], - "explica" => $object_add['oaim_inhalt'], - ], - "documents_in_museum" => [ - "required" => false, - "allowedValues" => '', - "remark" => '', - "name_human_readable" => $searchvar[45][0], - "explica" => $object_add['odim_inhalt'], - ], - ], - $overview['links'] => [], - $overview['links'] . ": " . $basis['single_object'] => [], - "translations" => [], - $basis['literature'] => [], - $basis['objectgroup'] => [], - $overview['tags'] => [], - $eventname[22] => [], - $eventname[23] => [], - $eventname[24] => [], - $overview['images'] => [], - $basis['resource'] => [], - $basis['event'] . ": " . $eventname[1] => [], - $basis['event'] . ": " . $eventname[2] => [], - $basis['event'] . ": " . $eventname[3] => [], - $basis['event'] . ": " . $eventname[4] => [], - $basis['event'] . ": " . $eventname[5] => [], - $basis['event'] . ": " . $eventname[36] => [], - $basis['event'] . ": " . $eventname[6] => [], - $basis['event'] . ": " . $eventname[7] => [], - $basis['event'] . ": " . $eventname[8] => [], - $basis['event'] . ": " . $eventname[9] => [], - $basis['event'] . ": " . $eventname[10] => [], - $basis['event'] . ": " . $eventname[11] => [], - $basis['event'] . ": " . $eventname[12] => [], - $basis['event'] . ": " . $eventname[13] => [], - $basis['event'] . ": " . $eventname[14] => [], - $basis['event'] . ": " . $eventname[15] => [], - $basis['event'] . ": " . $eventname[16] => [], - $basis['event'] . ": " . $eventname[19] => [], - $basis['event'] . ": " . $eventname[20] => [], - $basis['event'] . ": " . $eventname[21] => [], - $basis['event'] . ": " . $eventname[25] => [], - $basis['event'] . ": " . $eventname[26] => [], - $basis['event'] . ": " . $eventname[27] => [], - $basis['event'] . ": " . $eventname[28] => [], - $basis['event'] . ": " . $eventname[29] => [], - $basis['event'] . ": " . $eventname[30] => [], - $basis['event'] . ": " . $eventname[31] => [], - $basis['event'] . ": " . $eventname[32] => [], - $basis['event'] . ": " . $eventname[33] => [], - $basis['event'] . ": " . $eventname[34] => [], - $basis['event'] . ": " . $eventname[35] => [], - $basis['event'] . ": " . $eventname[37] => [], - $basis['event'] . ": " . $eventname[38] => [], -]; - - -/* - * Repeat fields - */ - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$overview['links']] = array_merge($availableFields[$overview['links']], - [ - "link_url{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["link_show{$i}"], - "remark" => '', - "name_human_readable" => $link['url'], - "explica" => $link['linklink_explica'], - ], - "link_show{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["link_url{$i}"], - "remark" => '', - "name_human_readable" => $link['text'], - "explica" => $link['linkname_explica'], - ], - ]); - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$overview['links'] . ": " . $basis['single_object']] = array_merge($availableFields[$overview['links'] . ": " . $basis['single_object']], - [ - "linked_obj_invno{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["linked_obj_show{$i}"], - "remark" => '', - "name_human_readable" => "Inventarnummer des verknüpften Objektes", - "explica" => "", - ], - "linked_obj_show{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["linked_obj_invno{$i}"], - "remark" => '', - "name_human_readable" => "Verknüpftes Objekt: Text", - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields["translations"] = array_merge($availableFields["translations"], - [ - "obj_trans_language{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], - "remark" => '', - "name_human_readable" => "Translation language", - "explica" => "", - ], - "obj_trans_object_type{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_type'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'oart_explica'), - ], - "obj_trans_object_title{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'object_name'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'oname_explica'), - ], - "obj_trans_object_description{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'description'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'obesch_explica'), - ], - "obj_trans_object_material_technique{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'mattech'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'mattech_explica'), - ], - "obj_trans_object_dimensions{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["obj_trans_language{$i}", "obj_trans_object_type{$i}", "obj_trans_object_title{$i}", "obj_trans_object_description{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("object_basis", "object_basis", 'measurements'), - "explica" => $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica'), - ], - ]); - -} - -for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { - - $availableFields[$basis['literature']] = array_merge($availableFields[$basis['literature']], - [ - "literature_author{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'author'), - "explica" => $tlLoader->tl("literature", "literature", 'autor_explica'), - ], - "literature_year{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'year'), - "explica" => $tlLoader->tl("literature", "literature", 'jahr_explica'), - ], - "literature_title{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'title'), - "explica" => $tlLoader->tl("literature", "literature", 'titel_explica'), - ], - "literature_place{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'place'), - "explica" => $tlLoader->tl("literature", "literature", 'ort_explica'), - ], - "literature_abbreviation{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'abbr'), - "explica" => $tlLoader->tl("literature", "literature", 'abbr_explica'), - ], - "literature_gnd{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'gnd'), - "explica" => $tlLoader->tl("literature", "literature", 'gnd_explica'), - ], - "literature_isbn{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'isbn'), - "explica" => $tlLoader->tl("literature", "literature", 'isbn_explica'), - ], - "literature_signature{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'id_in_museum'), - "explica" => $tlLoader->tl("literature", "literature", 'id_in_museum_explica'), - ], - "literature_online{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'online'), - "explica" => $tlLoader->tl("literature", "literature", 'online_explica'), - ], - "literature_annotation{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'annotation'), - "explica" => $tlLoader->tl("literature", "literature", 'annotation_explica'), - ], - "literature_inlit{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["literature_title{$i}"], - "remark" => '', - "name_human_readable" => $tlLoader->tl("literature", "literature", 'where_inside'), - "explica" => $tlLoader->tl("literature", "literature", 'where_in_explica'), - ], - ]); - -} - -// Collection names - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$tlLoader->tl('csvxml-overview', 'csvxml_overview', 'object_base_data')]["collection_name{$i}"] = [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [], - "remark" => 'Use if object belongs to a collection. If collection is already in museum-digital, please use exactly the same name', - "name_human_readable" => $collection['name'], - "explica" => $collection['samnam_explica'], - ]; - -} - -for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { - - $availableFields[$basis['objectgroup']] = array_merge($availableFields[$basis['objectgroup']], - [ - "object_group_name{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [], - "remark" => '', - "name_human_readable" => $link['series_name'], - "explica" => $link['seriename_explica'], - ], - "object_group_description{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["object_group_name{$i}"], - "remark" => '', - "name_human_readable" => $link['series_description'], - "explica" => $link['series_description'], - ], - "object_group_show{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["object_group_name{$i}"], - "remark" => '', - "name_human_readable" => $link['hide_objectgroup'], - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 10 * $fieldNoMultiplicator; $i++) { - - $availableFields[$overview['tags']]["tag{$i}"] = [ - "required" => false, - "allowedValues" => [], - "remark" => '', - "name_human_readable" => $overview['tags'], - "explica" => "", - ]; - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$eventname[22]] = array_merge($availableFields[$eventname[22]], - [ - "related_place{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["related_place_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['where'], - "explica" => "", - ], - "related_place_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["related_place{$i}"], - "remark" => '', - "name_human_readable" => "{$event['where']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$eventname[23]] = array_merge($availableFields[$eventname[23]], - [ - "related_actor{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["related_actor_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['who'], - "explica" => "", - ], - "related_actor_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["related_actor{$i}"], - "remark" => '', - "name_human_readable" => "{$event['who']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - "related_actor_gnd{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["related_actor{$i}", "related_actor_sure{$i}"], - "remark" => '', - "name_human_readable" => "{$event['who']} ({$event['gnd']})", - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$eventname[24]] = array_merge($availableFields[$eventname[24]], - [ - "related_time{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["related_time_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['when'], - "explica" => "", - ], - "related_time_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["related_time{$i}"], - "remark" => '', - "name_human_readable" => $event['when'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { - - $availableFields[$overview['images']] = array_merge($availableFields[$overview['images']], - [ - "image_name{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'image_filename'), - "explica" => "", - ], - "image_description{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => $image_incha['image_description'], - "explica" => $image_incha['bildbesch_explica'], - ], - "image_owner{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "image_name{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => $image_incha['image_rightsholder'], - "explica" => $image_incha['owner_explica'], - ], - "image_creator{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => $image_incha['photographer'], - "explica" => $image_incha['creator_explica'], - ], - "image_rights{$i}" => [ - "required" => false, - "allowedValues" => array_keys(MDLicensesSet::AVAILABLE_LICENSES), - "dependsOn" => [ - "image_name{$i}", "image_owner{$i}", "image_visible{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => $image_incha['rights_status'], - "explica" => $image_incha['rechte_explica'], - ], - "image_visible{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => [ - "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => "{$basis['image']}: {$objekt['visibility']}", - "explica" => "", - ], - "image_main{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => [ - "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}" - ], - "remark" => '', - "name_human_readable" => $object['main_image'], - "explica" => "", - ], - "image_master_filename{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "image_name{$i}", "image_owner{$i}", "image_rights{$i}", "image_visible{$i}", "image_main{$i}" - ], - "remark" => '', - "name_human_readable" => $image_incha['master_filename'], - "explica" => $image_incha['master_filename_explica'], - ], - ]); - -} - -for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { - - $availableFields[$basis['resource']] = array_merge($availableFields[$basis['resource']], - [ - "resource_media_type{$i}" => [ - "required" => false, - "allowedValues" => ['image', 'text', 'video', 'audio'], - "dependsOn" => [ - "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => 'Allowed values: image, text, video, audio', - "name_human_readable" => $basis['resource'] . ', ' . $tlSources['type'], - "explica" => "", - ], - "resource_fileformat{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "resource_media_type{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => 'e.g. pdf, mp3', - "name_human_readable" => $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'file_format'), - "explica" => "", - ], - "resource_location{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => 'In case the resource is stored externally: please include the whole path (incl. http or https) to the file. If the resource is uploaded to museum-digital: please put the filename here (e.g. file.pdf)', - "name_human_readable" => $resource_incha['image_filename'], - "explica" => "", - ], - "resource_name{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => 'Use, if you want to give the resource an own name. If not, you might want to repeat the object_title', - "name_human_readable" => $resource_incha['resource_name'], - "explica" => $resource_incha['bildname_explica'], - ], - "resource_description{$i}" => [ - "required" => false, - "allowedValues" => ['Use if you want to describe the resource. Might be left empty.'], - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => '', - "name_human_readable" => $resource_incha['resource_description'], - "explica" => $resource_incha['bildbesch_explica'], - ], - "resource_owner{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => 'The owner should be named. Usually it is the institution uploading the resource.', - "name_human_readable" => $resource_incha['resource_rightsholder'], - "explica" => $resource_incha['owner_explica'], - ], - "resource_creator{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", "resource_visible{$i}", - ], - "remark" => 'Name of the person that created the resource. Might be left empty.', - "name_human_readable" => $resource_incha['creator'], - "explica" => $resource_incha['creator_explica'], - ], - "resource_rights{$i}" => [ - "required" => false, - "allowedValues" => array_keys(MDLicensesSet::AVAILABLE_LICENSES), - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_visible{$i}", - ], - "remark" => '', - "name_human_readable" => $resource_incha['rights_status'], - "explica" => $resource_incha['rechte_explica'], - ], - "resource_visible{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => [ - "resource_media_type{$i}", "resource_fileformat{$i}", "resource_location{$i}", "resource_name{$i}", "resource_owner{$i}", "resource_rights{$i}", - ], - "remark" => 'Should the resource be publicly visible? Allowed values are either y and n', - "name_human_readable" => "{$basis['resource']}: {$objekt['visibility']}", - "explica" => "", - ], - ]); - -} - -/** - * Function for getting a simple array definition of an available field. - * - * @param string $nameTL Translation of the field name. Optional. - * @param string $explica Explanation of the field (from musdb). Optional. - * @param array $dependsOn Dependent fields. Optional. - * @param array $allowedValues Allowed values. Optional. - * @param string $remark Explanation of the field (for importer). Optional. - * @param boolean $required Determines whether the field is required. Defaults - to false. - * - * @return array - */ -function getSimpleAvailableFieldEntry(string $nameTL = "", string $explica = "", array $dependsOn = [], array $allowedValues = [], string $remark = "", bool $required = false):array { - return [ - "required" => $required, - "allowedValues" => $allowedValues, - "dependsOn" => $dependsOn, - "remark" => $remark, - "name_human_readable" => $nameTL, - "explica" => $explica, - ]; - -} - -/** - * Function for building a generic event type definition. - * - * @param string[] $event Translation variable. - * @param MDTlLoader $tlLoader Translation loader. - * @param string $typeName Translated name of event type. - * @param string $type Event type name (e.g. production). - * @param integer $number Number of event of this type. - * - * @return array - */ -function generateGenericFullEvent(array $event, MDTlLoader $tlLoader, string $typeName, string $type, int $number):array { - - return [ - "{$type}_when{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['when']}", "", ["{$type}_when_sure{$number}"]), - "{$type}_when_sure{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['when']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", "", ["{$type}_when{$number}"], ["y", "n"]), - "{$type}_who{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['who']}", "", ["{$type}_who_sure{$number}"]), - "{$type}_who_sure{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['who']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", "", ["{$type}_who{$number}"], ["y", "n"]), - "{$type}_who_gnd{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['who']} ({$event['gnd']})", "", ["{$type}_who_sure{$number}", "{$type}_who{$number}"]), - "{$type}_where{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['where']}", "", ["{$type}_where_sure{$number}"]), - "{$type}_where_sure{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['where']} [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", "", ["{$type}_where{$number}"], ["y", "n"]), - "{$type}_annotation{$number}" => getSimpleAvailableFieldEntry("{$typeName}: {$event['classic_annotation_intro']}", ""), - ]; - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[1]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[1]], - generateGenericFullEvent($event, $tlLoader, $eventname[1], "production", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[2]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[2]], - generateGenericFullEvent($event, $tlLoader, $eventname[2], "finding", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[3]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[3]], - generateGenericFullEvent($event, $tlLoader, $eventname[3], "publication", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[4]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[4]], - generateGenericFullEvent($event, $tlLoader, $eventname[4], "template_creation", $i) - ); -} - -for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { - - $availableFields[$basis['event'] . ': ' . $eventname[5]] = array_merge($availableFields[$basis['event'] . ': ' . $eventname[5]], - [ - "was_depicted_who{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["was_depicted_who_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['who'], - "explica" => "", - ], - "was_depicted_who_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["was_depicted_who{$i}"], - "remark" => '', - "name_human_readable" => $event['who'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 5 * $fieldNoMultiplicator; $i++) { - - $availableFields[$basis['event'] . ': ' . $eventname[36]] = array_merge($availableFields[$basis['event'] . ': ' . $eventname[36]], - [ - "was_depicted_place{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["was_depicted_place_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['where'], - "explica" => "", - ], - "was_depicted_place_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["was_depicted_place{$i}"], - "remark" => '', - "name_human_readable" => $event['where'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - ]); - -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[6]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[6]], - generateGenericFullEvent($event, $tlLoader, $eventname[6], "was_used", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[7]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[7]], - generateGenericFullEvent($event, $tlLoader, $eventname[7], "written", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[8]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[8]], - generateGenericFullEvent($event, $tlLoader, $eventname[8], "collected", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[9]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[9]], - generateGenericFullEvent($event, $tlLoader, $eventname[9], "painted", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[10]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[10]], - generateGenericFullEvent($event, $tlLoader, $eventname[10], "taken", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[11]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[11]], - generateGenericFullEvent($event, $tlLoader, $eventname[11], "received", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[12]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[12]], - generateGenericFullEvent($event, $tlLoader, $eventname[12], "printing_plate_produced", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[13]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[13]], - generateGenericFullEvent($event, $tlLoader, $eventname[13], "sent", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[14]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[14]], - generateGenericFullEvent($event, $tlLoader, $eventname[14], "issued", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[15]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[15]], - generateGenericFullEvent($event, $tlLoader, $eventname[15], "signed", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[16]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[16]], - generateGenericFullEvent($event, $tlLoader, $eventname[16], "type_described", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[19]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[19]], - generateGenericFullEvent($event, $tlLoader, $eventname[19], "drawn", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[20]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[20]], - generateGenericFullEvent($event, $tlLoader, $eventname[20], "copied", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[25]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[25]], - generateGenericFullEvent($event, $tlLoader, $eventname[25], "commissioned", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[26]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[26]], - generateGenericFullEvent($event, $tlLoader, $eventname[26], "printed", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[27]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[27]], - generateGenericFullEvent($event, $tlLoader, $eventname[27], "spoken", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[28]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[28]], - generateGenericFullEvent($event, $tlLoader, $eventname[28], "sung", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[29]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[29]], - generateGenericFullEvent($event, $tlLoader, $eventname[29], "decor_designed", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[30]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[30]], - generateGenericFullEvent($event, $tlLoader, $eventname[30], "form_designed", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[31]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[31]], - generateGenericFullEvent($event, $tlLoader, $eventname[31], "modelled", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[32]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[32]], - generateGenericFullEvent($event, $tlLoader, $eventname[32], "signed_artwork", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[33]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[33]], - generateGenericFullEvent($event, $tlLoader, $eventname[33], "was_mentioned", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[34]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[34]], - generateGenericFullEvent($event, $tlLoader, $eventname[34], "buried", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[35]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[35]], - generateGenericFullEvent($event, $tlLoader, $eventname[35], "intellectual_creation", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[37]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[37]], - generateGenericFullEvent($event, $tlLoader, $eventname[37], "painted_on", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - $availableFields[$basis['event'] . ': ' . $eventname[38]] = array_merge( - $availableFields[$basis['event'] . ': ' . $eventname[38]], - generateGenericFullEvent($event, $tlLoader, $eventname[38], "illustrated", $i) - ); -} - -for ($i = 1; $i <= 2 * $fieldNoMultiplicator; $i++) { - - $availableFields[$basis['event'] . ': ' . $eventname[21]] = array_merge($availableFields[$basis['event'] . ': ' . $eventname[21]], - [ - "has_lived_when{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["has_lived_when_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['when'], - "explica" => "", - ], - "has_lived_when_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["has_lived_when{$i}"], - "remark" => '', - "name_human_readable" => $event['when'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - "has_lived_where{$i}" => [ - "required" => false, - "allowedValues" => [], - "dependsOn" => ["has_lived_where_sure{$i}"], - "remark" => '', - "name_human_readable" => $event['where'], - "explica" => "", - ], - "has_lived_where_sure{$i}" => [ - "required" => false, - "allowedValues" => ["y", "n"], - "dependsOn" => ["has_lived_where{$i}"], - "remark" => '', - "name_human_readable" => $event['where'] . " [" . $tlLoader->tl('csvxml-overview', 'csvxml_overview', 'certainty') . "]", - "explica" => "", - ], - "has_lived_annotation{$i}" => [ - "required" => false, - "allowedValues" => '', - "dependsOn" => [], - "remark" => '', - "name_human_readable" => $event['classic_annotation_intro'], - "explica" => "", - ], - ]); - -}