jonathangreen
13 years ago
6 changed files with 158 additions and 70 deletions
@ -1,42 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
/* |
|
||||||
* islandora-object-default-view.tpl.php |
|
||||||
* |
|
||||||
* |
|
||||||
* |
|
||||||
* This file is part of Islandora. |
|
||||||
* |
|
||||||
* This program is free software: you can redistribute it and/or modify |
|
||||||
* it under the terms of the GNU General Public License as published by |
|
||||||
* the Free Software Foundation, either version 3 of the License, or |
|
||||||
* (at your option) any later version. |
|
||||||
* |
|
||||||
* This program is distributed in the hope that it will be useful, |
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||||
* GNU General Public License for more details. |
|
||||||
* |
|
||||||
* You should have received a copy of the GNU General Public License |
|
||||||
* along with the program. If not, see <http ://www.gnu.org/licenses/>. |
|
||||||
*/ |
|
||||||
|
|
||||||
|
|
||||||
?> |
|
||||||
<?php
|
|
||||||
/*object is a fedora tuque Object |
|
||||||
* $object->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); |
|
||||||
|
|
||||||
?> |
|
||||||
|
|
@ -0,0 +1,74 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/* |
||||||
|
* islandora-object-default-view.tpl.php |
||||||
|
* |
||||||
|
* |
||||||
|
* |
||||||
|
* This file is part of Islandora. |
||||||
|
* |
||||||
|
* This program is free software: you can redistribute it and/or modify |
||||||
|
* it under the terms of the GNU General Public License as published by |
||||||
|
* the Free Software Foundation, either version 3 of the License, or |
||||||
|
* (at your option) any later version. |
||||||
|
* |
||||||
|
* This program is distributed in the hope that it will be useful, |
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
* GNU General Public License for more details. |
||||||
|
* |
||||||
|
* You should have received a copy of the GNU General Public License |
||||||
|
* along with the program. If not, see <http ://www.gnu.org/licenses/>. |
||||||
|
*/ |
||||||
|
?> |
||||||
|
<?php |
||||||
|
|
||||||
|
/* |
||||||
|
* 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 |
||||||
|
* 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); |
||||||
|
drupal_set_title($islandora_object->label); |
||||||
|
$dublin_core = $variables['islandora_dublin_core']; |
||||||
|
print($islandora_object->label . ' ' . $islandora_object->id); |
||||||
|
print ('<h3>datastreams</h3>'); |
||||||
|
foreach ($islandora_object as $ds) { |
||||||
|
print $ds->label . '<br>'; |
||||||
|
//do something |
||||||
|
} |
||||||
|
print('<h3>Dublin Core</h3>'); |
||||||
|
|
||||||
|
foreach ($dublin_core as $element) { |
||||||
|
if (!empty($element)) { |
||||||
|
// print($element); |
||||||
|
foreach ($element as $key => $value) { |
||||||
|
foreach($value as $v){ |
||||||
|
if(!empty($v)){ |
||||||
|
print '<strong>'.($key).'</strong>: ';print($v).'<br />'; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
if(isset($variables['islandora_thumbnail_url'])){ |
||||||
|
print('<img src = "'.$variables['islandora_thumbnail_url'].'"/>'); |
||||||
|
} |
||||||
|
?> |
||||||
|
|
@ -0,0 +1,34 @@ |
|||||||
|
<?php |
||||||
|
/** |
||||||
|
* @file datastream.inc |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* |
||||||
|
* @global object $user |
||||||
|
* @param string $object_id |
||||||
|
* @param string $dsid |
||||||
|
* @return stream |
||||||
|
* printsdatastream to browser |
||||||
|
*/ |
||||||
|
function islandora_datastream_as_attachment($object_id, $dsid){ |
||||||
|
module_load_include('inc', 'islandora', 'RestConnection'); |
||||||
|
global $user; |
||||||
|
try { |
||||||
|
$restConnection = new RestConnection($user); |
||||||
|
$fedora_object = new FedoraObject($object_id, $restConnection->repository); |
||||||
|
} catch (Exception $e) { |
||||||
|
drupal_set_message(t('Error getting Islanndora datastream $d for object %s', array('%s' => $object_id, '%d' => $dsid)), 'error'); |
||||||
|
return""; |
||||||
|
} |
||||||
|
header('Content-type: '.$fedora_object[$dsid]->mimetype); |
||||||
|
header('Content-length: '.$fedora_object[$dsid]->size); |
||||||
|
header("Cache-control: private"); |
||||||
|
$method = arg(5); |
||||||
|
if($method =='download'){ |
||||||
|
header("Content-Disposition: attachment; filename=\"".$fedora_object[$dsid]->label); |
||||||
|
} |
||||||
|
print ($fedora_object[$dsid]->content); |
||||||
|
exit(); |
||||||
|
} |
||||||
|
?> |
Loading…
Reference in new issue