annotate notify/ad_notify.install @ 2:e5584a19768b ad

maj module ad
author sly
date Wed, 15 Apr 2009 07:58:32 +0000
parents 948362c2a207
children
rev   line source
pierre@0 1 <?php
pierre@1 2 // $Id: ad_notify.install,v 1.1.2.2.2.6.2.3.2.3 2009/03/29 20:17:21 jeremy Exp $
pierre@0 3
pierre@0 4 /**
pierre@0 5 * @file
pierre@0 6 * Ad_notify module database schema.
pierre@0 7 *
pierre@0 8 * Copyright (c) 2005-2009.
pierre@0 9 * Jeremy Andrews <jeremy@tag1consulting.com>.
pierre@0 10 */
pierre@0 11
pierre@0 12 /**
pierre@0 13 * Implementation of hook_schema().
pierre@0 14 */
pierre@0 15 function ad_notify_schema() {
pierre@0 16 $schema['ad_notify'] = array(
pierre@0 17 'description' => 'The ad_notify table stores notifications data such as recepient, message body, event, etc.',
pierre@0 18 'fields' => array(
pierre@0 19 'notid' => array(
pierre@0 20 'type' => 'serial',
pierre@0 21 'unsigned' => TRUE,
pierre@0 22 'not null' => TRUE,
pierre@0 23 ),
pierre@0 24 'aid' => array(
pierre@0 25 'type' => 'int',
pierre@0 26 'unsigned' => TRUE,
pierre@0 27 'not null' => TRUE,
pierre@0 28 'default' => 0,
pierre@0 29 ),
pierre@0 30 'oid' => array(
pierre@0 31 'type' => 'int',
pierre@0 32 'unsigned' => TRUE,
pierre@0 33 'not null' => TRUE,
pierre@0 34 'default' => 0,
pierre@0 35 ),
pierre@0 36 'event' => array(
pierre@0 37 'type' => 'varchar',
pierre@0 38 'length' => '255',
pierre@0 39 'not null' => TRUE,
pierre@0 40 'default' => ''
pierre@0 41 ),
pierre@0 42 'delay' => array(
pierre@0 43 'type' => 'int',
pierre@0 44 'not null' => TRUE,
pierre@0 45 'default' => 0,
pierre@0 46 ),
pierre@0 47 'queued' => array(
pierre@0 48 'type' => 'int',
pierre@0 49 'not null' => TRUE,
pierre@0 50 'default' => 0,
pierre@0 51 ),
pierre@0 52 'sent' => array(
pierre@0 53 'type' => 'int',
pierre@0 54 'not null' => TRUE,
pierre@0 55 'default' => 0,
pierre@0 56 ),
pierre@0 57 'counter' => array(
pierre@0 58 'type' => 'int',
pierre@0 59 'unsigned' => TRUE,
pierre@0 60 'not null' => TRUE,
pierre@0 61 'default' => 0,
pierre@0 62 ),
pierre@0 63 'locked' => array(
pierre@0 64 'type' => 'int',
pierre@0 65 'unsigned' => TRUE,
pierre@0 66 'size' => 'tiny',
pierre@0 67 'not null' => TRUE,
pierre@0 68 'default' => 0,
pierre@0 69 ),
pierre@0 70 'expire' => array(
pierre@0 71 'type' => 'int',
pierre@0 72 'unsigned' => TRUE,
pierre@0 73 'size' => 'tiny',
pierre@0 74 'not null' => TRUE,
pierre@0 75 'default' => 0,
pierre@0 76 ),
pierre@0 77 'status' => array(
pierre@0 78 'type' => 'int',
pierre@0 79 'unsigned' => TRUE,
pierre@0 80 'size' => 'tiny',
pierre@0 81 'not null' => TRUE,
pierre@0 82 'default' => 0,
pierre@0 83 ),
pierre@0 84 'address' => array(
pierre@0 85 'type' => 'varchar',
pierre@0 86 'length' => '255',
pierre@0 87 'not null' => TRUE,
pierre@0 88 'default' => '',
pierre@0 89 ),
pierre@0 90 'subject' => array(
pierre@0 91 'type' => 'varchar',
pierre@0 92 'length' => '255',
pierre@0 93 'not null' => TRUE,
pierre@0 94 'default' => '',
pierre@0 95 ),
pierre@0 96 'body' => array(
pierre@0 97 'type' => 'text',
pierre@0 98 'not null' => FALSE,
pierre@0 99 ),
pierre@1 100 'roles' => array(
pierre@1 101 'type' => 'varchar',
pierre@1 102 'length' => '255',
pierre@1 103 'not null' => TRUE,
pierre@1 104 'default' => '',
pierre@1 105 ),
pierre@1 106 'template' => array(
pierre@1 107 'type' => 'int',
pierre@1 108 'unsigned' => TRUE,
pierre@1 109 'not null' => TRUE,
pierre@1 110 'default' => 0,
pierre@1 111 ),
pierre@0 112 ),
pierre@0 113 'primary key' => array('notid'),
pierre@0 114 'unique keys' => array(
pierre@0 115 'oid' => array('oid', 'event', 'delay'),
pierre@0 116 ),
pierre@0 117 'indexes' => array(
pierre@0 118 'delay' => array('delay'),
pierre@0 119 'event' => array('event'),
pierre@0 120 'oid_2' => array('oid'),
pierre@0 121 'queued' => array('queued'),
pierre@0 122 'sent' => array('sent'),
pierre@0 123 'status' => array('status'),
pierre@0 124 ),
pierre@0 125 );
pierre@0 126
pierre@0 127 return $schema;
pierre@0 128 }
pierre@0 129
pierre@0 130 /**
pierre@0 131 * ad_notify module installation.
pierre@0 132 */
pierre@0 133 function ad_notify_install() {
pierre@0 134 drupal_install_schema('ad_notify');
pierre@0 135 }
pierre@0 136
pierre@0 137 /**
pierre@0 138 * Allow complete uninstallation of the ad_notify module.
pierre@0 139 */
pierre@0 140 function ad_notify_uninstall() {
pierre@0 141 // Remove tables.
pierre@0 142 drupal_uninstall_schema('ad_notify');
pierre@0 143 }
pierre@1 144
pierre@1 145 /**
pierre@1 146 * Introduce new roles field to allow per-role notifications.
pierre@1 147 * Replace nonstandard %sitename with standard %site-name.
pierre@1 148 * Replace nonstandard %siteurl with standard %site-url.
pierre@1 149 */
pierre@1 150 function ad_notify_update_6001() {
pierre@1 151 $ret = array();
pierre@1 152 db_add_field($ret, 'ad_notify', 'roles', array('type' => 'varchar', 'length' => '255', 'not null' => TRUE, 'default' => ''));
pierre@1 153
pierre@1 154 $ret[] = update_sql('UPDATE {ad_notify} SET subject = REPLACE(subject, "%sitename", "%site-name")');
pierre@1 155 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%siteurl", "%site-url")');
pierre@1 156
pierre@1 157 }
pierre@1 158
pierre@1 159 /**
pierre@1 160 * Introduce new template field.
pierre@1 161 */
pierre@1 162 function ad_notify_update_6002() {
pierre@1 163 $ret = array();
pierre@1 164 db_add_field($ret, 'ad_notify', 'template', array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0));
pierre@1 165 return $ret;
pierre@1 166 }
pierre@1 167
pierre@1 168 /**
pierre@1 169 * Replace nonstandard %sitename with standard %site-name.
pierre@1 170 * Replace nonstandard %siteurl with standard %site-url.
pierre@1 171 * (Repeating update_6001 as there were more instances of these old variables
pierre@1 172 * in the code.)
pierre@1 173 */
pierre@1 174 function ad_notify_update_6003() {
pierre@1 175 $ret = array();
pierre@1 176 $ret[] = update_sql('UPDATE {ad_notify} SET subject = REPLACE(subject, "%%sitename", "%%site-name")');
pierre@1 177 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%sitename", "%%site-name")');
pierre@1 178 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%max_views", "%%max_impressions")');
pierre@1 179 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%global_views", "%%global_impressions")');
pierre@1 180 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%last_year_views", "%%last_year_impressions")');
pierre@1 181 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%this_year_views", "%%this_year_impressions")');
pierre@1 182 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%last_month_views", "%%last_month_impressions")');
pierre@1 183 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%this_month_views", "%%this_month_impressions")');
pierre@1 184 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%yesterday_views", "%%yesterday_impressions")');
pierre@1 185 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%today_views", "%%today_impressions")');
pierre@1 186 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%last_hour_views", "%%last_hour_impressions")');
pierre@1 187 $ret[] = update_sql('UPDATE {ad_notify} SET body = REPLACE(body, "%%this_hour_views", "%%this_hour_impressions")');
pierre@1 188 return $ret;
pierre@1 189 }
pierre@1 190