annotate modules/tracker/tracker.install @ 13:134d4b2e75f6

updated quicktabs and google analytics modules
author danieleb <danielebarchiesi@me.com>
date Tue, 29 Oct 2013 13:48:59 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Install, update, and uninstall functions for tracker.module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * Implements hook_uninstall().
danielebarchiesi@0 10 */
danielebarchiesi@0 11 function tracker_uninstall() {
danielebarchiesi@0 12 variable_del('tracker_index_nid');
danielebarchiesi@0 13 variable_del('tracker_batch_size');
danielebarchiesi@0 14 }
danielebarchiesi@0 15
danielebarchiesi@0 16 /**
danielebarchiesi@0 17 * Implements hook_enable().
danielebarchiesi@0 18 */
danielebarchiesi@0 19 function tracker_enable() {
danielebarchiesi@0 20 $max_nid = db_query('SELECT MAX(nid) FROM {node}')->fetchField();
danielebarchiesi@0 21 if ($max_nid != 0) {
danielebarchiesi@0 22 variable_set('tracker_index_nid', $max_nid);
danielebarchiesi@0 23 // To avoid timing out while attempting to do a complete indexing, we
danielebarchiesi@0 24 // simply call our cron job to remove stale records and begin the process.
danielebarchiesi@0 25 tracker_cron();
danielebarchiesi@0 26 }
danielebarchiesi@0 27 }
danielebarchiesi@0 28
danielebarchiesi@0 29 /**
danielebarchiesi@0 30 * Implements hook_schema().
danielebarchiesi@0 31 */
danielebarchiesi@0 32 function tracker_schema() {
danielebarchiesi@0 33 $schema['tracker_node'] = array(
danielebarchiesi@0 34 'description' => 'Tracks when nodes were last changed or commented on.',
danielebarchiesi@0 35 'fields' => array(
danielebarchiesi@0 36 'nid' => array(
danielebarchiesi@0 37 'description' => 'The {node}.nid this record tracks.',
danielebarchiesi@0 38 'type' => 'int',
danielebarchiesi@0 39 'unsigned' => TRUE,
danielebarchiesi@0 40 'not null' => TRUE,
danielebarchiesi@0 41 'default' => 0,
danielebarchiesi@0 42 ),
danielebarchiesi@0 43 'published' => array(
danielebarchiesi@0 44 'description' => 'Boolean indicating whether the node is published.',
danielebarchiesi@0 45 'type' => 'int',
danielebarchiesi@0 46 'not null' => FALSE,
danielebarchiesi@0 47 'default' => 0,
danielebarchiesi@0 48 'size' => 'tiny',
danielebarchiesi@0 49 ),
danielebarchiesi@0 50 'changed' => array(
danielebarchiesi@0 51 'description' => 'The Unix timestamp when the node was most recently saved or commented on.',
danielebarchiesi@0 52 'type' => 'int',
danielebarchiesi@0 53 'unsigned' => TRUE,
danielebarchiesi@0 54 'not null' => TRUE,
danielebarchiesi@0 55 'default' => 0,
danielebarchiesi@0 56 ),
danielebarchiesi@0 57 ),
danielebarchiesi@0 58 'indexes' => array(
danielebarchiesi@0 59 'tracker' => array('published', 'changed'),
danielebarchiesi@0 60 ),
danielebarchiesi@0 61 'primary key' => array('nid'),
danielebarchiesi@0 62 'foreign keys' => array(
danielebarchiesi@0 63 'tracked_node' => array(
danielebarchiesi@0 64 'table' => 'node',
danielebarchiesi@0 65 'columns' => array('nid' => 'nid'),
danielebarchiesi@0 66 ),
danielebarchiesi@0 67 ),
danielebarchiesi@0 68 );
danielebarchiesi@0 69
danielebarchiesi@0 70 $schema['tracker_user'] = array(
danielebarchiesi@0 71 'description' => 'Tracks when nodes were last changed or commented on, for each user that authored the node or one of its comments.',
danielebarchiesi@0 72 'fields' => array(
danielebarchiesi@0 73 'nid' => array(
danielebarchiesi@0 74 'description' => 'The {node}.nid this record tracks.',
danielebarchiesi@0 75 'type' => 'int',
danielebarchiesi@0 76 'unsigned' => TRUE,
danielebarchiesi@0 77 'not null' => TRUE,
danielebarchiesi@0 78 'default' => 0,
danielebarchiesi@0 79 ),
danielebarchiesi@0 80 'uid' => array(
danielebarchiesi@0 81 'description' => 'The {users}.uid of the node author or commenter.',
danielebarchiesi@0 82 'type' => 'int',
danielebarchiesi@0 83 'not null' => TRUE,
danielebarchiesi@0 84 'default' => 0,
danielebarchiesi@0 85 ),
danielebarchiesi@0 86 'published' => array(
danielebarchiesi@0 87 'description' => 'Boolean indicating whether the node is published.',
danielebarchiesi@0 88 'type' => 'int',
danielebarchiesi@0 89 'not null' => FALSE,
danielebarchiesi@0 90 'default' => 0,
danielebarchiesi@0 91 'size' => 'tiny',
danielebarchiesi@0 92 ),
danielebarchiesi@0 93 'changed' => array(
danielebarchiesi@0 94 'description' => 'The Unix timestamp when the node was most recently saved or commented on.',
danielebarchiesi@0 95 'type' => 'int',
danielebarchiesi@0 96 'unsigned' => TRUE,
danielebarchiesi@0 97 'not null' => TRUE,
danielebarchiesi@0 98 'default' => 0,
danielebarchiesi@0 99 ),
danielebarchiesi@0 100 ),
danielebarchiesi@0 101 'indexes' => array(
danielebarchiesi@0 102 'tracker' => array('uid', 'published', 'changed'),
danielebarchiesi@0 103 ),
danielebarchiesi@0 104 'primary key' => array('nid', 'uid'),
danielebarchiesi@0 105 'foreign keys' => array(
danielebarchiesi@0 106 'tracked_node' => array(
danielebarchiesi@0 107 'table' => 'node',
danielebarchiesi@0 108 'columns' => array('nid' => 'nid'),
danielebarchiesi@0 109 ),
danielebarchiesi@0 110 'tracked_user' => array(
danielebarchiesi@0 111 'table' => 'users',
danielebarchiesi@0 112 'columns' => array('uid' => 'uid'),
danielebarchiesi@0 113 ),
danielebarchiesi@0 114 ),
danielebarchiesi@0 115 );
danielebarchiesi@0 116
danielebarchiesi@0 117 return $schema;
danielebarchiesi@0 118 }
danielebarchiesi@0 119
danielebarchiesi@0 120 /**
danielebarchiesi@0 121 * @addtogroup updates-6.x-to-7.x
danielebarchiesi@0 122 * @{
danielebarchiesi@0 123 */
danielebarchiesi@0 124
danielebarchiesi@0 125 /**
danielebarchiesi@0 126 * Create new tracker_node and tracker_user tables.
danielebarchiesi@0 127 */
danielebarchiesi@0 128 function tracker_update_7000() {
danielebarchiesi@0 129 $schema['tracker_node'] = array(
danielebarchiesi@0 130 'description' => 'Tracks when nodes were last changed or commented on',
danielebarchiesi@0 131 'fields' => array(
danielebarchiesi@0 132 'nid' => array(
danielebarchiesi@0 133 'description' => 'The {node}.nid this record tracks.',
danielebarchiesi@0 134 'type' => 'int',
danielebarchiesi@0 135 'unsigned' => TRUE,
danielebarchiesi@0 136 'not null' => TRUE,
danielebarchiesi@0 137 'default' => 0,
danielebarchiesi@0 138 ),
danielebarchiesi@0 139 'published' => array(
danielebarchiesi@0 140 'description' => 'Boolean indicating whether the node is published.',
danielebarchiesi@0 141 'type' => 'int',
danielebarchiesi@0 142 'not null' => FALSE,
danielebarchiesi@0 143 'default' => 0,
danielebarchiesi@0 144 'size' => 'tiny',
danielebarchiesi@0 145 ),
danielebarchiesi@0 146 'changed' => array(
danielebarchiesi@0 147 'description' => 'The Unix timestamp when the node was most recently saved or commented on.',
danielebarchiesi@0 148 'type' => 'int',
danielebarchiesi@0 149 'unsigned' => TRUE,
danielebarchiesi@0 150 'not null' => TRUE,
danielebarchiesi@0 151 'default' => 0,
danielebarchiesi@0 152 ),
danielebarchiesi@0 153 ),
danielebarchiesi@0 154 'indexes' => array(
danielebarchiesi@0 155 'tracker' => array('published', 'changed'),
danielebarchiesi@0 156 ),
danielebarchiesi@0 157 'primary key' => array('nid'),
danielebarchiesi@0 158 'foreign keys' => array(
danielebarchiesi@0 159 'tracked_node' => array(
danielebarchiesi@0 160 'table' => 'node',
danielebarchiesi@0 161 'columns' => array('nid' => 'nid'),
danielebarchiesi@0 162 ),
danielebarchiesi@0 163 ),
danielebarchiesi@0 164 );
danielebarchiesi@0 165
danielebarchiesi@0 166 $schema['tracker_user'] = array(
danielebarchiesi@0 167 'description' => 'Tracks when nodes were last changed or commented on, for each user that authored the node or one of its comments.',
danielebarchiesi@0 168 'fields' => array(
danielebarchiesi@0 169 'nid' => array(
danielebarchiesi@0 170 'description' => 'The {node}.nid this record tracks.',
danielebarchiesi@0 171 'type' => 'int',
danielebarchiesi@0 172 'unsigned' => TRUE,
danielebarchiesi@0 173 'not null' => TRUE,
danielebarchiesi@0 174 'default' => 0,
danielebarchiesi@0 175 ),
danielebarchiesi@0 176 'uid' => array(
danielebarchiesi@0 177 'description' => 'The {users}.uid of the node author or commenter.',
danielebarchiesi@0 178 'type' => 'int',
danielebarchiesi@0 179 'not null' => TRUE,
danielebarchiesi@0 180 'default' => 0,
danielebarchiesi@0 181 ),
danielebarchiesi@0 182 'published' => array(
danielebarchiesi@0 183 'description' => 'Boolean indicating whether the node is published.',
danielebarchiesi@0 184 'type' => 'int',
danielebarchiesi@0 185 'not null' => FALSE,
danielebarchiesi@0 186 'default' => 0,
danielebarchiesi@0 187 'size' => 'tiny',
danielebarchiesi@0 188 ),
danielebarchiesi@0 189 'changed' => array(
danielebarchiesi@0 190 'description' => 'The Unix timestamp when the node was most recently saved or commented on.',
danielebarchiesi@0 191 'type' => 'int',
danielebarchiesi@0 192 'unsigned' => TRUE,
danielebarchiesi@0 193 'not null' => TRUE,
danielebarchiesi@0 194 'default' => 0,
danielebarchiesi@0 195 ),
danielebarchiesi@0 196 ),
danielebarchiesi@0 197 'indexes' => array(
danielebarchiesi@0 198 'tracker' => array('uid', 'published', 'changed'),
danielebarchiesi@0 199 ),
danielebarchiesi@0 200 'primary key' => array('nid', 'uid'),
danielebarchiesi@0 201 'foreign keys' => array(
danielebarchiesi@0 202 'tracked_node' => array(
danielebarchiesi@0 203 'table' => 'node',
danielebarchiesi@0 204 'columns' => array('nid' => 'nid'),
danielebarchiesi@0 205 ),
danielebarchiesi@0 206 'tracked_user' => array(
danielebarchiesi@0 207 'table' => 'users',
danielebarchiesi@0 208 'columns' => array('uid' => 'uid'),
danielebarchiesi@0 209 ),
danielebarchiesi@0 210 ),
danielebarchiesi@0 211 );
danielebarchiesi@0 212
danielebarchiesi@0 213 foreach ($schema as $name => $table) {
danielebarchiesi@0 214 db_create_table($name, $table);
danielebarchiesi@0 215 }
danielebarchiesi@0 216
danielebarchiesi@0 217 $max_nid = db_query('SELECT MAX(nid) FROM {node}')->fetchField();
danielebarchiesi@0 218 if ($max_nid != 0) {
danielebarchiesi@0 219 variable_set('tracker_index_nid', $max_nid);
danielebarchiesi@0 220 }
danielebarchiesi@0 221 }
danielebarchiesi@0 222
danielebarchiesi@0 223 /**
danielebarchiesi@0 224 * @} End of "addtogroup updates-6.x-to-7.x".
danielebarchiesi@0 225 */