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 */
|