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