upload.install 2.19 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' => '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' => 'Primary Key: The {files}.fid.',
37 38 39 40 41 42
      ),
      'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
43
        'description' => 'The {node}.nid associated with the uploaded file.',
44 45 46 47 48 49
      ),
      'vid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
50
        'description' => 'Primary Key: The {node}.vid associated with the uploaded file.',
51 52 53 54 55 56
      ),
      'description' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
57
        'description' => 'Description of the uploaded file.',
58 59 60 61 62 63 64
      ),
      'list' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'size' => 'tiny',
65
        'description' => 'Whether the file should be visibly listed on the node: yes(1) or no(0).',
66
      ),
67 68 69 70 71
      'weight' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'size' => 'tiny',
72
        'description' => 'Weight of this upload in relation to other uploads in this node.',
73
      ),
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