/** * Alter QubitTerm data * * @return QubitMigrate103 this object */ protected function alterQubitTerms() { // Swap Term EXISTENCE_ID for SUBJECT_ID in the Event type taxonomy (they // share analogous primary keys 12 vs. 112) if ($existenceKey = $this->getTermExistenceKey()) { $existenceArrayKeyIndex = QubitMigrate::getArrayKeyIndex($this->data['QubitTerm'], $existenceKey); $subjectTerm = $this->data['QubitTerm'][$existenceKey]; $subjectTerm['id'] = '<?php echo QubitTerm::SUBJECT_ID."\\n" ?>'; $subjectTerm['name'] = array('en' => 'Subject', 'fr' => 'Sujet', 'nl' => 'Onderwerp', 'pt' => 'Assunto'); // Splice SUBJECT_ID term into data array where EXISTENCE_ID lives now QubitMigrate::array_insert($this->data['QubitTerm'], $existenceArrayKeyIndex, array('QubitTerm_subject' => $subjectTerm)); // Delete existence term unset($this->data['QubitTerm'][$existenceKey]); } // Add new Event Types $taxonomyEventTypeKey = $this->getRowKey('QubitTaxonomy', 'id', '<?php echo QubitTaxonomy::EVENT_TYPE_ID."\\n" ?>'); $this->data['QubitTerm']['QubitTerm_accumulation'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'id' => '<?php echo QubitTerm::ACCUMULATION_ID."\\n" ?>', 'source_culture' => 'en', 'name' => array('en' => 'Accumulation')); $this->data['QubitTerm']['QubitTerm_authoring'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Authoring')); $this->data['QubitTerm']['QubitTerm_editing'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Editing')); $this->data['QubitTerm']['QubitTerm_translation'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Translation')); $this->data['QubitTerm']['QubitTerm_compilation'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Compilation')); $this->data['QubitTerm']['QubitTerm_distribution'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Distribution')); $this->data['QubitTerm']['QubitTerm_broadcasting'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Broadcasting')); $this->data['QubitTerm']['QubitTerm_manufacturing'] = array('taxonomy_id' => $taxonomyEventTypeKey, 'source_culture' => 'en', 'name' => array('en' => 'Manufacturing')); // Add new Note types $taxonomyNoteTypeKey = $this->getRowKey('QubitTaxonomy', 'id', '<?php echo QubitTaxonomy::NOTE_TYPE_ID."\\n" ?>'); $this->data['QubitTerm']['QubitTerm_display_note'] = array('taxonomy_id' => $taxonomyNoteTypeKey, 'id' => '<?php echo QubitTerm::DISPLAY_NOTE_ID."\\n" ?>', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Display note')); // Add new Material Types $this->data['QubitTerm']['QubitTerm_material_type_architectural_drawing'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Architectural drawing')); $this->data['QubitTerm']['QubitTerm_material_type_cartographic_material'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Cartographic material')); $this->data['QubitTerm']['QubitTerm_material_type_graphic_material'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Graphic material')); $this->data['QubitTerm']['QubitTerm_material_type_moving_images'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Moving images')); $this->data['QubitTerm']['QubitTerm_material_type_multiple_media'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Multiple media')); $this->data['QubitTerm']['QubitTerm_material_type_object'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Object')); $this->data['QubitTerm']['QubitTerm_material_type_philatelic_record'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Philatelic record')); $this->data['QubitTerm']['QubitTerm_material_type_sound_recording'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Sound recording')); $this->data['QubitTerm']['QubitTerm_material_type_technical_drawing'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Technical drawing')); $this->data['QubitTerm']['QubitTerm_material_type_textual_record'] = array('taxonomy_id' => 'QubitTaxonomy_MaterialType', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Textual record')); // Add new RAD Note Types $this->data['QubitTerm']['QubitTerm_rad_notes_edition'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Edition')); $this->data['QubitTerm']['QubitTerm_rad_notes_physical_description'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Physical description')); $this->data['QubitTerm']['QubitTerm_rad_notes_conservation'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Conservation')); $this->data['QubitTerm']['QubitTerm_rad_notes_accompanying_material'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Accompanying material')); $this->data['QubitTerm']['QubitTerm_rad_notes_publishers_series'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Publisher\'s series')); $this->data['QubitTerm']['QubitTerm_rad_notes_alpha_numeric_designations'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Alpha-numeric designations')); $this->data['QubitTerm']['QubitTerm_rad_notes_rights'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Rights')); $this->data['QubitTerm']['QubitTerm_rad_notes_general_note'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'General note')); // Add new RAD Title Notes $this->data['QubitTerm']['QubitTerm_rad_title_variations_in_title'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Title_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Variations in title')); $this->data['QubitTerm']['QubitTerm_rad_title_source_of_title_proper'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Title_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Source of title proper')); $this->data['QubitTerm']['QubitTerm_rad_title_parallel_titles_etc'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Title_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Parallel titles and other title information')); $this->data['QubitTerm']['QubitTerm_rad_title_continuation_of_title'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Title_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Continuation of title')); $this->data['QubitTerm']['QubitTerm_rad_title_statements_of_responsibility'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Title_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Statements of responsibility')); $this->data['QubitTerm']['QubitTerm_rad_title_attributions_and_conjectures'] = array('taxonomy_id' => 'QubitTaxonomy_Rad_Title_Note', 'class_name' => 'QubitTerm', 'source_culture' => 'en', 'name' => array('en' => 'Attributions and conjectures')); // Remove Actor Role Taxonomy Terms $taxonomyActorRoleKey = $this->getTaxonomyActorRoleKey(); if ($taxonomyActorRoleKey) { foreach ($this->data['QubitTerm'] as $key => $columns) { if (isset($columns['taxonomy_id']) && $columns['taxonomy_id'] == $taxonomyActorRoleKey) { unset($this->data['QubitTerm'][$key]); // And delete any QubitNotes linked to this term while ($relatedNoteKey = $this->getRowKey('QubitNote', 'object_id', $key)) { unset($this->data['QubitNote'][$relatedNoteKey]); } } } } // Remove SUBJECT_ACCESS_POINT_ID term if ($subjectAccessPointKey = $this->getRowKey('QubitTerm', 'id', '<?php echo QubitTerm::SUBJECT_ACCESS_POINT_ID."\\n" ?>')) { unset($this->data['QubitTerm'][$subjectAccessPointKey]); // And delete any QubitNotes linked to this term while ($relatedNoteKey = $this->getRowKey('QubitNote', 'object_id', $subjectAccessPointKey)) { unset($this->data['QubitNote'][$relatedNoteKey]); } } return $this; }