diff --git a/classes/CsvxmlAvailableFields.php b/classes/CsvxmlAvailableFields.php index 1502bc0..0f6b3c8 100644 --- a/classes/CsvxmlAvailableFields.php +++ b/classes/CsvxmlAvailableFields.php @@ -105,665 +105,665 @@ final class CsvxmlAvailableFields { $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'], - ], + "inventory_number" => new FieldEntry( + true, + [], + [], + 'Only unique values allowed', + $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), + $tlLoader->tl("object_basis", "object_basis", 'inv_explica') + ), + "object_type" => new FieldEntry( + true, + [], + [], + 'Keep it short! Field is needed to create valid LIDO from museum-digital entries', + $tlLoader->tl("object_basis", "object_basis", 'object_type'), + $tlLoader->tl("object_basis", "object_basis", 'oart_explica') + ), + "object_title" => new FieldEntry( + true, + [], + [], + '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, ...', + $tlLoader->tl("object_basis", "object_basis", 'object_name'), + $tlLoader->tl("object_basis", "object_basis", 'oname_explica') + ), + "object_description" => new FieldEntry( + true, + [], + [], + 'A good description of the objects is fundamental to make the objects searchable in the internet', + $tlLoader->tl("object_basis", "object_basis", 'description'), + $tlLoader->tl("object_basis", "object_basis", 'obesch_explica') + ), + "object_material_technique" => new FieldEntry( + false, + [], + [], + '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', + $tlLoader->tl("object_basis", "object_basis", 'mattech'), + $tlLoader->tl("object_basis", "object_basis", 'mattech_explica') + ), + "object_dimensions" => new FieldEntry( + false, + [], + [], + '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', + $tlLoader->tl("object_basis", "object_basis", 'measurements'), + $tlLoader->tl("object_basis", "object_basis", 'ausmass_explica') + ), + "object_publication" => new FieldEntry( + false, + ["y", "n"], + [], + 'Shall the object be visible directly after import?', + $objekt['visibility'], + '' + ), + "institution_name" => new FieldEntry( + false, + [], + [], + 'If name of institution is given it has to be exactly the same as already known in museum-digital', + $museum['museum_name'], + $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" => '', - ], + "object_other_title" => new FieldEntry( + false, + [], + ['object_other_title_kind_of'], + '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', + $searchvar[0][0], + '' + ), + "object_other_title_kind_of" => new FieldEntry( + false, + array_values(MDTitleTypesSet::TITLE_TYPES), + ['object_other_title'], + 'This field has to be used togehter with object_other_title', + $searchvar[0][0] . ', in: ', + '' + ), ], $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" => "", - ], + "detailed_description" => new FieldEntry( + false, + [], + ['detailed_description_md', 'detailed_description_extern'], + 'If detailed_desription is made available for an object, detailed_description_md and detailed_description_extern have to have values too', + $searchvar[46][0], + $object_add['ddesc_inhalt'] + ), + "detailed_description_md" => new FieldEntry( + false, + ["y", "n"], + ['detailed_description', 'detailed_description_extern'], + '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', + $object_add['ddesc_visibility_md'], + "" + ), + "detailed_description_extern" => new FieldEntry( + false, + ["y", "n"], + ['detailed_description_md', 'detailed_description'], + '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', + $object_add['ddesc_visibility_extern'] + "" + ), ], $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" => "", - ], + "inscription" => new FieldEntry( + false, + [], + ['inscription_md', 'inscription_extern'], + 'If inscription is made available for an object, inscription_md> and inscription_extern have to have values too', + $searchvar[2][0], + $object_add['besch_inhalt'] + ), + "inscription_md" => new FieldEntry( + false, + ["y", "n"], + ['inscription_md', 'inscription_extern'], + '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', + $object_add['besch_visibility_md'], + "" + ), + "inscription_extern" => new FieldEntry( + false, + ["y", "n"], + ['inscription_md', 'inscription_extern'], + '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', + $object_add['besch_visibility_extern'], + "" + ), ], "{$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" => "", - ], + "material_separate" => new FieldEntry( + false, + [], + 'Additional to collecting material and technique in a combined field (see above), the material(s) can be given here separately', + $searchvar[52][0], + "" + ), + "technique_separate" => new FieldEntry( + false, + [], + 'Additional to collecting material and technique in a combined field (see above), the technique(s) can be given here separately', + $searchvar[53][0], + "" + ), ], $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" => new FieldEntry( + false, + [], + ['dimensions_separate_length_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_length_value'], + "" + ), + "dimensions_separate_length_unit" => new FieldEntry( + false, + MDUnitsSet::UNITS_LENGTH, + ['dimensions_separate_length_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_length_unit'], + "" + ), + "dimensions_separate_width_value" => new FieldEntry( + false, + [], + ['dimensions_separate_width_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_width_value'], + "" + ), + "dimensions_separate_width_unit" => new FieldEntry( + false, + MDUnitsSet::UNITS_LENGTH, + ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_width_unit'], + "" + ), + "dimensions_separate_height_value" => new FieldEntry( + false, + [], + ['dimensions_separate_height_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_height_value'], + "" + ), + "dimensions_separate_height_unit" => new FieldEntry( + false, + MDUnitsSet::UNITS_LENGTH, + ['dimensions_separate_height_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_height_unit'], + "" + ), + "dimensions_separate_weight_value" => new FieldEntry( + false, + [], + ['dimensions_separate_weight_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_weight_value'], + "" + ), + "dimensions_separate_weight_unit" => new FieldEntry( + false, + MDUnitsSet::UNITS_WEIGHT, + ['dimensions_separate_width_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_weight_unit'], + $tlLoader->tl("object_basis", "object_basis", 'inv_explica') + ), + "dimensions_separate_diameter_value" => new FieldEntry( + false, + [], + ['dimensions_separate_diameter_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_diameter_value'], + "" + ), + "dimensions_separate_diameter_unit" => new FieldEntry( + false, + MDUnitsSet::UNITS_LENGTH, + ['dimensions_separate_diameter_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_diameter_unit'], + "" + ), + "dimensions_separate_wall_thickness_value" => new FieldEntry( + false, + [], + ['dimensions_separate_wall_thickness_unit', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_wall_size_value'], + "" + ), + "dimensions_separate_wall_thickness_unit" => new FieldEntry( + false, + MDUnitsSet::UNITS_LENGTH, + ['dimensions_separate_wall_thickness_value', 'dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '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.', + $export['exact_measurements_wall_size_unit'], + "" + ), + "dimensions_separate_show_md" => new FieldEntry( + false, + ["y", "n"], + [ "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" => [ + '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', + $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), + "" + ), + "dimensions_separate_show_extern" => new FieldEntry( + false, + ["y", "n"], + [ "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" => "", - ], + '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', + $tlLoader->tl("object_basis", "object_basis", 'inventory_number'), + "" + ), + "number_of_pieces" => new FieldEntry( + false, + [], + 'Only to be given if more than one copies of an object are available and catalogued with the same inventory number', + $export['exact_measurements_number_pieces'], + "" + ), + "number_of_pages" => new FieldEntry( + false, + [], + 'Only to be given for books (etc.)', + $export['exact_measurements_number_pages'], + "" + ), + "dimensions_separate_stamp_position" => new FieldEntry( + false, + [], + ['dimensions_separate_show_md', 'dimensions_separate_show_extern'], + '', + $export['exact_measurements_stamp_position'], + "" + ), ], $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" => "", - ], + "comparable_objects_other_museums" => new FieldEntry( + false, + [], + ['comparable_objects_other_museums_show_md', 'comparable_objects_other_museums_show_extern'], + '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', + $searchvar[11][0], + $object_add['vergl_inhalt'] + ), + "comparable_objects_other_museums_show_md" => new FieldEntry( + false, + ["y", "n"], + ['comparable_objects_other_museums', 'comparable_objects_other_museums_show_extern'], + 'Necessary if comparable_objects_other_museums is given. Should the information about comparable objects be displayed at museum-digital?', + $object_add['vergl_visibility_md'], + "" + ), + "comparable_objects_other_museums_show_extern" => new FieldEntry( + false, + ["y", "n"], + ['comparable_objects_other_museums', 'comparable_objects_other_museums_show_md'], + 'Necessary if comparable_objects_other_museums is given. Should the information about comparable objects be part of later exports from museum-digital?', + $object_add['vergl_visibility_extern'], + "" + ), ], $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" => "", - ], + "closer_location" => new FieldEntry( + false, + [], + ['closer_location_as'], + 'A place in a special relation to the object. The kind of relation has to specified in closer_location_as', + $searchvar[1][0], + $object_add['loka_inhalt'] + ), + "closer_location_as" => new FieldEntry( + false, + array_values($ortart), + ['closer_location'], + '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', + "{$searchvar[1][0]}, {$object_add['as']}", + "" + ), ], $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" => "", - ], + "entry_number" => new FieldEntry( + false, + [], + 'The entry number of the object if available', + $searchvar[12][0], + $object_add['einu_inhalt'] + ), + "other_inventory_number" => new FieldEntry( + false, + [], + 'All other inventory numbers (older ones presumably) in one field', + $searchvar[13][0], + $object_add['invp_inhalt'] + ), + "subject_group" => new FieldEntry( + false, + [], + 'If the object is part of an subject group this information should be given here', + $searchvar[16][0], + "" + ), + "systematic" => new FieldEntry( + false, + [], + 'If the object is put into a museum-systematic the place it has there', + $searchvar[17][0], + "" + ), + "bundle" => new FieldEntry( + false, + [], + 'The bundle the object belongs to', + $searchvar[14][0], + "" + ), + "part_of" => new FieldEntry( + false, + [], + 'If the object is part of something it can be given here', + $searchvar[15][0], + "" + ), ], $tlLoader->tl("basis", "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" => "", - ], + "inclusion_when" => new FieldEntry( + false, + '', + '', + $searchvar[19][0], + $tlLoader->tl("object_basis", "object_basis", 'inv_explica') + ), + "inclusion_kind_of" => new FieldEntry( + false, + MDEntryTypesSet::getSortedList($tlLoader), + '', + "{$searchvar[19][0]}, {$object_add['as']}", + "" + ), + "inclusion_who" => new FieldEntry( + false, + '', + '', + "{$searchvar[47][0]}", + "" + ), + "inclusion_where" => new FieldEntry( + false, + '', + '', + $searchvar[48][0], + "" + ), + "registration_first_who" => new FieldEntry( + false, + '', + '', + $searchvar[49][0], + "" + ), + "registration_first_when" => new FieldEntry( + false, + '', + '', + $searchvar[50][0], + "" + ), ], $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" => "", - ], + "owner_previous" => new FieldEntry( + false, + '', + '', + $searchvar[18][0], + $object_add['vorb_inhalt'] + ), + "object_history" => new FieldEntry( + false, + '', + '', + $searchvar[22][0], + $object_add['obge_inhalt'] + ), + "bought_for" => new FieldEntry( + false, + '', + ["bought_for_currency"], + '', + "{$searchvar[19][0]}, {$object_add['for']}", + $tlLoader->tl("object_basis", "object_basis", 'inv_explica') + ), + "bought_for_currency" => new FieldEntry( + false, + $currencies, + ["bought_for"], + '', + "{$searchvar[19][0]}, {$object_add['for']}", + "" + ), ], $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" => "", - ], + "worth_determiner" => new FieldEntry( + false, + '', + '', + "{$searchvar[23][0]}; {$object_add['by']}", + "" + ), + "worth_when" => new FieldEntry( + false, + '', + '', + $searchvar[23][0], + "" + ), + "worth_value" => new FieldEntry( + false, + '', + '', + "{$searchvar[23][0]}; {$object_add['at']}", + "" + ), + "worth_unit" => new FieldEntry( + false, + $currencies, + '', + "{$searchvar[23][0]}; Currency", + "" + ), + "worth_insurance_determiner" => new FieldEntry( + false, + '', + '', + "{$searchvar[26][0]}; {$object_add['by']}", + "" + ), + "worth_insurance_when" => new FieldEntry( + false, + '', + '', + "{$searchvar[26][0]}", + "" + ), + "worth_insurance_value" => new FieldEntry( + false, + '', + '', + "{$searchvar[26][0]}; {$object_add['at']}", + "" + ), + "worth_insurance_unit" => new FieldEntry( + false, + $currencies, + '', + "{$searchvar[26][0]}; Currency", + "" + ), ], $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'], - ], + "state" => new FieldEntry( + false, + '', + '', + $searchvar[29][0], + $object_add['zust_inhalt'] + ), + "restauration" => new FieldEntry( + false, + '', + '', + $searchvar[30][0], + $object_add['rest_inhalt'] + ), ], $tlLoader->tl("basis", "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'], - ], + "abode_actual" => new FieldEntry( + false, + '', + '', + $searchvar[31][0], + $object_add['aktu_inhalt'] + ), + "abode_regular" => new FieldEntry( + false, + '', + '', + $searchvar[32][0], + $object_add['stan_inhalt'] + ), + "exhibition" => new FieldEntry( + false, + '', + '', + $searchvar[33][0], + $object_add['aust_inhalt'] + ), + "on_loan_to" => new FieldEntry( + false, + '', + '', + $searchvar[34][0], + $object_add['verl_inhalt'] + ), + "on_loan_contact" => new FieldEntry( + false, + '', + '', + $searchvar[35][0], + $object_add['ansp_inhalt'] + ), + "on_loan_when" => new FieldEntry( + false, + '', + '', + $searchvar[36][0], + $object_add['vher_inhalt'] + ), + "on_loan_insurance_value" => new FieldEntry( + false, + '', + '', + $searchvar[37][0], + $object_add['vlei_inhalt'] + ), + "on_loan_annotation" => new FieldEntry( + false, + '', + '', + $searchvar[38][0], + $object_add['alei_inhalt'] + ), ], $tlLoader->tl("basis", "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" => "", - ], + "rights_object" => new FieldEntry( + false, + '', + '', + $searchvar[39][0], + $object_add['urhe_inhalt'] + ), + "rights_of_use" => new FieldEntry( + false, + '', + '', + $searchvar[40][0], + $object_add['nure_inhalt'] + ), + "rights_annotation" => new FieldEntry( + false, + '', + '', + $searchvar[41][0], + $object_add['arec_inhalt'] + ), + "rights_metadata_holder" => new FieldEntry( + false, + '', + '', + $object_add['metadata_rights_holder'], + "" + ), + "rights_metadata_license" => new FieldEntry( + false, + '', + '', + $object_add['metadata_rights_status'], + "" + ), ], $tlLoader->tl("basis", "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'], + "remarks_short" => new FieldEntry( + false, + '', + '', + $searchvar[42][0], + $object_add['kurz_inhalt'] ], + "remarks_long" => new FieldEntry( + false, + '', + '', + $searchvar[43][0], + $object_add['noti_inhalt'] + ), + "images_in_museum" => new FieldEntry( + false, + '', + '', + $searchvar[44][0], + $object_add['oaim_inhalt'] + ), + "documents_in_museum" => new FieldEntry( + false, + '', + '', + $searchvar[45][0], + $object_add['odim_inhalt'] + ), ], $overview['links'] => [], $overview['links'] . ": " . $tlLoader->tl("basis", "basis", 'single_object') => [], diff --git a/classes/FieldEntry.php b/classes/FieldEntry.php index afc02c2..2dc79b0 100644 --- a/classes/FieldEntry.php +++ b/classes/FieldEntry.php @@ -9,7 +9,7 @@ declare(strict_types = 1); /** * Class holding the information for a field entry. */ -class FieldEntry +final class FieldEntry { public boolean $required; public array $allowedValues; @@ -17,5 +17,29 @@ class FieldEntry public string $remark; public string $name_human_readable; public string $explica; + + /** + * Function for constructing a new FieldEntry Object. + * + * @param boolean $required True if the field is required. + * @param array $allowedValues Array of allowed values. + * @param array $dependsOn Array of fields the entry depends on. + * @param string $remark String variable. + * @param string $name_human_readable Human readable translation. + * @param string $explica String variable + */ + public function __construct( + boolean $required, array $allowedValues, + array $dependsOn, string $remark, + string $name_human_readable, string $explica + ) { + $this->required = $required; + $this->allowedValues = $allowedValues; + $this->dependsOn = $dependsOn; + $this->remark = $remark; + $this->name_human_readable = $name_human_readable; + $this->explica = $explica; + + } }