Browse Source

invoke custom hooks to retrieve metadata display instead of hard-coding it

pull/104/head
Jason MacWilliams 13 years ago
parent
commit
1c7666842b
  1. 25
      plugins/FedoraObjectDetailedContent.inc

25
plugins/FedoraObjectDetailedContent.inc

@ -48,8 +48,29 @@ class FedoraObjectDetailedContent {
$tabset['fedora_object_details']['tabset'] = array( $tabset['fedora_object_details']['tabset'] = array(
'#type' => 'tabset', '#type' => 'tabset',
); );
$dc_html = $objectHelper->getFormattedDC($this->item); // ***** Jason: begin object details display profiles
module_load_include('inc', 'fedora_repository', 'ObjectDetails');
$object_details_profile = variable_get('islandora_object_details_display_table', 'xslt_dc');
$profiles = module_invoke_all("islandora_object_details_display");
$profile = $profiles[$object_details_profile];
if (!isset($profile)) {
// default behaviour
drupal_set_message(t("There was an error reading the default object details display profile"), "error");
$dc_html = $objectHelper->getFormattedDC($this->item);
}
else {
// invoke the requested display profile
require_once(drupal_get_path('module', $profile['module']) ."/". $profile['file']);
$details_function = $profile['function'];
if (function_exists($details_function)) {
$dc_html = $details_function($this->item);
}
else {
// problem
}
}
// ***** Jason: end object details display profiles
$i = 0; $i = 0;
if (fedora_repository_access(OBJECTHELPER :: $VIEW_DETAILED_CONTENT_LIST, $this->pid, $user)) { if (fedora_repository_access(OBJECTHELPER :: $VIEW_DETAILED_CONTENT_LIST, $this->pid, $user)) {

Loading…
Cancel
Save