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