franck@0: 'Saves some statistics foreach group', franck@0: 'fields' => array( franck@0: 'nid' => array( franck@0: 'description' => "The groups's {node}.nid.", franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => TRUE, franck@0: ), franck@0: 'members_count' => array( franck@0: 'description' => 'How many members has a group', franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => TRUE, franck@0: ), franck@0: 'posts_count' => array( franck@0: 'description' => 'How many posts has a group', franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => TRUE, franck@0: ), franck@0: 'comments_count' => array( franck@0: 'description' => 'How many comments has a group', franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => TRUE, franck@0: ), franck@0: 'last_node_timestamp' => array( franck@0: 'description' => 'Last Time when a in the group was created.', franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => FALSE, franck@0: 'default' => 0, franck@0: ), franck@0: 'last_comment_timestamp' => array( franck@0: 'description' => 'Last Time when a comment in the group was created.', franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => FALSE, franck@0: 'default' => 0, franck@0: ), franck@0: 'last_member_timestamp' => array( franck@0: 'description' => 'Last Time when a user joins a group.', franck@0: 'type' => 'int', franck@0: 'size' => 'normal', franck@0: 'not null' => FALSE, franck@0: 'default' => 0, franck@0: ), franck@2: 'last_comment_uid' => array( franck@2: 'description' => 'Last {users}.uid to post a comment in a group.', franck@2: 'type' => 'int', franck@2: 'unsigned' => TRUE, franck@2: 'not null' => FALSE, franck@2: 'default' => 0, franck@2: ), franck@2: 'last_comment_nid' => array( franck@2: 'description' => 'Node the last comment was posted to in a group.', franck@2: 'type' => 'int', franck@2: 'unsigned' => TRUE, franck@2: 'not null' => FALSE, franck@2: 'default' => 0, franck@2: ), franck@2: 'last_comment_cid' => array( franck@2: 'description' => '{comments}.cid of the last comment in a group.', franck@2: 'type' => 'int', franck@2: 'unsigned' => TRUE, franck@2: 'not null' => FALSE, franck@2: 'default' => 0, franck@2: ), franck@2: 'last_node_nid' => array( franck@2: 'description' => 'Last {node}.nid posted to a group.', franck@2: 'type' => 'int', franck@2: 'unsigned' => TRUE, franck@2: 'not null' => FALSE, franck@2: 'default' => 0, franck@2: ), franck@2: 'last_node_uid' => array( franck@2: 'description' => '{users}.uid of the last node posted to a group.', franck@2: 'type' => 'int', franck@2: 'unsigned' => TRUE, franck@2: 'not null' => FALSE, franck@2: 'default' => 0, franck@2: ), franck@2: 'last_member_uid' => array( franck@2: 'description' => '{users}.uid of the last user to join a group.', franck@2: 'type' => 'int', franck@2: 'unsigned' => TRUE, franck@2: 'not null' => FALSE, franck@2: 'default' => 0, franck@2: ), franck@0: ), franck@0: 'primary key' => array('nid'), franck@0: ); franck@0: franck@0: return $schema; franck@0: } franck@0: franck@0: /** franck@0: * Implemenation of hook_uninstall(). franck@0: */ franck@0: function og_statistics_uninstall() { franck@0: drupal_uninstall_schema('og_statistics'); franck@0: } franck@2: franck@2: /** franck@2: * Adds more verbose og statistics. franck@2: */ franck@2: function og_statistics_update_6001() { franck@2: $ret = array(); franck@2: $schema = drupal_get_schema_unprocessed('og_statistics'); franck@2: $table_definition = $schema['og_statistics']; franck@2: // Add detailed columns for last comment post. franck@2: foreach (array('last_comment_uid', 'last_comment_nid', 'last_comment_cid') as $column) { franck@2: if (!db_column_exists('og_statistics', $column)) { franck@2: db_add_field($ret, 'og_statistics', $column, $table_definition['fields'][$column]); franck@2: } franck@2: } franck@2: // Add detailed columns for last node post. franck@2: foreach (array('last_node_uid', 'last_node_nid') as $column) { franck@2: if (!db_column_exists('og_statistics', $column)) { franck@2: db_add_field($ret, 'og_statistics', $column, $table_definition['fields'][$column]); franck@2: } franck@2: } franck@2: // Add detailed columns for last user to join. franck@2: foreach (array('last_member_uid') as $column) { franck@2: if (!db_column_exists('og_statistics', $column)) { franck@2: db_add_field($ret, 'og_statistics', $column, $table_definition['fields'][$column]); franck@2: } franck@2: } franck@2: // Rebuild schema. franck@2: drupal_get_schema('og_statistics', TRUE); franck@2: }