diff --git a/includes/dublin_core.inc b/includes/dublin_core.inc index a53cfcfb..14d25392 100644 --- a/includes/dublin_core.inc +++ b/includes/dublin_core.inc @@ -151,7 +151,6 @@ class DublinCore { */ public static function importFromXMLString($dc_xml) { $dc_doc = new DomDocument(); - // 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/', '*'); $new_dc = new DublinCore(); @@ -162,9 +161,7 @@ class DublinCore { } return $new_dc; } - else { - return NULL; - } + return NULL; } } diff --git a/theme/theme.inc b/theme/theme.inc index a2f1b74f..b1af50ab 100644 --- a/theme/theme.inc +++ b/theme/theme.inc @@ -107,29 +107,15 @@ function islandora_preprocess_islandora_default(&$variables) { } } $variables['datastreams'] = $datastreams; - try { - //pp,jm added missing value checks for fcrepo4 - $datastream = $islandora_object['DC']; - 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) { - drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id, '%t' => $e->getMessage())), 'error', FALSE); + // Objects in fcrepo4 don't always contain a DC datastream. + if (isset($islandora_object['DC'])) { + $dc_object = DublinCore::importFromXMLString($islandora_object['DC']->content); + $dc_array = $dc_object->asArray(); } $variables['dc_array'] = isset($dc_array) ? $dc_array : array(); $variables['islandora_dublin_core'] = isset($dc_object) ? $dc_object : NULL; $variables['islandora_object_label'] = $islandora_object->label; - global $base_url; if (isset($islandora_object['TN'])) { - $variables['islandora_thumbnail_url'] = $base_url . '/islandora/object/' . $islandora_object->id . '/datastream/TN/view'; + $variables['islandora_thumbnail_url'] = url("islandora/object/{$islandora_object->id}/datastream/TN/view"); } }