72 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
<?php
 | 
						|
// $Id$
 | 
						|
 | 
						|
/**
 | 
						|
 * @file
 | 
						|
 * Install, update and uninstall functions for the menu module.
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Implement hook_install().
 | 
						|
 */
 | 
						|
function menu_install() {
 | 
						|
  // Create tables.
 | 
						|
  drupal_install_schema('menu');
 | 
						|
  $system_menus = menu_list_system_menus();
 | 
						|
  $descriptions = array(
 | 
						|
    'navigation' => 'The <em>Navigation</em> menu contains links such as Recent posts (if the Tracker module is enabled). Non-administrative links are added to this menu by default by modules.',
 | 
						|
    'user-menu' => "The <em>User menu</em> contains links related to the user's account, as well as the 'Log out' link.",
 | 
						|
    'management' => 'The <em>Management</em> menu contains links for content creation, site building, user management, and similar site activities.',
 | 
						|
    'main-menu' => 'The <em>Main menu</em> is the default source for the Main links which are often used by themes to show the major sections of a site.',
 | 
						|
    'secondary-menu' => 'The <em>Secondary menu</em> is the default source for the Secondary links which are often used for legal notices, contact details, and other navigation items that play a lesser role than the Main links.',
 | 
						|
  );
 | 
						|
  $t = get_t();
 | 
						|
  $query = db_insert('menu_custom')->fields(array('menu_name', 'title', 'description'));
 | 
						|
  foreach ($system_menus as $menu_name => $title) {
 | 
						|
    $query->values(array('menu_name' => $menu_name, 'title' => $t($title), 'description' => $t($descriptions[$menu_name])))->execute();
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Implement hook_uninstall().
 | 
						|
 */
 | 
						|
function menu_uninstall() {
 | 
						|
  // Remove tables.
 | 
						|
  drupal_uninstall_schema('menu');
 | 
						|
  menu_rebuild();
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Implement hook_schema().
 | 
						|
 */
 | 
						|
function menu_schema() {
 | 
						|
  $schema['menu_custom'] = array(
 | 
						|
    'description' => 'Holds definitions for top-level custom menus (for example, Main menu).',
 | 
						|
    'fields' => array(
 | 
						|
      'menu_name' => array(
 | 
						|
        'type' => 'varchar',
 | 
						|
        'length' => 32,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => '',
 | 
						|
        'description' => 'Primary Key: Unique key for menu. This is used as a block delta so length is 32.',
 | 
						|
      ),
 | 
						|
      'title' => array(
 | 
						|
        'type' => 'varchar',
 | 
						|
        'length' => 255,
 | 
						|
        'not null' => TRUE,
 | 
						|
        'default' => '',
 | 
						|
        'description' => 'Menu title; displayed at top of block.',
 | 
						|
      ),
 | 
						|
      'description' => array(
 | 
						|
        'type' => 'text',
 | 
						|
        'not null' => FALSE,
 | 
						|
        'description' => 'Menu description.',
 | 
						|
      ),
 | 
						|
    ),
 | 
						|
    'primary key' => array('menu_name'),
 | 
						|
  );
 | 
						|
 | 
						|
  return $schema;
 | 
						|
}
 | 
						|
 |