function ingestPage($list, $form_values)
 {
     $output = "<stru>";
     //rsort($list);
     $index = 1;
     foreach ($list as $myfile) {
         //drupal_set_message("File: ".$myfile);
         $temp = explode(" ", $myfile);
         $file = $temp[sizeof($temp) - 1];
         $file = trim(str_replace($_SERVER['DOCUMENT_ROOT'] . base_path(), "", $file));
         $image = new EpistemetecImageManipulation();
         $parameterArray = array('width' => 160, 'height' => 120);
         $folder = basename($form_values["ingest-file-location"], '.zip');
         $image->manipulateImage($parameterArray, "MEDIUM_SIZE", $file, 'jpg', $folder);
         $parameterArray = array('width' => 120, 'height' => 120);
         $image->manipulateImage($parameterArray, "TN", $file, 'jpg', $folder);
         //drupal_set_message("File: ".$file);
         $form = array();
         $form["step"] = 1;
         $form["ingest-file-location"] = $file;
         $form["content_model_name"] = "ISLANDORACM";
         $form["models"] = "epistemetec:imageCModel/ISLANDORACM";
         $form["fullpath"] = "";
         //			$form["gen_stprog"] = $form_values["gen_stprog"];
         //			$form["gen_collection"] = $form_values["gen_collection"];
         //			$form["gen_agency"] = $form_values["gen_agency"];
         //			$form["gen_access_rights"] = $form_values["gen_access_rights"];
         //			$form["bib_title"] = $form_values["bib_title"];
         //			$form["bib_creator"] = $form_values["bib_creator"];
         //			$form["bib_subject"] = $form_values["bib_subject"];
         //			$form["bib_description"] = $form_values["bib_description"];
         //			$form["bib_publisher"] = $form_values["bib_publisher"];
         //			$form["bib_contributor"] = $form_values["bib_contributor"];
         //			$form["bib_date"] = $form_values["bib_date"];
         //			$form["bib_type"] = $form_values["bib_type"];
         //			$form["bib_source"] = $form_values["bib_source"];
         //			$form["bib_identifier"] = $form_values["bib_identifier"];
         //			$form["bib_language"] = $form_values["bib_language"];
         //			$form["bib_relation"] = $form_values["bib_relation"];
         //			$form["bib_rights"] = $form_values["bib_rights"];
         //			$form["bib_library"] = $form_values["bib_library"];
         //			$form["bib_inventory_number"] = $form_values["bib_inventory_number"];
         //			$form["bib_shelfmark"] = $form_values["bib_shelfmark"];
         $form["dis_item"] = basename($file, ".jpg");
         $form["img_sequence_number"] = $index;
         $form["img_nomenclature"] = basename($file, ".jpg");
         $form["collection_pid"] = $form_values["pid"];
         $form["op"] = "Ingest";
         $form["submit"] = "Ingest";
         $form["form_build_id"] = "";
         $form["form_token"] = "";
         $form["form_id"] = "fedora_repository_ingest_form";
         $form["user_id"] = "admin";
         $form["pid"] = $form["collection_pid"] . "-" . $index;
         $form["content_model_pid"] = "epistemetec:imageCModel";
         $form["relationship"] = "isMemberOfCollection";
         module_load_include('php', 'Fedora_Repository', 'epistemetec/plugins/FormBuilder');
         $handle = new EpistemetecFormBuilder();
         $handle->handleImageForm($form, TRUE);
         $index++;
         $output .= "<sequence>";
         $output .= "<sequence_number>" . $form["img_sequence_number"] . "</sequence_number>";
         $output .= "<nomenclature>" . $form["img_nomenclature"] . "</nomenclature>";
         $output .= "</sequence>";
     }
     $output .= "</stru>";
     return $output;
 }
示例#2
0
 function handleImageForm($form_values, $isBook = FALSE)
 {
     global $base_url;
     module_load_include('php', 'Fedora_Repository', 'api/fedora_item');
     $dom = new DomDocument("1.0", "UTF-8");
     $dom->formatOutput = true;
     $pid = $form_values['pid'];
     $title = $form_values['img_nomenclature'];
     $rootElement = $dom->createElement("foxml:digitalObject");
     $rootElement->setAttribute('VERSION', '1.1');
     $rootElement->setAttribute('PID', "{$pid}");
     $rootElement->setAttribute('xmlns:foxml', "info:fedora/fedora-system:def/foxml#");
     $rootElement->setAttribute('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance");
     $rootElement->setAttribute('xsi:schemaLocation', "info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd");
     $dom->appendChild($rootElement);
     //create standard fedora stuff
     $this->createStandardFedoraStuff($form_values, $dom, $rootElement);
     //create relationships
     $this->createRelationShips($form_values, $dom, $rootElement);
     //create dublin core
     $myForm = array();
     $myForm['dc:title'] = $title;
     $this->createQDCStream($myForm, $dom, $rootElement);
     //create mag metadata
     module_load_include('php', 'Fedora_Repository', 'epistemetec/plugins/ImageManipulation');
     $image = new EpistemetecImageManipulation();
     $image->getMetadata($form_values);
     $ccks = array();
     if (!$isBook) {
         module_load_include('php', 'Fedora_Repository', 'epistemetec/plugins/Node');
         $node = new EpistemetecNode();
         $ccks = $node->hashCCK($form_values, IMAGE_DL);
         $nid = $node->createNode($ccks, ITEM_DL);
         $form_values['dru_nurl'] = $base_url . '/node/' . $nid;
         $form_values['dru_nid'] = $nid;
     }
     $this->createMAGStream($form_values, $dom, $rootElement, 'image');
     if (!empty($form_values['ingest-file-location'])) {
         $this->createFedoraDataStreams($form_values, $dom, $rootElement);
     }
     $collectionPid = $form_values['collection_pid'];
     $this->createPolicy($collectionPid, &$dom, &$rootElement);
     try {
         $object = Fedora_Item::ingest_from_FOXML($dom);
         if (!empty($object->pid)) {
             drupal_set_message("Item " . l($object->pid, 'fedora/repository/' . $object->pid) . " created successfully.", "status");
             //TODO: creare qui il nuovo nodo drupal e caricare il valore del pid in un campo CCK
         }
         if (!empty($_SESSION['fedora_ingest_files'])) {
             foreach ($_SESSION['fedora_ingest_files'] as $dsid => $createdFile) {
                 file_delete($createdFile);
             }
         }
         file_delete($form_values['ingest-file-location']);
         if (!$isBook) {
             $node->addNodeReference($ccks);
         }
     } catch (exception $e) {
         node_delete($nid);
         drupal_set_message(t('Error Ingesting Object! ') . $e->getMessage(), 'error');
         watchdog(t("Fedora_Repository"), t("Error Ingesting Object!") . $e->getMessage(), NULL, WATCHDOG_ERROR);
         return;
     }
 }