| pierre@0 | 1 <?php | 
| sly@2 | 2 // $Id: ad_image.install,v 1.2.2.2.2.6.2.4.2.3 2009/04/02 15:48:29 jeremy Exp $ | 
| pierre@0 | 3 | 
| pierre@0 | 4 /** | 
| pierre@0 | 5  * @file | 
| pierre@0 | 6  * Ad_image 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_image_schema() { | 
| pierre@0 | 16   $schema['ad_image'] = array( | 
| pierre@0 | 17     'description' => 'The ad_image table stores image information such as file ID, title, width, height of corresponding image ads.', | 
| pierre@0 | 18     'fields' => array( | 
| pierre@0 | 19       'aid' => array( | 
| pierre@0 | 20         'type' => 'int', | 
| pierre@0 | 21         'unsigned' => TRUE, | 
| pierre@0 | 22         'not null' => TRUE, | 
| pierre@0 | 23         'default' => 0, | 
| pierre@0 | 24       ), | 
| pierre@0 | 25       'fid' => array( | 
| pierre@0 | 26         'type' => 'int', | 
| pierre@0 | 27         'unsigned' => TRUE, | 
| pierre@0 | 28         'not null' => TRUE, | 
| pierre@0 | 29         'default' => 0, | 
| pierre@0 | 30       ), | 
| pierre@0 | 31       'url' => array( | 
| pierre@0 | 32         'type' => 'varchar', | 
| pierre@0 | 33         'length' => '255', | 
| pierre@0 | 34         'not null' => TRUE, | 
| pierre@0 | 35         'default' => '', | 
| pierre@0 | 36       ), | 
| pierre@0 | 37       'tooltip' => array( | 
| pierre@0 | 38         'type' => 'varchar', | 
| pierre@0 | 39         'length' => '255', | 
| pierre@0 | 40         'not null' => TRUE, | 
| pierre@0 | 41         'default' => '', | 
| pierre@0 | 42       ), | 
| pierre@1 | 43       'remote_image' => array( | 
| pierre@1 | 44         'type' => 'varchar', | 
| pierre@1 | 45         'length' => '255', | 
| pierre@1 | 46         'not null' => TRUE, | 
| pierre@1 | 47         'default' => '', | 
| pierre@1 | 48       ), | 
| pierre@0 | 49       'width' => array( | 
| pierre@0 | 50         'type' => 'int', | 
| pierre@0 | 51         'unsigned' => TRUE, | 
| pierre@0 | 52         'not null' => TRUE, | 
| pierre@0 | 53         'default' => 0, | 
| pierre@0 | 54       ), | 
| pierre@0 | 55       'height' => array( | 
| pierre@0 | 56         'type' => 'int', | 
| pierre@0 | 57         'unsigned' => TRUE, | 
| pierre@0 | 58         'not null' => TRUE, | 
| pierre@0 | 59         'default' => 0, | 
| pierre@0 | 60       ), | 
| pierre@0 | 61     ), | 
| pierre@0 | 62     'unique keys' => array( | 
| pierre@0 | 63       'aid' => array('aid') | 
| pierre@0 | 64     ), | 
| pierre@0 | 65   ); | 
| pierre@0 | 66   $schema['ad_image_format'] = array( | 
| pierre@0 | 67     'description' => 'The ad_image_format table stores dimensions for image ads.', | 
| pierre@0 | 68     'fields' => array( | 
| pierre@0 | 69       'gid' => array( | 
| pierre@0 | 70         'type' => 'int', | 
| pierre@0 | 71         'unsigned' => TRUE, | 
| pierre@0 | 72         'not null' => TRUE, | 
| pierre@0 | 73       ), | 
| pierre@0 | 74       'min_width' => array( | 
| pierre@0 | 75         'type' => 'int', | 
| pierre@0 | 76         'unsigned' => TRUE, | 
| pierre@0 | 77         'not null' => TRUE, | 
| pierre@0 | 78         'default' => 0, | 
| pierre@0 | 79       ), | 
| pierre@0 | 80       'max_width' => array( | 
| pierre@0 | 81         'type' => 'int', | 
| pierre@0 | 82         'unsigned' => TRUE, | 
| pierre@0 | 83         'not null' => TRUE, | 
| pierre@0 | 84         'default' => 0, | 
| pierre@0 | 85       ), | 
| pierre@0 | 86       'min_height' => array( | 
| pierre@0 | 87         'type' => 'int', | 
| pierre@0 | 88         'unsigned' => TRUE, | 
| pierre@0 | 89         'not null' => TRUE, | 
| pierre@0 | 90         'default' => 0, | 
| pierre@0 | 91       ), | 
| pierre@0 | 92       'max_height' => array( | 
| pierre@0 | 93         'type' => 'int', | 
| pierre@0 | 94         'unsigned' => TRUE, | 
| pierre@0 | 95         'not null' => TRUE, | 
| pierre@0 | 96         'default' => 0, | 
| pierre@0 | 97       ), | 
| sly@2 | 98       'max_size' => array( | 
| sly@2 | 99         'type' => 'int', | 
| sly@2 | 100         'unsigned' => TRUE, | 
| sly@2 | 101         'not null' => TRUE, | 
| sly@2 | 102         'default' => 0, | 
| sly@2 | 103       ), | 
| pierre@0 | 104     ), | 
| pierre@0 | 105     'primary key' => array('gid'), | 
| pierre@0 | 106   ); | 
| pierre@0 | 107 | 
| pierre@0 | 108   return $schema; | 
| pierre@0 | 109 } | 
| pierre@0 | 110 | 
| pierre@0 | 111 | 
| pierre@0 | 112 /** | 
| pierre@0 | 113  * ad_image module installation. | 
| pierre@0 | 114  */ | 
| pierre@0 | 115 function ad_image_install() { | 
| pierre@0 | 116   drupal_install_schema('ad_image'); | 
| pierre@0 | 117 } | 
| pierre@0 | 118 | 
| pierre@0 | 119 /** | 
| pierre@0 | 120  * Allow complete uninstallation of the ad_image module. | 
| pierre@0 | 121  */ | 
| pierre@0 | 122 function ad_image_uninstall() { | 
| pierre@0 | 123   // Delete all ad_image content. | 
| pierre@0 | 124   $result = db_query("SELECT aid FROM {ad_image}"); | 
| pierre@0 | 125   while ($aid = db_result($result)) { | 
| pierre@0 | 126     node_delete($aid); | 
| pierre@0 | 127   } | 
| pierre@0 | 128 | 
| pierre@0 | 129   // Remove tables. | 
| pierre@0 | 130   drupal_uninstall_schema('ad_image'); | 
| pierre@0 | 131 } | 
| pierre@1 | 132 | 
| pierre@1 | 133 /** | 
| pierre@1 | 134  * Introduce remote_image field for remotely hosted images. | 
| pierre@1 | 135  */ | 
| pierre@1 | 136 function ad_image_update_6001() { | 
| pierre@1 | 137   $ret = array(); | 
| pierre@1 | 138   db_add_field($ret, 'ad_image', 'remote_image', | 
| pierre@1 | 139     array( | 
| pierre@1 | 140       'type' => 'varchar', | 
| pierre@1 | 141       'length' => '255', | 
| pierre@1 | 142       'not null' => TRUE, | 
| pierre@1 | 143       'default' => '', | 
| pierre@1 | 144     )); | 
| pierre@1 | 145   return $ret; | 
| pierre@1 | 146 } | 
| sly@2 | 147 | 
| sly@2 | 148 /** | 
| sly@2 | 149  * Introduce remote_image field for remotely hosted images. | 
| sly@2 | 150  */ | 
| sly@2 | 151 function ad_image_update_6002() { | 
| sly@2 | 152   $ret = array(); | 
| sly@2 | 153   db_add_field($ret, 'ad_image_format', 'max_size', | 
| sly@2 | 154     array( | 
| sly@2 | 155       'type' => 'int', | 
| sly@2 | 156       'unsigned' => TRUE, | 
| sly@2 | 157       'not null' => TRUE, | 
| sly@2 | 158       'default' => '0', | 
| sly@2 | 159     )); | 
| sly@2 | 160   return $ret; | 
| sly@2 | 161 } |