| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | <?php/** * @file * Install, update and uninstall functions for the shortcut module. *//** * Implements hook_install(). */function shortcut_install() {  $t = get_t();  // Create an initial default shortcut set.  $shortcut_set = new stdClass();  $shortcut_set->title = $t('Default');  $shortcut_set->links = array(    array(      'link_path' => 'node/add',      'link_title' => $t('Add content'),      'weight' => -20,    ),    array(      'link_path' => 'admin/content',      'link_title' => $t('Find content'),      'weight' => -19,    ),  );  // If Drupal is being installed, rebuild the menu before saving the shortcut  // set, to make sure the links defined above can be correctly saved. (During  // installation, the menu might not have been built at all yet, or it might  // have been built but without the node module's links in it.)  if (drupal_installation_attempted()) {    menu_rebuild();  }  shortcut_set_save($shortcut_set);}/** * Implements hook_uninstall(). */function shortcut_uninstall() {  drupal_load('module', 'shortcut');  // Delete the menu links associated with each shortcut set.  foreach (shortcut_sets() as $shortcut_set) {    menu_delete_links($shortcut_set->set_name);  }}/** * Implements hook_schema(). */function shortcut_schema() {  $schema['shortcut_set'] = array(    'description' => 'Stores information about sets of shortcuts links.',    'fields' => array(      'set_name' => array(        'type' => 'varchar',        'length' => 32,        'not null' => TRUE,        'default' => '',        'description' => "Primary Key: The {menu_links}.menu_name under which the set's links are stored.",      ),      'title' => array(        'type' => 'varchar',        'length' => 255,        'not null' => TRUE,        'default' => '',        'description' => 'The title of the set.',      ),    ),    'primary key' => array('set_name'),    'foreign keys' => array(      'menu_name' => array(        'table' => 'menu_links',        'columns' => array('set_name' => 'menu_name'),      ),    ),  );  $schema['shortcut_set_users'] = array(    'description' => 'Maps users to shortcut sets.',    'fields' => array(      'uid' => array(        'type' => 'int',        'unsigned' => TRUE,        'not null' => TRUE,        'default' => 0,        'description' => 'The {users}.uid for this set.',      ),      'set_name' => array(        'type' => 'varchar',        'length' => 32,        'not null' => TRUE,        'default' => '',        'description' => "The {shortcut_set}.set_name that will be displayed for this user.",      ),    ),    'primary key' => array('uid'),    'indexes' => array(      'set_name' => array('set_name'),    ),    'foreign keys' => array(      'set_user' => array(        'table' => 'users',        'columns' => array('uid' => 'uid'),      ),      'set_name' => array(        'table' => 'shortcut_set',        'columns' => array('set_name' => 'set_name'),      ),    ),  );  return $schema;}
 |