} $repositories = $repositoryManager->getRepositories(); $dcOrVraExist = FALSE; while ($repositories->hasNext() && !$dcOrVraExist) { $repository = $repositories->next(); $recordStructures = $repository->getRecordStructures(); while ($recordStructures->hasNext() && !$dcOrVraExist) { $recordStructure = $recordStructures->next(); if (preg_match('/(Dublin)|(VRA)/i', $recordStructure->getDisplayName())) { $dcOrVraExist = TRUE; } } } if (!$dcOrVraExist) { $array = array(); $importer = XMLImporter::withFile($array, MYDIR . "/sampledata/SchemaInstallCollection.xml", "insert"); $importer->parseAndImport("repository"); if ($importer->hasErrors()) { $importer->printErrorMessages(); exit; } $repositories = $repositoryManager->getRepositories(); while ($repositories->hasNext()) { $repository = $repositories->next(); if ($repository->getDisplayName() == "Schema Install Collection") { $repositoryId = $repository->getId(); $repositoryManager->deleteRepository($repositoryId); break; } } }
/** * Constructor with XML File to parse * * @param string * @param string * @param string * @return object mixed * @access public * @since 10/11/05 * @static */ public static function withFile($existingArray, $filepath, $type, $class = 'XMLAssetImporter') { return parent::withFile($existingArray, $filepath, $type, $class); }
/** * Save our results. Tearing down and unsetting the Wizard is handled by * in {@link runWizard()} and does not need to be implemented here. * * @param string $cacheName * @return boolean TRUE if save was successful and tear-down/cleanup of the * Wizard should ensue. * @access public * @since 7/27/05 */ function saveWizard($cacheName) { $harmoni = Harmoni::instance(); $wizard = $this->getWizard($cacheName); $properties = $wizard->getAllValues(); $centerPane = $this->getActionRows(); ob_start(); $path = $properties['filename']['tmp_name']; $filename = $properties['filename']['name']; if ($properties['filename']['name'] == "") { print "Please choose a file to upload!"; $centerPane->add(new Block(ob_get_contents(), 1)); ob_end_clean(); return FALSE; } $newName = $this->moveArchive($path, $filename); $array = array("FILE", "FILE_DATA", "FILE_NAME", "MIME_TYPE", "THUMBNAIL_DATA", "THUMBNAIL_MIME_TYPE", "FILE_SIZE", "DIMENSIONS", "THUMBNAIL_DIMENSIONS", "edu.middlebury.harmoni.repository.asset_content", "edu.middlebury.harmoni.repository.asset_content.Content", "edu.middlebury.concerto.exhibition_repository", "Repository::edu.middlebury.concerto.exhibition_repository::edu.middlebury.concerto.slide_record_structure", "Repository::edu.middlebury.concerto.exhibition_repository::edu.middlebury.concerto.slide_record_structure.edu.middlebury.concerto.slide_record_structure.target_id", "Repository::edu.middlebury.concerto.exhibition_repository::edu.middlebury.concerto.slide_record_structure.edu.middlebury.concerto.slide_record_structure.text_position", "Repository::edu.middlebury.concerto.exhibition_repository::edu.middlebury.concerto.slide_record_structure.edu.middlebury.concerto.slide_record_structure.display_metadata"); if ($properties['file_type'] == "XML") { $importer = new XMLImporter($array); if ($properties['is_archived'] == TRUE) { $directory = $importer->decompress($newName); $importer = XMLImporter::withFile($array, $directory . "/metadata.xml", $properties['import_type']); } else { $importer = XMLImporter::withFile($array, $newName, $properties['import_type']); } $importer->parseAndImportBelow("asset", 75); } if ($importer->hasErrors()) { $importer->printErrorMessages(); $centerPane->add(new Block(ob_get_contents(), 1)); ob_end_clean(); return FALSE; } $centerPane->add(new Block(ob_get_contents(), 1)); ob_end_clean(); return true; }