Browse Source

remove an erroneous text widget (from development) and completed the table display mode (with configuration)

pull/104/head
Jason MacWilliams 13 years ago
parent
commit
672179a133
  1. 42
      ObjectDetails.inc

42
ObjectDetails.inc

@ -23,6 +23,7 @@ function fedora_repository_islandora_object_details_display() {
"file" => "ObjectDetails.inc", "file" => "ObjectDetails.inc",
"function" => "fedora_repository_object_details_table", "function" => "fedora_repository_object_details_table",
"description" => t("Show a datastream with a table"), "description" => t("Show a datastream with a table"),
"config" => "admin/settings/fedora_repository/object_details_table",
) )
); );
return $profiles; return $profiles;
@ -39,7 +40,7 @@ function fedora_repository_object_details_XSLT($item) {
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); module_load_include('inc', 'fedora_repository', 'ConnectionHelper');
$dsid = variable_get('islandora_object_details_xslt_datastream', 'DC'); $dsid = variable_get('islandora_object_details_xslt_datastream', 'DC');
// special case for DC+QDC // special case for DC+QDC for backward compatibility
if ($dsid == 'DC' || $dsid == 'QDC') { if ($dsid == 'DC' || $dsid == 'QDC') {
$dsid = array_key_exists('QDC', $item->get_datastreams_list_as_array()) ? 'QDC' : 'DC'; $dsid = array_key_exists('QDC', $item->get_datastreams_list_as_array()) ? 'QDC' : 'DC';
} }
@ -53,6 +54,7 @@ function fedora_repository_object_details_XSLT($item) {
$proc = new XsltProcessor(); $proc = new XsltProcessor();
} catch (Exception $e) { } catch (Exception $e) {
drupal_set_message($e->getMessage(), 'error'); drupal_set_message($e->getMessage(), 'error');
watchdog('fedora_repository', "Error while creating XSLT processor: @e", array('@e' => $e->getMessage()), WATCHDOG_ERROR);
return; return;
} }
@ -78,7 +80,11 @@ function fedora_repository_object_details_table($item) {
$path = drupal_get_path('module', 'fedora_repository'); $path = drupal_get_path('module', 'fedora_repository');
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); module_load_include('inc', 'fedora_repository', 'ConnectionHelper');
$dsid = array_key_exists('QDC', $item->get_datastreams_list_as_array()) ? 'QDC' : 'DC'; $dsid = variable_get('islandora_object_details_table_datastream', 'DC');
// special case for DC+QDC for backward compatibility
if ($dsid == 'DC' || $dsid == 'QDC') {
$dsid = array_key_exists('QDC', $item->get_datastreams_list_as_array()) ? 'QDC' : 'DC';
}
$xmlstr = $item->get_datastream_dissemination($dsid); $xmlstr = $item->get_datastream_dissemination($dsid);
if (empty($xmlstr)) { if (empty($xmlstr)) {
@ -117,13 +123,9 @@ function fedora_repository_object_details_XSLT_config() {
$form = array(); $form = array();
$form['config'] = array( $form['config'] = array(
'#type' => 'fieldset', '#type' => 'fieldset',
'#title' => t("XSLT Options"), '#title' => t("XSLT display options"),
); );
$form['config']['warning'] = array(
'#value' => 'Note: the elements here do not currently work',
'#weight' => 0,
);
$form['config']['xslt'] = array( $form['config']['xslt'] = array(
'#type' => 'textfield', '#type' => 'textfield',
'#title' => t("XSL transform to use"), '#title' => t("XSL transform to use"),
@ -145,7 +147,33 @@ function fedora_repository_object_details_XSLT_config() {
return $form; return $form;
} }
function fedora_repository_object_details_table_config() {
$form = array();
$form['config'] = array(
'#type' => 'fieldset',
'#title' => t("Table display options"),
);
$form['config']['dsid'] = array(
'#type' => 'textfield',
'#title' => t("Datastream to transform"),
'#default_value' => variable_get('islandora_object_details_table_datastream', 'DC'),
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t("Submit"),
'#weight' => 1,
);
return $form;
}
function fedora_repository_object_details_XSLT_config_submit($form, &$form_state) { function fedora_repository_object_details_XSLT_config_submit($form, &$form_state) {
variable_set('islandora_object_details_xslt_sheet', $form_state['values']['xslt']); variable_set('islandora_object_details_xslt_sheet', $form_state['values']['xslt']);
variable_set('islandora_object_details_xslt_datastream', $form_state['values']['dsid']); variable_set('islandora_object_details_xslt_datastream', $form_state['values']['dsid']);
} }
function fedora_repository_object_details_table_config_submit($form, &$form_state) {
variable_set('islandora_object_details_table_datastream', $form_state['values']['dsid']);
}

Loading…
Cancel
Save