$entity->label = $person; //Add MADS data if ($entity->getDatastream('MODS') == null) { $modsDatastream = $entity->constructDatastream('MODS'); } else { $modsDatastream = $entity->getDatastream('MODS'); } $modsDatastream->label = 'MODS Record'; $modsDatastream->mimetype = 'text/xml'; $nameParts = explode(",", $person); $lastName = trim($nameParts[0]); $modsDatastream->setContentFromString("<?xml version=\"1.0\"?><mods xmlns=\"http://www.loc.gov/mods/v3\" xmlns:marmot=\"http://marmot.org/local_mods_extension\" xmlns:mods=\"http://www.loc.gov/mods/v3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><mods:titleInfo><mods:title>{$person}</mods:title></mods:titleInfo><mods:extension><marmot:marmotLocal><marmot:familyName>{$lastName}</marmot:familyName></marmot:marmotLocal></mods:extension></mods>"); $entity->ingestDatastream($modsDatastream); if ($new) { try { $repository->ingestObject($entity); $existingEntities[$person] = $entity->id; } catch (Exception $e) { echo "error ingesting object {$e}</br>\r\n"; } } $numPeopleLoaded++; $i++; } } } //Find each event within the export & add to Islandora if ($loadEvents) { $events = preg_split('/\\r\\n|\\r|\\n/', $exportedItem->event); foreach ($events as $event) { $event = trim($event);
//Build our MODS data include_once 'metadataBuilder.php'; $modsData = build_evld_mods_data($title, $exportedItem); file_put_contents("C:/data/islandora_conversions/evld/mods/{$exportedItem->objectid}.xml", $modsData); //Add Mods data to the datastream if ($modsDatastream->size != strlen($modsData)) { $modsDatastream->setContentFromString($modsData); } //Add the MODS datastream to the object if ($newObject) { $newPhoto->ingestDatastream($modsDatastream); } } if ($newObject) { try { $repository->ingestObject($newPhoto); fwrite($logFile, date('Y-m-d H:i:s') . "Created object " . $newPhoto->id . "\r\n"); } catch (Exception $e) { fwrite($logFile, date('Y-m-d H:i:s') . "error ingesting object {$e}\r\n"); } } else { fwrite($logFile, date('Y-m-d H:i:s') . "Updated object " . $newPhoto->id . "\r\n"); } //TODO: Update Dublin Core datastream? //Add the original exported past perfect metadata if ($newObject || $newPhoto->getDatastream('PastPerfectExport') == null) { $imageDatastream = $newPhoto->constructDatastream('PastPerfectExport'); $imageDatastream->label = 'Original metadata migrated from Past Perfect'; $imageDatastream->mimetype = 'text/xml'; set_time_limit(1600); $imageDatastream->setContentFromString($exportedItem->asXML());