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

  1. <?php
  2. // $Id: statistics.install,v 1.13 2007/12/18 12:59:22 dries 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' => t('Stores site access information for statistics.'),
  53.     'fields' => array(
  54.       'aid' => array(
  55.         'type' => 'serial',
  56.         'not null' => TRUE,
  57.         'description' => t('Primary Key: Unique accesslog ID.'),
  58.       ),
  59.       'sid' => array(
  60.         'type' => 'varchar',
  61.         'length' => 64,
  62.         'not null' => TRUE,
  63.         'default' => '',
  64.         'description' => t('Browser session ID of user that visited page.'),
  65.       ),
  66.       'title' => array(
  67.         'type' => 'varchar',
  68.         'length' => 255,
  69.         'not null' => FALSE,
  70.         'description' => t('Title of page visited.'),
  71.       ),
  72.       'path' => array(
  73.         'type' => 'varchar',
  74.         'length' => 255,
  75.         'not null' => FALSE,
  76.         'description' => t('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' => t('Referrer URI.'),
  83.       ),
  84.       'hostname' => array(
  85.         'type' => 'varchar',
  86.         'length' => 128,
  87.         'not null' => FALSE,
  88.         'description' => t('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' => t('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' => t('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' => t('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.  
  122.