web/drupal/modules/statistics/statistics.install
branchdrupal
changeset 74 0ff3ba646492
equal deleted inserted replaced
73:fcf75e232c5b 74:0ff3ba646492
       
     1 <?php
       
     2 // $Id: statistics.install,v 1.13.2.1 2009/01/06 15:46:37 goba Exp $
       
     3 
       
     4 /**
       
     5  * Implementation of hook_install().
       
     6  */
       
     7 function statistics_install() {
       
     8   // Create tables.
       
     9   drupal_install_schema('statistics');
       
    10 }
       
    11 
       
    12 /**
       
    13  * Changes session ID  field to VARCHAR(64) to add support for SHA-1 hashes.
       
    14  */
       
    15 function statistics_update_1000() {
       
    16   $ret = array();
       
    17 
       
    18   switch ($GLOBALS['db_type']) {
       
    19     case 'mysql':
       
    20     case 'mysqli':
       
    21       $ret[] = update_sql("ALTER TABLE {accesslog} CHANGE COLUMN sid sid varchar(64) NOT NULL default ''");
       
    22       break;
       
    23     case 'pgsql':
       
    24       db_change_column($ret, 'accesslog', 'sid', 'sid', 'varchar(64)', array('not null' => TRUE, 'default' => "''"));
       
    25       break;
       
    26   }
       
    27 
       
    28   return $ret;
       
    29 }
       
    30 
       
    31 /**
       
    32  * Implementation of hook_uninstall().
       
    33  */
       
    34 function statistics_uninstall() {
       
    35   // Remove tables.
       
    36   drupal_uninstall_schema('statistics');
       
    37 
       
    38   variable_del('statistics_count_content_views');
       
    39   variable_del('statistics_enable_access_log');
       
    40   variable_del('statistics_flush_accesslog_timer');
       
    41   variable_del('statistics_day_timestamp');
       
    42   variable_del('statistics_block_top_day_num');
       
    43   variable_del('statistics_block_top_all_num');
       
    44   variable_del('statistics_block_top_last_num');
       
    45 }
       
    46 
       
    47 /**
       
    48  * Implementation of hook_schema().
       
    49  */
       
    50 function statistics_schema() {
       
    51   $schema['accesslog'] = array(
       
    52     'description' => 'Stores site access information for statistics.',
       
    53     'fields' => array(
       
    54       'aid' => array(
       
    55         'type' => 'serial',
       
    56         'not null' => TRUE,
       
    57         'description' => 'Primary Key: Unique accesslog ID.',
       
    58       ),
       
    59       'sid' => array(
       
    60         'type' => 'varchar',
       
    61         'length' => 64,
       
    62         'not null' => TRUE,
       
    63         'default' => '',
       
    64         'description' => 'Browser session ID of user that visited page.',
       
    65       ),
       
    66       'title' => array(
       
    67         'type' => 'varchar',
       
    68         'length' => 255,
       
    69         'not null' => FALSE,
       
    70         'description' => 'Title of page visited.',
       
    71       ),
       
    72       'path' => array(
       
    73         'type' => 'varchar',
       
    74         'length' => 255,
       
    75         'not null' => FALSE,
       
    76         'description' => 'Internal path to page visited (relative to Drupal root.)',
       
    77       ),
       
    78       'url' => array(
       
    79         'type' => 'varchar',
       
    80         'length' => 255,
       
    81         'not null' => FALSE,
       
    82         'description' => 'Referrer URI.',
       
    83       ),
       
    84       'hostname' => array(
       
    85         'type' => 'varchar',
       
    86         'length' => 128,
       
    87         'not null' => FALSE,
       
    88         'description' => 'Hostname of user that visited the page.',
       
    89       ),
       
    90       'uid' => array(
       
    91         'type' => 'int',
       
    92         'unsigned' => TRUE,
       
    93         'not null' => FALSE,
       
    94         'default' => 0,
       
    95         'description' => 'User {users}.uid that visited the page.',
       
    96       ),
       
    97       'timer' => array(
       
    98         'type' => 'int',
       
    99         'unsigned' => TRUE,
       
   100         'not null' => TRUE,
       
   101         'default' => 0,
       
   102         'description' => 'Time in milliseconds that the page took to load.',
       
   103       ),
       
   104       'timestamp' => array(
       
   105         'type' => 'int',
       
   106         'unsigned' => TRUE,
       
   107         'not null' => TRUE,
       
   108         'default' => 0,
       
   109         'description' => 'Timestamp of when the page was visited.',
       
   110       ),
       
   111     ),
       
   112     'indexes' => array(
       
   113       'accesslog_timestamp' => array('timestamp'),
       
   114       'uid' => array('uid'),
       
   115     ),
       
   116     'primary key' => array('aid'),
       
   117   );
       
   118 
       
   119   return $schema;
       
   120 }
       
   121