franck@0
|
1 <?php |
franck@2
|
2 // $Id: og_statistics.install,v 1.2.2.1 2009/08/12 19:53:28 dereine Exp $ |
franck@0
|
3 |
franck@0
|
4 /** |
franck@0
|
5 * @file |
franck@0
|
6 * Installs the og_statistics module. |
franck@0
|
7 */ |
franck@0
|
8 |
franck@0
|
9 /** |
franck@0
|
10 * Implemenation of hook_install(). |
franck@0
|
11 */ |
franck@0
|
12 function og_statistics_install() { |
franck@0
|
13 drupal_install_schema('og_statistics'); |
franck@0
|
14 } |
franck@0
|
15 |
franck@0
|
16 /** |
franck@0
|
17 * Implemenation of hook_schema(). |
franck@0
|
18 */ |
franck@0
|
19 function og_statistics_schema() { |
franck@0
|
20 $schema['og_statistics'] = array( |
franck@0
|
21 'description' => 'Saves some statistics foreach group', |
franck@0
|
22 'fields' => array( |
franck@0
|
23 'nid' => array( |
franck@0
|
24 'description' => "The groups's {node}.nid.", |
franck@0
|
25 'type' => 'int', |
franck@0
|
26 'size' => 'normal', |
franck@0
|
27 'not null' => TRUE, |
franck@0
|
28 ), |
franck@0
|
29 'members_count' => array( |
franck@0
|
30 'description' => 'How many members has a group', |
franck@0
|
31 'type' => 'int', |
franck@0
|
32 'size' => 'normal', |
franck@0
|
33 'not null' => TRUE, |
franck@0
|
34 ), |
franck@0
|
35 'posts_count' => array( |
franck@0
|
36 'description' => 'How many posts has a group', |
franck@0
|
37 'type' => 'int', |
franck@0
|
38 'size' => 'normal', |
franck@0
|
39 'not null' => TRUE, |
franck@0
|
40 ), |
franck@0
|
41 'comments_count' => array( |
franck@0
|
42 'description' => 'How many comments has a group', |
franck@0
|
43 'type' => 'int', |
franck@0
|
44 'size' => 'normal', |
franck@0
|
45 'not null' => TRUE, |
franck@0
|
46 ), |
franck@0
|
47 'last_node_timestamp' => array( |
franck@0
|
48 'description' => 'Last Time when a in the group was created.', |
franck@0
|
49 'type' => 'int', |
franck@0
|
50 'size' => 'normal', |
franck@0
|
51 'not null' => FALSE, |
franck@0
|
52 'default' => 0, |
franck@0
|
53 ), |
franck@0
|
54 'last_comment_timestamp' => array( |
franck@0
|
55 'description' => 'Last Time when a comment in the group was created.', |
franck@0
|
56 'type' => 'int', |
franck@0
|
57 'size' => 'normal', |
franck@0
|
58 'not null' => FALSE, |
franck@0
|
59 'default' => 0, |
franck@0
|
60 ), |
franck@0
|
61 'last_member_timestamp' => array( |
franck@0
|
62 'description' => 'Last Time when a user joins a group.', |
franck@0
|
63 'type' => 'int', |
franck@0
|
64 'size' => 'normal', |
franck@0
|
65 'not null' => FALSE, |
franck@0
|
66 'default' => 0, |
franck@0
|
67 ), |
franck@2
|
68 'last_comment_uid' => array( |
franck@2
|
69 'description' => 'Last {users}.uid to post a comment in a group.', |
franck@2
|
70 'type' => 'int', |
franck@2
|
71 'unsigned' => TRUE, |
franck@2
|
72 'not null' => FALSE, |
franck@2
|
73 'default' => 0, |
franck@2
|
74 ), |
franck@2
|
75 'last_comment_nid' => array( |
franck@2
|
76 'description' => 'Node the last comment was posted to in a group.', |
franck@2
|
77 'type' => 'int', |
franck@2
|
78 'unsigned' => TRUE, |
franck@2
|
79 'not null' => FALSE, |
franck@2
|
80 'default' => 0, |
franck@2
|
81 ), |
franck@2
|
82 'last_comment_cid' => array( |
franck@2
|
83 'description' => '{comments}.cid of the last comment in a group.', |
franck@2
|
84 'type' => 'int', |
franck@2
|
85 'unsigned' => TRUE, |
franck@2
|
86 'not null' => FALSE, |
franck@2
|
87 'default' => 0, |
franck@2
|
88 ), |
franck@2
|
89 'last_node_nid' => array( |
franck@2
|
90 'description' => 'Last {node}.nid posted to a group.', |
franck@2
|
91 'type' => 'int', |
franck@2
|
92 'unsigned' => TRUE, |
franck@2
|
93 'not null' => FALSE, |
franck@2
|
94 'default' => 0, |
franck@2
|
95 ), |
franck@2
|
96 'last_node_uid' => array( |
franck@2
|
97 'description' => '{users}.uid of the last node posted to a group.', |
franck@2
|
98 'type' => 'int', |
franck@2
|
99 'unsigned' => TRUE, |
franck@2
|
100 'not null' => FALSE, |
franck@2
|
101 'default' => 0, |
franck@2
|
102 ), |
franck@2
|
103 'last_member_uid' => array( |
franck@2
|
104 'description' => '{users}.uid of the last user to join a group.', |
franck@2
|
105 'type' => 'int', |
franck@2
|
106 'unsigned' => TRUE, |
franck@2
|
107 'not null' => FALSE, |
franck@2
|
108 'default' => 0, |
franck@2
|
109 ), |
franck@0
|
110 ), |
franck@0
|
111 'primary key' => array('nid'), |
franck@0
|
112 ); |
franck@0
|
113 |
franck@0
|
114 return $schema; |
franck@0
|
115 } |
franck@0
|
116 |
franck@0
|
117 /** |
franck@0
|
118 * Implemenation of hook_uninstall(). |
franck@0
|
119 */ |
franck@0
|
120 function og_statistics_uninstall() { |
franck@0
|
121 drupal_uninstall_schema('og_statistics'); |
franck@0
|
122 } |
franck@2
|
123 |
franck@2
|
124 /** |
franck@2
|
125 * Adds more verbose og statistics. |
franck@2
|
126 */ |
franck@2
|
127 function og_statistics_update_6001() { |
franck@2
|
128 $ret = array(); |
franck@2
|
129 $schema = drupal_get_schema_unprocessed('og_statistics'); |
franck@2
|
130 $table_definition = $schema['og_statistics']; |
franck@2
|
131 // Add detailed columns for last comment post. |
franck@2
|
132 foreach (array('last_comment_uid', 'last_comment_nid', 'last_comment_cid') as $column) { |
franck@2
|
133 if (!db_column_exists('og_statistics', $column)) { |
franck@2
|
134 db_add_field($ret, 'og_statistics', $column, $table_definition['fields'][$column]); |
franck@2
|
135 } |
franck@2
|
136 } |
franck@2
|
137 // Add detailed columns for last node post. |
franck@2
|
138 foreach (array('last_node_uid', 'last_node_nid') as $column) { |
franck@2
|
139 if (!db_column_exists('og_statistics', $column)) { |
franck@2
|
140 db_add_field($ret, 'og_statistics', $column, $table_definition['fields'][$column]); |
franck@2
|
141 } |
franck@2
|
142 } |
franck@2
|
143 // Add detailed columns for last user to join. |
franck@2
|
144 foreach (array('last_member_uid') as $column) { |
franck@2
|
145 if (!db_column_exists('og_statistics', $column)) { |
franck@2
|
146 db_add_field($ret, 'og_statistics', $column, $table_definition['fields'][$column]); |
franck@2
|
147 } |
franck@2
|
148 } |
franck@2
|
149 // Rebuild schema. |
franck@2
|
150 drupal_get_schema('og_statistics', TRUE); |
franck@2
|
151 } |