/**
  * Alter QubitMenu data
  *
  * @return QubitMigrate105 this object
  */
 protected function alterQubitMenus()
 {
     // Add 'recent updates' menu
     if (false === $this->getRowKey('QubitMenu', 'name', 'recent updates')) {
         $this->data['QubitMenu']['QubitMenu_recent_updates'] = array('parent_id' => '<?php echo QubitMenu::ADD_EDIT_ID."\\n" ?>', 'source_culture' => 'en', 'name' => 'recent updates', 'label' => array('en' => 'recent updates'), 'path' => 'search/recentUpdates');
     }
     // Add 'harvester' menu
     if (false === $this->getRowKey('QubitMenu', 'name', 'harvester')) {
         $this->data['QubitMenu']['QubitMenu_admin_oaiHarvester'] = array('parent_id' => '<?php echo QubitMenu::ADMIN_ID."\\n" ?>', 'source_culture' => 'en', 'name' => 'harvester', 'label' => array('en' => 'Harvester'), 'path' => 'oai/harvesterList');
     }
     // Add 'plugins' menu
     if (false === $this->getRowKey('QubitMenu', 'name', 'plugins')) {
         $this->data['QubitMenu']['QubitMenu_admin_plugins'] = array('parent_id' => '<?php echo QubitMenu::ADMIN_ID."\\n" ?>', 'source_culture' => 'en', 'name' => 'plugins', 'label' => array('en' => 'Plugins'), 'path' => 'sfPluginAdminPlugin/index');
     }
     // Add 'themes' menu
     if (false === $this->getRowKey('QubitMenu', 'name', 'themes')) {
         $this->data['QubitMenu']['QubitMenu_admin_themes'] = array('parent_id' => '<?php echo QubitMenu::ADMIN_ID."\\n" ?>', 'source_culture' => 'en', 'name' => 'themes', 'label' => array('en' => 'Themes'), 'path' => 'sfThemePlugin/index');
     }
     // Remove "translate" menu
     $translateMenuKey = $this->getRowKey('QubitMenu', 'name', 'translate');
     if ($translateMenuKey) {
         $this->data['QubitMenu'] = QubitMigrate::cascadeDelete($this->data['QubitMenu'], $translateMenuKey);
     }
     // Pluralize 'Menus' menu label
     if (false !== ($adminMenusMenuKey = $this->getRowKey('QubitMenu', 'label', array('en' => 'menu')))) {
         $this->data['QubitMenu'][$adminMenusMenuKey]['label']['en'] = 'menus';
     } else {
         if (false !== ($adminMenusMenuKey = $this->getRowKey('QubitMenu', 'label', array('en' => 'Menu')))) {
             $this->data['QubitMenu'][$adminMenusMenuKey]['label']['en'] = 'Menus';
         }
     }
     return $this;
 }
 /**
  * Alter QubitMenu data
  *
  * @return QubitMigrate107 this object
  */
 protected function alterQubitMenus()
 {
     // Remove "import/export" menu
     // difficult to just rename because both the mainmenu and the submenu share the 'import/export' name in 1.0.7
     // so, remove both and add a new 'import' mainmenu and 'import xml' sub-menu
     $importExportMenuKey = $this->getRowKey('QubitMenu', 'name', 'import/export');
     if ($importExportMenuKey) {
         $this->data['QubitMenu'] = QubitMigrate::cascadeDelete($this->data['QubitMenu'], $importExportMenuKey);
     }
     // Remove "upload" menu
     // some 1.0.8-dev sites had "upload" menus so add this remove just to be sure
     $uploadMenuKey = $this->getRowKey('QubitMenu', 'name', 'upload');
     if ($uploadMenuKey) {
         $this->data['QubitMenu'] = QubitMigrate::cascadeDelete($this->data['QubitMenu'], $uploadMenuKey);
     }
     // Add 'import' menu
     $importMenu = array('QubitMenu_mainmenu_import' => array('id' => '<?php echo QubitMenu::IMPORT_ID."\\n" ?>', 'parent_id' => '<?php echo QubitMenu::MAIN_MENU_ID."\\n" ?>', 'source_culture' => 'en', 'name' => 'import', 'path' => 'object/importSelect', 'label' => array('en' => 'Import', 'es' => 'importar', 'fa' => 'وارد كردن', 'fr' => 'importer', 'it' => 'importa', 'nl' => 'import', 'pt' => 'importar', 'sl' => 'uvoz')));
     // Attempt to insert 'import' menu before 'admin' menu
     if ($adminMenuKey = $this->getRowKey('QubitMenu', 'id', '<?php echo QubitMenu::ADMIN_ID."\\n" ?>')) {
         QubitMigrate::insertBeforeNestedSet($this->data['QubitMenu'], $adminMenuKey, $importMenu);
     } else {
         array_merge($this->data['QubitMenu'], $importMenu);
     }
     // Add 'import xml' menu as child of 'import'
     $this->data['QubitMenu']['QubitMenu_mainmenu_import_xml'] = array('parent_id' => 'QubitMenu_mainmenu_import', 'source_culture' => 'en', 'name' => 'import xml', 'path' => 'object/importSelect', 'label' => array('en' => 'xml'));
     // Add 'import digital objects' menu as child of 'import'
     $this->data['QubitMenu']['QubitMenu_mainmenu_import_digitalobjects'] = array('parent_id' => 'QubitMenu_mainmenu_import', 'source_culture' => 'en', 'name' => 'import digital objects', 'path' => 'digitalobject/multiFileUpload', 'label' => array('en' => 'digital objects'));
     // Remove previous OAI harvester menu
     $harvesterKey = $this->getRowKey('QubitMenu', 'name', 'harvester');
     if ($harvesterKey) {
         $this->data['QubitMenu'] = QubitMigrate::cascadeDelete($this->data['QubitMenu'], $harvesterKey);
     }
     // Add 'import OAI' menu as child of 'import'
     $this->data['QubitMenu']['QubitMenu_mainmenu_import_oai'] = array('parent_id' => 'QubitMenu_mainmenu_import', 'source_culture' => 'en', 'name' => 'import oai', 'path' => 'oai/harvesterList', 'label' => array('en' => 'oai'));
     // Add user and group sub-menus
     if (null !== ($userMenuKey = $this->getRowKey('QubitMenu', 'name', 'users'))) {
         $this->data['QubitMenu']['QubitMenu_mainmenu_admin_users_users'] = array('parent_id' => $userMenuKey, 'source_culture' => 'en', 'name' => 'users', 'path' => 'user/list', 'label' => array('en' => 'users'));
         $this->data['QubitMenu']['QubitMenu_mainmenu_admin_users_groups'] = array('parent_id' => $userMenuKey, 'source_culture' => 'en', 'name' => 'groups', 'path' => 'aclGroup/list', 'label' => array('en' => 'groups'));
     }
     // Update path for home page
     if (null !== ($menuKey = $this->getRowKey('QubitMenu', 'name', 'home'))) {
         $this->data['QubitMenu'][$menuKey]['path'] = 'staticpage/static?permalink=homepage';
     }
     // Pluralize English 'Add/Edit' menu options for Qubit
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Information object'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Information objects';
     }
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Person/organization'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Persons/organizations';
     }
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Repository'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Repositories';
     }
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Term'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Terms';
     }
     // Pluralize English 'Add/Edit' menu options for ICA-AtoM variations
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Archival description'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Archival descriptions';
     }
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Authority record'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Authority records';
     }
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'Archival institution'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'Archival institutions';
     }
     // Pluralize English 'Add/Edit' menu options for DCB variations
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'resource'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'resources';
     }
     $menuOption = $this->getRowKey('QubitMenu', 'label', array('en' => 'organization'));
     if ($menuOption) {
         $this->data['QubitMenu'][$menuOption]['label']['en'] = 'organizations';
     }
     return $this;
 }
 /**
  * Ver 32: Remove Themes 'List | Configure' menu option. Has been moved to
  * Settings -> Default Page Elements
  *
  * @return QubitMigrate108 this object
  */
 protected function removeThemesConfigureMenuOptions()
 {
     $pluginsListKey = $this->getRowKey('QubitMenu', 'name', 'list');
     if ($pluginsListKey) {
         $this->data['QubitMenu'] = QubitMigrate::cascadeDelete($this->data['QubitMenu'], $pluginsListKey);
     }
     $themesConfigureKey = $this->getRowKey('QubitMenu', 'name', 'configure');
     if ($themesConfigureKey) {
         $this->data['QubitMenu'] = QubitMigrate::cascadeDelete($this->data['QubitMenu'], $themesConfigureKey);
     }
     return $this;
 }