/** * Sort information objects by lft value so that parent objects are inserted * before their children. * * @return QubitMigrate105 this object */ protected function sortQubitInformationObjects() { QubitMigrate::sortByLft($this->data['QubitInformationObject']); return $this; }
/** * Sort term objects with pre-defined IDs to start of array to prevent * pre-emptive assignment by auto-increment * * @return QubitMigrate110 this object */ protected function sortQubitTerms() { $qubitTermConstantIds = array('ROOT_ID', 'CREATION_ID', 'CUSTODY_ID', 'PUBLICATION_ID', 'CONTRIBUTION_ID', 'COLLECTION_ID', 'ACCUMULATION_ID', 'TITLE_NOTE_ID', 'PUBLICATION_NOTE_ID', 'SOURCE_NOTE_ID', 'SCOPE_NOTE_ID', 'DISPLAY_NOTE_ID', 'ARCHIVIST_NOTE_ID', 'GENERAL_NOTE_ID', 'OTHER_DESCRIPTIVE_DATA_ID', 'MAINTENANCE_NOTE_ID', 'ARCHIVAL_MATERIAL_ID', 'PUBLISHED_MATERIAL_ID', 'ARTEFACT_MATERIAL_ID', 'CORPORATE_BODY_ID', 'PERSON_ID', 'FAMILY_ID', 'FAMILY_NAME_FIRST_NAME_ID', 'AUDIO_ID', 'IMAGE_ID', 'TEXT_ID', 'VIDEO_ID', 'OTHER_ID', 'MASTER_ID', 'REFERENCE_ID', 'THUMBNAIL_ID', 'COMPOUND_ID', 'LOCATION_ID', 'CONTAINER_ID', 'ARTEFACT_ID', 'HAS_PHYSICAL_OBJECT_ID', 'PARALLEL_FORM_OF_NAME_ID', 'OTHER_FORM_OF_NAME_ID', 'HIERARCHICAL_RELATION_ID', 'TEMPORAL_RELATION_ID', 'FAMILY_RELATION_ID', 'ASSOCIATIVE_RELATION_ID', 'RELATION_NOTE_DESCRIPTION_ID', 'RELATION_NOTE_DATE_ID', 'ALTERNATIVE_LABEL_ID', 'TERM_RELATION_ASSOCIATIVE_ID', 'STATUS_TYPE_PUBLICATION_ID', 'PUBLICATION_STATUS_DRAFT_ID', 'PUBLICATION_STATUS_PUBLISHED_ID', 'NAME_ACCESS_POINT_ID', 'ISDF_HIERARCHICAL_RELATION_ID', 'ISDF_TEMPORAL_RELATION_ID', 'ISDF_ASSOCIATIVE_RELATION_ID', 'STANDARDIZED_FORM_OF_NAME_ID', 'EXTERNAL_URI_ID', 'ACCESSION_ID', 'RIGHT_ID', 'DONOR_ID', 'RIGHT_BASIS_COPYRIGHT_ID', 'RIGHT_BASIS_LICENSE_ID', 'RIGHT_BASIS_STATUTE_ID', 'RIGHT_BASIS_POLICY_ID'); // Restack array with Constant values at top $qubitTermArray = $this->data['QubitTerm']; foreach ($qubitTermConstantIds as $key => $constantName) { foreach ($qubitTermArray as $key => $term) { if (isset($term['id']) && $term['id'] == '<?php echo QubitTerm::' . $constantName . '."\\n" ?>') { $newTermArray[$key] = $term; unset($qubitTermArray[$key]); break; } } } // Sort remainder of array by lft values QubitMigrate::sortByLft($qubitTermArray); // Append remaining (variable id) terms to the end of the new array foreach ($qubitTermArray as $key => $term) { $newTermArray[$key] = $term; } $this->data['QubitTerm'] = $newTermArray; return $this; }