home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / CMS / drupal-6.0.exe / drupal-6.0 / modules / poll / poll.install < prev    next >
Encoding:
Text File  |  2007-12-18  |  3.6 KB  |  133 lines

  1. <?php
  2. // $Id: poll.install,v 1.13 2007/12/18 12:59:21 dries Exp $
  3.  
  4. /**
  5.  * Implementation of hook_install().
  6.  */
  7. function poll_install() {
  8.   // Create tables.
  9.   drupal_install_schema('poll');
  10. }
  11.  
  12. /**
  13.  * Implementation of hook_uninstall().
  14.  */
  15. function poll_uninstall() {
  16.   // Remove tables.
  17.   drupal_uninstall_schema('poll');
  18. }
  19.  
  20. /**
  21.  * Implementation of hook_schema().
  22.  */
  23. function poll_schema() {
  24.   $schema['poll'] = array(
  25.     'description' => t('Stores poll-specific information for poll nodes.'),
  26.     'fields' => array(
  27.       'nid'     => array(
  28.         'type' => 'int',
  29.         'unsigned' => TRUE,
  30.         'not null' => TRUE,
  31.         'default' => 0,
  32.         'description' => t("The poll's {node}.nid.")
  33.         ),
  34.       'runtime' => array(
  35.         'type' => 'int',
  36.         'not null' => TRUE,
  37.         'default' => 0,
  38.         'description' => t('The number of seconds past {node}.created during which the poll is open.')
  39.         ),
  40.       'active'  => array(
  41.         'type' => 'int',
  42.         'unsigned' => TRUE,
  43.         'not null' => TRUE,
  44.         'default' => 0,
  45.         'description' => t('Boolean indicating whether or not the poll is open.'),
  46.         ),
  47.       ),
  48.     'primary key' => array('nid'),
  49.     );
  50.  
  51.   $schema['poll_choices'] = array(
  52.     'description' => t('Stores information about all choices for all {poll}s.'),
  53.     'fields' => array(
  54.       'chid'    => array(
  55.         'type' => 'serial',
  56.         'unsigned' => TRUE,
  57.         'not null' => TRUE,
  58.         'description' => t('Unique identifier for a poll choice.'),
  59.         ),
  60.       'nid'     => array(
  61.         'type' => 'int',
  62.         'unsigned' => TRUE,
  63.         'not null' => TRUE,
  64.         'default' => 0,
  65.         'description' => t('The {node}.nid this choice belongs to.'),
  66.         ),
  67.       'chtext'  => array(
  68.         'type' => 'varchar',
  69.         'length' => 128,
  70.         'not null' => TRUE,
  71.         'default' => '',
  72.         'description' => t('The text for this choice.'),
  73.         ),
  74.       'chvotes' => array(
  75.         'type' => 'int',
  76.         'not null' => TRUE,
  77.         'default' => 0,
  78.         'description' => t('The total number of votes this choice has received by all users.'),
  79.         ),
  80.       'chorder' => array(
  81.         'type' => 'int',
  82.         'not null' => TRUE,
  83.         'default' => 0,
  84.         'description' => t('The sort order of this choice among all choices for the same node.'),
  85.         )
  86.       ),
  87.     'indexes' => array(
  88.       'nid' => array('nid')
  89.       ),
  90.     'primary key' => array('chid'),
  91.     );
  92.  
  93.   $schema['poll_votes'] = array(
  94.     'description' => t('Stores per-{users} votes for each {poll}.'),
  95.     'fields' => array(
  96.       'nid'      => array(
  97.         'type' => 'int',
  98.         'unsigned' => TRUE,
  99.         'not null' => TRUE,
  100.         'description' => t('The {poll} node this vote is for.'),
  101.         ),
  102.       'uid'      => array(
  103.         'type' => 'int',
  104.         'unsigned' => TRUE,
  105.         'not null' => TRUE,
  106.         'default' => 0,
  107.         'description' => t('The {users}.uid this vote is from unless the voter was anonymous.'),
  108.         ),
  109.       'chorder'  => array(
  110.         'type' => 'int',
  111.         'not null' => TRUE,
  112.         'default' => -1,
  113.         'description' => t("The {users}'s vote for this poll."),
  114.         ),
  115.       'hostname' => array(
  116.         'type' => 'varchar',
  117.         'length' => 128,
  118.         'not null' => TRUE,
  119.         'default' => '',
  120.         'description' => t('The IP address this vote is from unless the voter was logged in.'),
  121.         ),
  122.       ),
  123.     'primary key' => array('nid', 'uid', 'hostname'),
  124.     'indexes' => array(
  125.       'hostname' => array('hostname'),
  126.       'uid'      => array('uid'),
  127.       ),
  128.     );
  129.  
  130.   return $schema;
  131. }
  132.  
  133.