annotate og_statistics.install @ 3:13824d66b299 tip

Application du patch sur la 1.0-rc2
author Franck Deroche <franck@defr.org>
date Tue, 24 Nov 2009 14:30:14 +0100
parents 48f07e7acaca
children
rev   line source
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 }