upload.install 2.21 KB
Newer Older
1 2 3 4 5 6 7
<?php
// $Id$

/**
 * Implementation of hook_install().
 */
function upload_install() {
8 9 10 11 12 13
  // Create table. The upload table might have been created in the Drupal 5
  // to Drupal 6 upgrade, and was migrated from the file_revisions table. So
  // in this case, there is no need to create the table, it is already there.
  if (!db_table_exists('upload')) {
    drupal_install_schema('upload');
  }
14 15 16 17 18 19 20 21 22
}

/**
 * Implementation of hook_uninstall().
 */
function upload_uninstall() {
  // Remove tables.
  drupal_uninstall_schema('upload');
}
23 24 25 26 27 28

/**
 * Implementation of hook_schema().
 */
function upload_schema() {
  $schema['upload'] = array(
29
    'description' => t('Stores uploaded file information and table associations.'),
30
    'fields' => array(
31 32 33 34 35
      'fid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
36
        'description' => t('Primary Key: The {files}.fid.'),
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
      ),
      'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => t('The {node}.nid associated with the uploaded file.'),
      ),
      'vid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => t('Primary Key: The {node}.vid associated with the uploaded file.'),
      ),
      'description' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => t('Description of the uploaded file.'),
      ),
      'list' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'size' => 'tiny',
        'description' => t('Whether the file should be visibly listed on the node: yes(1) or no(0).'),
      ),
67 68 69 70 71 72 73
      'weight' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'size' => 'tiny',
        'description' => t('Weight of this upload in relation to other uploads in this node.'),
      ),
74
    ),
75 76 77 78 79
    'primary key' => array('vid', 'fid'),
    'indexes' => array(
      'fid' => array('fid'),
      'nid' => array('nid'),
    ),
80 81 82 83 84
  );

  return $schema;
}

85