Browse Source

Code Review

pull/289/head
Nigel Banks 12 years ago
parent
commit
adf8eecd94
  1. 5
      includes/dublin_core.inc
  2. 24
      theme/theme.inc

5
includes/dublin_core.inc

@ -151,7 +151,6 @@ class DublinCore {
*/ */
public static function importFromXMLString($dc_xml) { public static function importFromXMLString($dc_xml) {
$dc_doc = new DomDocument(); $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)) { 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();
@ -162,9 +161,7 @@ class DublinCore {
} }
return $new_dc; return $new_dc;
} }
else { return NULL;
return NULL;
}
} }
} }

24
theme/theme.inc

@ -107,29 +107,15 @@ function islandora_preprocess_islandora_default(&$variables) {
} }
} }
$variables['datastreams'] = $datastreams; $variables['datastreams'] = $datastreams;
try { // Objects in fcrepo4 don't always contain a DC datastream.
//pp,jm added missing value checks for fcrepo4 if (isset($islandora_object['DC'])) {
$datastream = $islandora_object['DC']; $dc_object = DublinCore::importFromXMLString($islandora_object['DC']->content);
if (isset($datastream)) { $dc_array = $dc_object->asArray();
$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);
} }
$variables['dc_array'] = isset($dc_array) ? $dc_array : array(); $variables['dc_array'] = isset($dc_array) ? $dc_array : array();
$variables['islandora_dublin_core'] = isset($dc_object) ? $dc_object : NULL; $variables['islandora_dublin_core'] = isset($dc_object) ? $dc_object : NULL;
$variables['islandora_object_label'] = $islandora_object->label; $variables['islandora_object_label'] = $islandora_object->label;
global $base_url;
if (isset($islandora_object['TN'])) { 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");
} }
} }

Loading…
Cancel
Save