59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Install, update and uninstall functions for the Menu link module.
|
|
*/
|
|
|
|
/**
|
|
* Implements hook_field_schema().
|
|
*/
|
|
function menu_link_field_schema($field) {
|
|
$menu_links = drupal_get_schema_unprocessed('system', 'menu_links');
|
|
|
|
$schema = array(
|
|
'columns' => array(
|
|
'mlid' => array(
|
|
'description' => 'The {menu_links}.mlid being referenced in this field.',
|
|
'type' => 'int',
|
|
'unsigned' => TRUE,
|
|
'not null' => TRUE,
|
|
'default' => 0,
|
|
),
|
|
|
|
// Columns below are being used for revision control.
|
|
'menu_name' => $menu_links['fields']['menu_name'],
|
|
'plid' => $menu_links['fields']['plid'],
|
|
'link_path' => $menu_links['fields']['link_path'],
|
|
'link_title' => $menu_links['fields']['link_title'],
|
|
'options' => $menu_links['fields']['options'],
|
|
'hidden' => $menu_links['fields']['hidden'],
|
|
'expanded' => $menu_links['fields']['expanded'],
|
|
'weight' => $menu_links['fields']['weight'],
|
|
),
|
|
'indexes' => array(
|
|
'mlid' => array('mlid'),
|
|
'menu_plid' => array('menu_name', 'plid'),
|
|
),
|
|
'foreign keys' => array(
|
|
'menu_link' => array(
|
|
'table' => 'menu_links',
|
|
'columns' => array('mlid' => 'mlid'),
|
|
),
|
|
'parent_menu_link' => array(
|
|
'table' => 'menu_links',
|
|
'columns' => array('plid' => 'mlid'),
|
|
),
|
|
),
|
|
);
|
|
|
|
if (module_exists('menu')) {
|
|
$schema['foreign keys']['menu'] = array(
|
|
'table' => 'menu_custom',
|
|
'columns' => array('menu_name' => 'menu_name'),
|
|
);
|
|
}
|
|
|
|
return $schema;
|
|
}
|