Browse Source

Merge 56f4dd8df8 into cd3ce088d5

pull/272/merge
Jason MacWilliams 13 years ago
parent
commit
d4d79fcde6
  1. 2
      includes/add_datastream.form.inc
  2. 3
      includes/dublin_core.inc
  3. 16
      theme/theme.inc

2
includes/add_datastream.form.inc

@ -32,7 +32,7 @@ function islandora_add_datastream_form(array $form, array &$form_state, FedoraOb
'#attributes' => array( '#attributes' => array(
'enctype' => 'multipart/form-data', 'enctype' => 'multipart/form-data',
), ),
'fieldset' => array( 'dsid' => array(
'#type' => 'fieldset', '#type' => 'fieldset',
'#title' => 'Add a datastream', '#title' => 'Add a datastream',
'#collapsible' => FALSE, '#collapsible' => FALSE,

3
includes/dublin_core.inc

@ -151,7 +151,8 @@ class DublinCore {
*/ */
public static function importFromXMLString($dc_xml) { public static function importFromXMLString($dc_xml) {
$dc_doc = new DomDocument(); $dc_doc = new DomDocument();
if ($dc_doc->loadXML($dc_xml)) { // a fix for the potential error of a missing DC (patching a possible fcrepo4 error)
if (!empty($dc_xml) && $dc_doc->loadXML($dc_xml)) {
$oai_dc = $dc_doc->getElementsByTagNameNS('http://purl.org/dc/elements/1.1/', '*'); $oai_dc = $dc_doc->getElementsByTagNameNS('http://purl.org/dc/elements/1.1/', '*');
$new_dc = new DublinCore(); $new_dc = new DublinCore();
foreach ($oai_dc as $child) { foreach ($oai_dc as $child) {

16
theme/theme.inc

@ -108,9 +108,19 @@ function islandora_preprocess_islandora_default(&$variables) {
} }
$variables['datastreams'] = $datastreams; $variables['datastreams'] = $datastreams;
try { try {
$dc = $islandora_object['DC']->content; //pp,jm added missing value checks for fcrepo4
$dc_object = DublinCore::importFromXMLString($dc); $datastream = $islandora_object['DC'];
$dc_array = $dc_object->asArray(); if (isset($datastream)) {
$dc = $datastream->content;
$dc_object = DublinCore::importFromXMLString($dc);
if (isset($dc_object)) {
$dc_array = $dc_object->asArray();
}
else {
$dc_array = array();
}
}
} }
catch (Exception $e) { catch (Exception $e) {
drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id, '%t' => $e->getMessage())), 'error', FALSE); drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id, '%t' => $e->getMessage())), 'error', FALSE);

Loading…
Cancel
Save