You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.6 KiB
46 lines
1.6 KiB
14 years ago
|
<?php
|
||
|
// $Id$
|
||
|
|
||
|
module_load_include('inc', 'fedora_repository', 'plugins/FormBuilder');
|
||
|
/*
|
||
|
* Created on 19-Feb-08
|
||
|
*
|
||
|
*
|
||
|
* implements methods from content model ingest form xml
|
||
|
* builds a dc metadata form
|
||
|
*/
|
||
|
class CollectionFormBuilder extends FormBuilder {
|
||
|
function CollectionFormBuilder() {
|
||
|
module_load_include('inc', 'CollectionFormBuilder', '');
|
||
|
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
|
||
|
}
|
||
|
|
||
|
function createFedoraDataStreams($form_values, &$dom, &$rootElement) {
|
||
|
module_load_include('inc', 'fedora_repository', 'MimeClass');
|
||
|
global $base_url;
|
||
|
|
||
|
$mimetype = new MimeClass();
|
||
|
$server = NULL;
|
||
|
$file=$form_values['ingest-file-location'];
|
||
|
$dformat = $mimetype->getType($file);
|
||
|
$fileUrl = $base_url . '/'. drupal_urlencode($file);
|
||
|
$beginIndex = strrpos($fileUrl, '/');
|
||
|
$dtitle = substr($fileUrl, $beginIndex + 1);
|
||
|
$dtitle = substr($dtitle, 0, strpos($dtitle, "."));
|
||
|
$ds1 = $dom->createElement("foxml:datastream");
|
||
|
$ds1->setAttribute("ID", "COLLECTION_POLICY"); //set the ID
|
||
|
$ds1->setAttribute("STATE", "A");
|
||
|
$ds1->setAttribute("CONTROL_GROUP", "M");
|
||
|
$ds1v= $dom->createElement("foxml:datastreamVersion");
|
||
|
$ds1v->setAttribute("ID", "COLLECTION_POLICY.0");
|
||
|
$ds1v->setAttribute("MIMETYPE", "$dformat");
|
||
|
$ds1v->setAttribute("LABEL", "$dtitle");
|
||
|
$ds1content = $dom->createElement('foxml:contentLocation');
|
||
|
$ds1content->setAttribute("REF", "$fileUrl");
|
||
|
$ds1content->setAttribute("TYPE", "URL");
|
||
|
$ds1->appendChild($ds1v);
|
||
|
$ds1v->appendChild($ds1content);
|
||
|
$rootElement->appendChild($ds1);
|
||
|
}
|
||
|
}
|