From 9dc897382e8aeaaad4e03d7c6d3e8d9b5b596b38 Mon Sep 17 00:00:00 2001 From: jonathangreen Date: Tue, 29 May 2012 12:24:39 -0300 Subject: [PATCH 1/2] Updated object template --- islandora-object.tpl.php | 55 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/islandora-object.tpl.php b/islandora-object.tpl.php index 06b11cab..6a6680d3 100644 --- a/islandora-object.tpl.php +++ b/islandora-object.tpl.php @@ -27,15 +27,46 @@ * this is a template for objects that do not have a module to registered to build their display. * * islandora_object is a fedora tuque Object - * $object->label - * $object->id + * $object->label - The label for this object. + * $object->id - The identifier of the object. + * $object->state - The state of this object. + * $object->createdDate - The date the object was ingested. + * $object->lastModifiedDate - The date teh object was last mofified. + * * to get the contents of a datastream - * $object['dsid']->content + * $object['dsid']->content + * + * to test if a datastream exists isset($object['dsid']) + * + * to iterate over datastreams: + * foreach($object as $ds) { + * $ds->label, etc + * } + * + * each $ds in the above loop has the following properties: + * $ds->label - The label for this datastream. + * $ds->id - The identifier of the datastream. + * $ds->controlGroup - The control group of the datastream. This + * property is read-only. This will return one of: "X", "M", "R", or "E". + * $ds->versionable - This defines if the datastream will be versioned + * or not. This is boolean. + * $ds->state - The state of the datastream. This will be one + * of: "A", "I", "D". + * $ds->mimetype - The mimetype of the datastrem. + * $ds->format - The format of the datastream + * $ds->size - The size of the datastream + * $ds->checksum - The checksum of the datastream + * $ds->checksumType - The type of checksum for the datastream. + * $ds->createdDate - The created date + * $ds->content - The content of the datastream + * $ds->url - The URL. This is only valid for R and E datastreams. * * $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){ @@ -90,4 +121,22 @@ drupal_set_title($islandora_object->label); + + + + + + + + + +
+ id; ?> + + label; ?> + + controlGroup; ?> + + mimetype; ?> +
From d1de0ce042dd882447efb07fce2ebe545a0b10b5 Mon Sep 17 00:00:00 2001 From: jonathangreen Date: Tue, 29 May 2012 14:29:20 -0300 Subject: [PATCH 2/2] Updated preprocessor function --- islandora.module | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/islandora.module b/islandora.module index 750fccaf..dcbb92ac 100644 --- a/islandora.module +++ b/islandora.module @@ -596,7 +596,20 @@ function islandora_permission() { */ function islandora_preprocess_islandora_default(&$variables) { $islandora_object = $variables['islandora_object']; + $repository = $islandora_object->repository; module_load_include('inc', 'islandora', 'includes/islandora_dublin_core'); + + $variables['parent_collections'] = array(); + $collections = $islandora_object->relationships->get(FEDORA_RELS_EXT_URI, 'isMemberOfCollection'); + foreach($collections as $collection) { + $pid = $collection['object']['value']; + $object = $repository->getObject($collection['object']['value']); + $variables['parent_collections'][$pid] = array(); + $variables['parent_collections'][$pid]['object'] = $object; + $variables['parent_collections'][$pid]['label'] = $object->label; + $variables['parent_collections'][$pid]['url'] = url('islandora/object/' . $object->id); + } + try { $dc = $islandora_object['DC']->content; //$dc_xml = simplexml_load_string($dc);