diff --git a/islandora-object-default-view.tpl.php b/islandora-object-default-view.tpl.php
deleted file mode 100644
index fc7a1841..00000000
--- a/islandora-object-default-view.tpl.php
+++ /dev/null
@@ -1,42 +0,0 @@
-.
- */
-
-
-?>
-label
- * $object->id
- * to get the contents of a datastream
- * $object['dsid']->content
- * etc.
- *
- */
-
-
- //dsm($object);
-
- print('this is the default view for '. $object->label .' ' .$object->id);
-
-?>
-
diff --git a/islandora-object.tpl.php b/islandora-object.tpl.php
new file mode 100644
index 00000000..1f9d4f8b
--- /dev/null
+++ b/islandora-object.tpl.php
@@ -0,0 +1,73 @@
+.
+ */
+?>
+label
+ * $object->id
+ * to get the contents of a datastream
+ * $object['dsid']->content
+ *
+ * $dublin_core is a Dublin_Core object
+ * which is an array of elements, such as dc.title
+ * and each element has an array of values. dc.title can have none, one or many titles
+ * this is the case for all dc elements.
+ *
+ * we can get a list of datastreams by doing
+ * foreach ($object as $ds){
+ * do something here
+ * }
+ *
+ */
+
+//dsm($object);
+$dublin_core = $variables['islandora_dublin_core'];
+print($islandora_object->label . ' ' . $islandora_object->id);
+print ('
datastreams
');
+foreach ($islandora_object as $ds) {
+ print $ds->label . '
';
+ //do something
+}
+print('Dublin Core
');
+
+foreach ($dublin_core as $element) {
+ if (!empty($element)) {
+ // print($element);
+ foreach ($element as $key => $value) {
+ foreach($value as $v){
+ if(!empty($v)){
+ print ''.($key).': ';print($v).'
';
+ }
+ }
+ }
+ }
+}
+if(isset($variables['islandora_thumbnail_url'])){
+ print('');
+}
+?>
+
diff --git a/islandora.module b/islandora.module
index 2a6fbae9..042aa96c 100644
--- a/islandora.module
+++ b/islandora.module
@@ -297,7 +297,7 @@ function islandora_islandora_view_object($object){
$object_models = $object->models;
$combined_list = array_intersect($supported_models, $object->models);
if (empty($combined_list)) {
- return theme('islandora_object_default_view', array('object' => $object));
+ return theme('islandora_default', array('islandora_object' => $object));
}
}
@@ -307,9 +307,9 @@ function islandora_islandora_view_object($object){
*/
function islandora_theme() {
return array(
- 'islandora_object_default_view' => array(
- 'template' => 'islandora-object-default-view',
- 'variables' => array('object' => NULL),
+ 'islandora_default' => array(
+ 'template' => 'islandora-object',
+ 'variables' => array('islandora_object' => NULL),
),
);
}
@@ -380,3 +380,21 @@ function islandora_add_datastream($object_id) {
}
module_invoke_all('islandora_add_datastream', $object); //allow submodules to handle add datastream based on object type
}
+
+function islandora_preprocess_islandora_default(&$variables){
+ $islandora_object = $variables['islandora_object'];
+ module_load_include('inc','islandora','utils/islandora_dublin_core');
+ try{
+ $dc = $islandora_object['DC']->content;
+ //$dc_xml = simplexml_load_string($dc);
+ $dc_object = Dublin_Core::import_from_xml_string($dc);
+ }catch(Exception $e){
+ drupal_set_message(t('Error retrieving object %s %t', array('%s' => $islandora_object->id,'%t'=>$e->getMessage())),'error');
+ }
+ $variables['islandora_dublin_core'] = $dc_object;
+ $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';
+ }
+}
\ No newline at end of file