annotate sites/all/modules/admin_menu/admin_menu.install @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ce11bbd8f642
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2
danielebarchiesi@4 3 /**
danielebarchiesi@4 4 * @file
danielebarchiesi@4 5 * Install, update, and uninstall functions for the admin menu module.
danielebarchiesi@4 6 */
danielebarchiesi@4 7
danielebarchiesi@4 8 /**
danielebarchiesi@4 9 * Implements hook_schema().
danielebarchiesi@4 10 */
danielebarchiesi@4 11 function admin_menu_schema() {
danielebarchiesi@4 12 $schema['cache_admin_menu'] = drupal_get_schema_unprocessed('system', 'cache');
danielebarchiesi@4 13 $schema['cache_admin_menu']['description'] = 'Cache table for Administration menu to store client-side caching hashes.';
danielebarchiesi@4 14 return $schema;
danielebarchiesi@4 15 }
danielebarchiesi@4 16
danielebarchiesi@4 17 /**
danielebarchiesi@4 18 * Implements hook_install().
danielebarchiesi@4 19 */
danielebarchiesi@4 20 function admin_menu_install() {
danielebarchiesi@4 21 // Increase the module weight, so admin_menu catches any alterations made by
danielebarchiesi@4 22 // other modules in hook_menu_alter().
danielebarchiesi@4 23 db_update('system')
danielebarchiesi@4 24 ->fields(array('weight' => 100))
danielebarchiesi@4 25 ->condition('type', 'module')
danielebarchiesi@4 26 ->condition('name', 'admin_menu')
danielebarchiesi@4 27 ->execute();
danielebarchiesi@4 28 }
danielebarchiesi@4 29
danielebarchiesi@4 30 /**
danielebarchiesi@4 31 * Implements hook_uninstall().
danielebarchiesi@4 32 */
danielebarchiesi@4 33 function admin_menu_uninstall() {
danielebarchiesi@4 34 // Delete variables.
danielebarchiesi@4 35 variable_del('admin_menu_components');
danielebarchiesi@4 36 variable_del('admin_menu_devel_modules');
danielebarchiesi@4 37 variable_del('admin_menu_devel_modules_enabled');
danielebarchiesi@4 38 variable_del('admin_menu_devel_modules_skip');
danielebarchiesi@4 39 variable_del('admin_menu_margin_top');
danielebarchiesi@4 40 variable_del('admin_menu_position_fixed');
danielebarchiesi@4 41 variable_del('admin_menu_tweak_modules');
danielebarchiesi@4 42 variable_del('admin_menu_tweak_tabs');
danielebarchiesi@4 43 variable_del('admin_menu_show_all');
danielebarchiesi@4 44 variable_del('admin_menu_display');
danielebarchiesi@4 45 variable_del('admin_menu_cache_server');
danielebarchiesi@4 46 variable_del('admin_menu_cache_client');
danielebarchiesi@4 47 }
danielebarchiesi@4 48
danielebarchiesi@4 49 /**
danielebarchiesi@4 50 * Ensure that admin_menu is rebuilt after upgrading to D6.
danielebarchiesi@4 51 */
danielebarchiesi@4 52 function admin_menu_update_6000() {
danielebarchiesi@4 53 // Drop the {admin_menu} table in admin_menu_update_6000() on sites that used
danielebarchiesi@4 54 // one of the later patches in #132524.
danielebarchiesi@4 55 if (db_table_exists('admin_menu')) {
danielebarchiesi@4 56 db_drop_table('admin_menu');
danielebarchiesi@4 57 }
danielebarchiesi@4 58 }
danielebarchiesi@4 59
danielebarchiesi@4 60 /**
danielebarchiesi@4 61 * Wipe and rebuild so we can switch the icon path to <front>.
danielebarchiesi@4 62 */
danielebarchiesi@4 63 function admin_menu_update_6001() {
danielebarchiesi@4 64 db_delete('menu_links')->condition('module', 'admin_menu')->execute();
danielebarchiesi@4 65 menu_cache_clear('admin_menu');
danielebarchiesi@4 66 }
danielebarchiesi@4 67
danielebarchiesi@4 68 /**
danielebarchiesi@4 69 * Add {cache_admin_menu} table.
danielebarchiesi@4 70 */
danielebarchiesi@4 71 function admin_menu_update_7300() {
danielebarchiesi@4 72 if (!db_table_exists('cache_admin_menu')) {
danielebarchiesi@4 73 $schema = drupal_get_schema_unprocessed('system', 'cache');
danielebarchiesi@4 74 db_create_table('cache_admin_menu', $schema);
danielebarchiesi@4 75 }
danielebarchiesi@4 76 }
danielebarchiesi@4 77
danielebarchiesi@4 78 /**
danielebarchiesi@4 79 * Increase the module weight.
danielebarchiesi@4 80 *
danielebarchiesi@4 81 * @see admin_menu_install()
danielebarchiesi@4 82 */
danielebarchiesi@4 83 function admin_menu_update_7302() {
danielebarchiesi@4 84 db_update('system')
danielebarchiesi@4 85 ->fields(array('weight' => 100))
danielebarchiesi@4 86 ->condition('type', 'module')
danielebarchiesi@4 87 ->condition('name', 'admin_menu')
danielebarchiesi@4 88 ->execute();
danielebarchiesi@4 89 }
danielebarchiesi@4 90
danielebarchiesi@4 91 /**
danielebarchiesi@4 92 * Remove local tasks from {menu_links} table.
danielebarchiesi@4 93 */
danielebarchiesi@4 94 function admin_menu_update_7303() {
danielebarchiesi@4 95 db_delete('menu_router')
danielebarchiesi@4 96 ->condition('path', 'admin/%', 'LIKE')
danielebarchiesi@4 97 ->condition('type', MENU_IS_LOCAL_TASK, '&')
danielebarchiesi@4 98 ->execute();
danielebarchiesi@4 99 }
danielebarchiesi@4 100
danielebarchiesi@4 101 /**
danielebarchiesi@4 102 * Remove obsolete 'admin_menu' menu and all orphan links in it.
danielebarchiesi@4 103 */
danielebarchiesi@4 104 function admin_menu_update_7304() {
danielebarchiesi@4 105 // Remove the custom menu used by 6.x-1.x.
danielebarchiesi@4 106 if (db_table_exists('menu_custom')) {
danielebarchiesi@4 107 db_delete('menu_custom')->condition('menu_name', 'admin_menu')->execute();
danielebarchiesi@4 108 }
danielebarchiesi@4 109
danielebarchiesi@4 110 // 6.x-1.x cloned the entire link structure below the path 'admin' into a
danielebarchiesi@4 111 // separate 'menu_name' "admin_menu" with 'module' "admin_menu". 6.x-3.x and
danielebarchiesi@4 112 // early alpha versions of 7.x-3.x still did something similar. All of these
danielebarchiesi@4 113 // records are obsolete. Removal of the 'module' records (without different
danielebarchiesi@4 114 // menu_name) is particularly important, since they would otherwise appear
danielebarchiesi@4 115 // as duplicate links.
danielebarchiesi@4 116 db_delete('menu_links')
danielebarchiesi@4 117 ->condition(db_or()
danielebarchiesi@4 118 ->condition('module', 'admin_menu')
danielebarchiesi@4 119 ->condition('menu_name', 'admin_menu')
danielebarchiesi@4 120 )
danielebarchiesi@4 121 ->execute();
danielebarchiesi@4 122 }