annotate modules/statistics/statistics.install @ 0:ff03f76ab3fe

initial version
author danieleb <danielebarchiesi@me.com>
date Wed, 21 Aug 2013 18:51:11 +0100
parents
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Install, update, and uninstall functions for the Statistics module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * Implements hook_uninstall().
danielebarchiesi@0 10 */
danielebarchiesi@0 11 function statistics_uninstall() {
danielebarchiesi@0 12 // Remove variables.
danielebarchiesi@0 13 variable_del('statistics_count_content_views');
danielebarchiesi@0 14 variable_del('statistics_enable_access_log');
danielebarchiesi@0 15 variable_del('statistics_flush_accesslog_timer');
danielebarchiesi@0 16 variable_del('statistics_day_timestamp');
danielebarchiesi@0 17 variable_del('statistics_block_top_day_num');
danielebarchiesi@0 18 variable_del('statistics_block_top_all_num');
danielebarchiesi@0 19 variable_del('statistics_block_top_last_num');
danielebarchiesi@0 20 }
danielebarchiesi@0 21
danielebarchiesi@0 22 /**
danielebarchiesi@0 23 * Implements hook_schema().
danielebarchiesi@0 24 */
danielebarchiesi@0 25 function statistics_schema() {
danielebarchiesi@0 26 $schema['accesslog'] = array(
danielebarchiesi@0 27 'description' => 'Stores site access information for statistics.',
danielebarchiesi@0 28 'fields' => array(
danielebarchiesi@0 29 'aid' => array(
danielebarchiesi@0 30 'type' => 'serial',
danielebarchiesi@0 31 'not null' => TRUE,
danielebarchiesi@0 32 'description' => 'Primary Key: Unique accesslog ID.',
danielebarchiesi@0 33 ),
danielebarchiesi@0 34 'sid' => array(
danielebarchiesi@0 35 'type' => 'varchar',
danielebarchiesi@0 36 'length' => 128,
danielebarchiesi@0 37 'not null' => TRUE,
danielebarchiesi@0 38 'default' => '',
danielebarchiesi@0 39 'description' => 'Browser session ID of user that visited page.',
danielebarchiesi@0 40 ),
danielebarchiesi@0 41 'title' => array(
danielebarchiesi@0 42 'type' => 'varchar',
danielebarchiesi@0 43 'length' => 255,
danielebarchiesi@0 44 'not null' => FALSE,
danielebarchiesi@0 45 'description' => 'Title of page visited.',
danielebarchiesi@0 46 ),
danielebarchiesi@0 47 'path' => array(
danielebarchiesi@0 48 'type' => 'varchar',
danielebarchiesi@0 49 'length' => 255,
danielebarchiesi@0 50 'not null' => FALSE,
danielebarchiesi@0 51 'description' => 'Internal path to page visited (relative to Drupal root.)',
danielebarchiesi@0 52 ),
danielebarchiesi@0 53 'url' => array(
danielebarchiesi@0 54 'type' => 'text',
danielebarchiesi@0 55 'not null' => FALSE,
danielebarchiesi@0 56 'description' => 'Referrer URI.',
danielebarchiesi@0 57 ),
danielebarchiesi@0 58 'hostname' => array(
danielebarchiesi@0 59 'type' => 'varchar',
danielebarchiesi@0 60 'length' => 128,
danielebarchiesi@0 61 'not null' => FALSE,
danielebarchiesi@0 62 'description' => 'Hostname of user that visited the page.',
danielebarchiesi@0 63 ),
danielebarchiesi@0 64 'uid' => array(
danielebarchiesi@0 65 'type' => 'int',
danielebarchiesi@0 66 'unsigned' => TRUE,
danielebarchiesi@0 67 'not null' => FALSE,
danielebarchiesi@0 68 'default' => 0,
danielebarchiesi@0 69 'description' => 'User {users}.uid that visited the page.',
danielebarchiesi@0 70 ),
danielebarchiesi@0 71 'timer' => array(
danielebarchiesi@0 72 'type' => 'int',
danielebarchiesi@0 73 'unsigned' => TRUE,
danielebarchiesi@0 74 'not null' => TRUE,
danielebarchiesi@0 75 'default' => 0,
danielebarchiesi@0 76 'description' => 'Time in milliseconds that the page took to load.',
danielebarchiesi@0 77 ),
danielebarchiesi@0 78 'timestamp' => array(
danielebarchiesi@0 79 'type' => 'int',
danielebarchiesi@0 80 'unsigned' => TRUE,
danielebarchiesi@0 81 'not null' => TRUE,
danielebarchiesi@0 82 'default' => 0,
danielebarchiesi@0 83 'description' => 'Timestamp of when the page was visited.',
danielebarchiesi@0 84 ),
danielebarchiesi@0 85 ),
danielebarchiesi@0 86 'indexes' => array(
danielebarchiesi@0 87 'accesslog_timestamp' => array('timestamp'),
danielebarchiesi@0 88 'uid' => array('uid'),
danielebarchiesi@0 89 ),
danielebarchiesi@0 90 'primary key' => array('aid'),
danielebarchiesi@0 91 'foreign keys' => array(
danielebarchiesi@0 92 'visitor' => array(
danielebarchiesi@0 93 'table' => 'users',
danielebarchiesi@0 94 'columns' => array('uid' => 'uid'),
danielebarchiesi@0 95 ),
danielebarchiesi@0 96 ),
danielebarchiesi@0 97 );
danielebarchiesi@0 98
danielebarchiesi@0 99 $schema['node_counter'] = array(
danielebarchiesi@0 100 'description' => 'Access statistics for {node}s.',
danielebarchiesi@0 101 'fields' => array(
danielebarchiesi@0 102 'nid' => array(
danielebarchiesi@0 103 'description' => 'The {node}.nid for these statistics.',
danielebarchiesi@0 104 'type' => 'int',
danielebarchiesi@0 105 'not null' => TRUE,
danielebarchiesi@0 106 'default' => 0,
danielebarchiesi@0 107 ),
danielebarchiesi@0 108 'totalcount' => array(
danielebarchiesi@0 109 'description' => 'The total number of times the {node} has been viewed.',
danielebarchiesi@0 110 'type' => 'int',
danielebarchiesi@0 111 'unsigned' => TRUE,
danielebarchiesi@0 112 'not null' => TRUE,
danielebarchiesi@0 113 'default' => 0,
danielebarchiesi@0 114 'size' => 'big',
danielebarchiesi@0 115 ),
danielebarchiesi@0 116 'daycount' => array(
danielebarchiesi@0 117 'description' => 'The total number of times the {node} has been viewed today.',
danielebarchiesi@0 118 'type' => 'int',
danielebarchiesi@0 119 'unsigned' => TRUE,
danielebarchiesi@0 120 'not null' => TRUE,
danielebarchiesi@0 121 'default' => 0,
danielebarchiesi@0 122 'size' => 'medium',
danielebarchiesi@0 123 ),
danielebarchiesi@0 124 'timestamp' => array(
danielebarchiesi@0 125 'description' => 'The most recent time the {node} has been viewed.',
danielebarchiesi@0 126 'type' => 'int',
danielebarchiesi@0 127 'unsigned' => TRUE,
danielebarchiesi@0 128 'not null' => TRUE,
danielebarchiesi@0 129 'default' => 0,
danielebarchiesi@0 130 ),
danielebarchiesi@0 131 ),
danielebarchiesi@0 132 'primary key' => array('nid'),
danielebarchiesi@0 133 );
danielebarchiesi@0 134
danielebarchiesi@0 135 return $schema;
danielebarchiesi@0 136 }
danielebarchiesi@0 137
danielebarchiesi@0 138 /**
danielebarchiesi@0 139 * @addtogroup updates-6.x-to-7.x
danielebarchiesi@0 140 * @{
danielebarchiesi@0 141 */
danielebarchiesi@0 142
danielebarchiesi@0 143 /**
danielebarchiesi@0 144 * Update the {accesslog}.sid column to match the length of {sessions}.sid
danielebarchiesi@0 145 */
danielebarchiesi@0 146 function statistics_update_7000() {
danielebarchiesi@0 147 db_change_field('accesslog', 'sid', 'sid', array(
danielebarchiesi@0 148 'type' => 'varchar',
danielebarchiesi@0 149 'length' => 128,
danielebarchiesi@0 150 'not null' => TRUE,
danielebarchiesi@0 151 'default' => '',
danielebarchiesi@0 152 'description' => 'Browser session ID of user that visited page.',
danielebarchiesi@0 153 ));
danielebarchiesi@0 154 }
danielebarchiesi@0 155
danielebarchiesi@0 156 /**
danielebarchiesi@0 157 * @} End of "addtogroup updates-6.x-to-7.x".
danielebarchiesi@0 158 */