function system_update_6020

6.x system.install system_update_6020()

Create the tables for the new menu system.

Related topics

File

drupal-6.x/modules/system/system.install, line 1709

Code

function system_update_6020() {
  $ret = array();

  $schema['menu_router'] = array(
    'fields' => array(
      'path' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'load_functions' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'to_arg_functions' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'access_callback' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'access_arguments' => array('type' => 'text', 'not null' => FALSE),
      'page_callback' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'page_arguments' => array('type' => 'text', 'not null' => FALSE),
      'fit' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
      'number_parts' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'tab_parent' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'tab_root' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'title_callback' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'title_arguments' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'type' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
      'block_callback' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'description' => array('type' => 'text', 'not null' => TRUE),
      'position' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
      'file' => array('type' => 'text', 'size' => 'medium')
    ),
    'indexes' => array(
      'fit' => array('fit'),
      'tab_parent' => array('tab_parent')
    ),
    'primary key' => array('path'),
  );

  $schema['menu_links'] = array(
    'fields' => array(
      'menu_name' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
      'mlid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
      'plid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'link_path' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'router_path' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'link_title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'options' => array('type' => 'text', 'not null' => FALSE),
      'module' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'system'),
      'hidden' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'external' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'has_children' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'expanded' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
      'depth' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'customized' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
      'p1' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p2' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p3' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p4' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p5' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p6' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p7' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p8' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'p9' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'updated' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'small'),
    ),
    'indexes' => array(
      'path_menu' => array(array('link_path', 128), 'menu_name'),
      'menu_plid_expand_child' => array('menu_name', 'plid', 'expanded', 'has_children'),
      'menu_parents' => array('menu_name', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7', 'p8', 'p9'),
      'router_path' => array(array('router_path', 128)),
    ),
    'primary key' => array('mlid'),
  );

  foreach ($schema as $name => $table) {
    db_create_table($ret, $name, $table);
  }
  return $ret;
}