|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* Utility functions for working with DC fields.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds all the DC fields to a bundle.
|
|
|
|
*
|
|
|
|
* @param string $bundle_name
|
|
|
|
* The name of the bundle to give the fields.
|
|
|
|
*/
|
|
|
|
function islandora_dc_add_fields_to_bundle($bundle_name) {
|
|
|
|
module_load_include('inc', 'islandora', 'include/fields');
|
|
|
|
|
|
|
|
// Big list of field names/labels/descriptions.
|
|
|
|
$field_data = array(
|
|
|
|
ISLANDORA_DC_CONTRIBUTOR_FIELD => array(
|
|
|
|
'label' => 'DC Contributor',
|
|
|
|
'description' => 'Dublin Core 1.1 Contributor Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_COVERAGE_FIELD => array(
|
|
|
|
'label' => 'DC Coverage',
|
|
|
|
'description' => 'Dublin Core 1.1 Coverage Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_CREATOR_FIELD => array(
|
|
|
|
'label' => 'DC Creator',
|
|
|
|
'description' => 'Dublin Core 1.1 Creator Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_DATE_FIELD => array(
|
|
|
|
'label' => 'DC Date',
|
|
|
|
'description' => 'Dublin Core 1.1 Date Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_DESCRIPTION_FIELD => array(
|
|
|
|
'label' => 'DC Description',
|
|
|
|
'description' => 'Dublin Core 1.1 Description Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_FORMAT_FIELD => array(
|
|
|
|
'label' => 'DC Format',
|
|
|
|
'description' => 'Dublin Core 1.1 Format Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_IDENTIFIER_FIELD => array(
|
|
|
|
'label' => 'DC Identifier',
|
|
|
|
'description' => 'Dublin Core 1.1 Identifier Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_LANGUAGE_FIELD => array(
|
|
|
|
'label' => 'DC Language',
|
|
|
|
'description' => 'Dublin Core 1.1 Language Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_PUBLISHER_FIELD => array(
|
|
|
|
'label' => 'DC Publisher',
|
|
|
|
'description' => 'Dublin Core 1.1 Publisher Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_RELATION_FIELD => array(
|
|
|
|
'label' => 'DC Relation',
|
|
|
|
'description' => 'Dublin Core 1.1 Relation Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_RIGHTS_FIELD => array(
|
|
|
|
'label' => 'DC Rights',
|
|
|
|
'description' => 'Dublin Core 1.1 Rights Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_SOURCE_FIELD => array(
|
|
|
|
'label' => 'DC Source',
|
|
|
|
'description' => 'Dublin Core 1.1 Source Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_SUBJECT_FIELD => array(
|
|
|
|
'label' => 'DC Subject',
|
|
|
|
'description' => 'Dublin Core 1.1 Subject Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_TITLE_FIELD => array(
|
|
|
|
'label' => 'DC Title',
|
|
|
|
'description' => 'Dublin Core 1.1 Title Metadata',
|
|
|
|
),
|
|
|
|
ISLANDORA_DC_TYPE_FIELD => array(
|
|
|
|
'label' => 'DC Type',
|
|
|
|
'description' => 'Dublin Core 1.1 Type Metadata',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
|
|
|
// Iterate over fields and add each to the specified bundle.
|
|
|
|
foreach ($field_data as $field_name => $data) {
|
|
|
|
$field_label = $data['label'];
|
|
|
|
$field_description = $data['description'];
|
|
|
|
|
|
|
|
islandora_add_field_to_bundle($bundle_name, $field_name, $field_label, $field_description);
|
|
|
|
}
|
|
|
|
}
|