annotate sites/all/modules/ctools/ctools.install @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Contains install and update functions for ctools.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * Use requirements to ensure that the CTools CSS cache directory can be
danielebarchiesi@0 10 * created and that the PHP version requirement is met.
danielebarchiesi@0 11 */
danielebarchiesi@0 12 function ctools_requirements($phase) {
danielebarchiesi@0 13 $requirements = array();
danielebarchiesi@0 14 if ($phase == 'runtime') {
danielebarchiesi@0 15 $requirements['ctools_css_cache'] = array(
danielebarchiesi@0 16 'title' => t('CTools CSS Cache'),
danielebarchiesi@0 17 'severity' => REQUIREMENT_OK,
danielebarchiesi@0 18 'value' => t('Exists'),
danielebarchiesi@0 19 );
danielebarchiesi@0 20
danielebarchiesi@0 21 $path = 'public://ctools/css';
danielebarchiesi@0 22 if (!file_prepare_directory($path, FILE_CREATE_DIRECTORY)) {
danielebarchiesi@0 23 $requirements['ctools_css_cache']['description'] = t('The CTools CSS cache directory, %path could not be created due to a misconfigured files directory. Please ensure that the files directory is correctly configured and that the webserver has permission to create directories.', array('%path' => file_uri_target($path)));
danielebarchiesi@0 24 $requirements['ctools_css_cache']['severity'] = REQUIREMENT_ERROR;
danielebarchiesi@0 25 $requirements['ctools_css_cache']['value'] = t('Unable to create');
danielebarchiesi@0 26 }
danielebarchiesi@0 27
danielebarchiesi@0 28 if (!function_exists('error_get_last')) {
danielebarchiesi@0 29 $requirements['ctools_php_52']['title'] = t('CTools PHP requirements');
danielebarchiesi@0 30 $requirements['ctools_php_52']['description'] = t('CTools requires certain features only available in PHP 5.2.0 or higher.');
danielebarchiesi@0 31 $requirements['ctools_php_52']['severity'] = REQUIREMENT_WARNING;
danielebarchiesi@0 32 $requirements['ctools_php_52']['value'] = t('PHP !version', array('!version' => phpversion()));
danielebarchiesi@0 33 }
danielebarchiesi@0 34 }
danielebarchiesi@0 35
danielebarchiesi@0 36 return $requirements;
danielebarchiesi@0 37 }
danielebarchiesi@0 38
danielebarchiesi@0 39 /**
danielebarchiesi@0 40 * Implements hook_schemea
danielebarchiesi@0 41 */
danielebarchiesi@0 42 function ctools_schema() {
danielebarchiesi@0 43 return ctools_schema_2();
danielebarchiesi@0 44 }
danielebarchiesi@0 45
danielebarchiesi@0 46 /**
danielebarchiesi@0 47 * Version 2 of the CTools schema.
danielebarchiesi@0 48 */
danielebarchiesi@0 49 function ctools_schema_2() {
danielebarchiesi@0 50 $schema = ctools_schema_1();
danielebarchiesi@0 51
danielebarchiesi@0 52 // update the 'name' field to be 128 bytes long:
danielebarchiesi@0 53 $schema['ctools_object_cache']['fields']['name']['length'] = 128;
danielebarchiesi@0 54
danielebarchiesi@0 55 // Update the 'data' field to be type 'blob'.
danielebarchiesi@0 56 $schema['ctools_object_cache']['fields']['data'] = array(
danielebarchiesi@0 57 'type' => 'blob',
danielebarchiesi@0 58 'size' => 'big',
danielebarchiesi@0 59 'description' => 'Serialized data being stored.',
danielebarchiesi@0 60 'serialize' => TRUE,
danielebarchiesi@0 61 );
danielebarchiesi@0 62
danielebarchiesi@0 63 // DO NOT MODIFY THIS TABLE -- this definition is used to create the table.
danielebarchiesi@0 64 // Changes to this table must be made in schema_3 or higher.
danielebarchiesi@0 65 $schema['ctools_css_cache'] = array(
danielebarchiesi@0 66 'description' => 'A special cache used to store CSS that must be non-volatile.',
danielebarchiesi@0 67 'fields' => array(
danielebarchiesi@0 68 'cid' => array(
danielebarchiesi@0 69 'type' => 'varchar',
danielebarchiesi@0 70 'length' => '128',
danielebarchiesi@0 71 'description' => 'The CSS ID this cache object belongs to.',
danielebarchiesi@0 72 'not null' => TRUE,
danielebarchiesi@0 73 ),
danielebarchiesi@0 74 'filename' => array(
danielebarchiesi@0 75 'type' => 'varchar',
danielebarchiesi@0 76 'length' => '255',
danielebarchiesi@0 77 'description' => 'The filename this CSS is stored in.',
danielebarchiesi@0 78 ),
danielebarchiesi@0 79 'css' => array(
danielebarchiesi@0 80 'type' => 'text',
danielebarchiesi@0 81 'size' => 'big',
danielebarchiesi@0 82 'description' => 'CSS being stored.',
danielebarchiesi@0 83 'serialize' => TRUE,
danielebarchiesi@0 84 ),
danielebarchiesi@0 85 'filter' => array(
danielebarchiesi@0 86 'type' => 'int',
danielebarchiesi@0 87 'size' => 'tiny',
danielebarchiesi@0 88 'description' => 'Whether or not this CSS needs to be filtered.',
danielebarchiesi@0 89 ),
danielebarchiesi@0 90 ),
danielebarchiesi@0 91 'primary key' => array('cid'),
danielebarchiesi@0 92 );
danielebarchiesi@0 93
danielebarchiesi@0 94 return $schema;
danielebarchiesi@0 95 }
danielebarchiesi@0 96
danielebarchiesi@0 97 /**
danielebarchiesi@0 98 * CTools' initial schema; separated for the purposes of updates.
danielebarchiesi@0 99 *
danielebarchiesi@0 100 * DO NOT MAKE CHANGES HERE. This schema version is locked.
danielebarchiesi@0 101 */
danielebarchiesi@0 102 function ctools_schema_1() {
danielebarchiesi@0 103 $schema['ctools_object_cache'] = array(
danielebarchiesi@0 104 'description' => t('A special cache used to store objects that are being edited; it serves to save state in an ordinarily stateless environment.'),
danielebarchiesi@0 105 'fields' => array(
danielebarchiesi@0 106 'sid' => array(
danielebarchiesi@0 107 'type' => 'varchar',
danielebarchiesi@0 108 'length' => '64',
danielebarchiesi@0 109 'not null' => TRUE,
danielebarchiesi@0 110 'description' => 'The session ID this cache object belongs to.',
danielebarchiesi@0 111 ),
danielebarchiesi@0 112 'name' => array(
danielebarchiesi@0 113 'type' => 'varchar',
danielebarchiesi@0 114 'length' => '32',
danielebarchiesi@0 115 'not null' => TRUE,
danielebarchiesi@0 116 'description' => 'The name of the object this cache is attached to.',
danielebarchiesi@0 117 ),
danielebarchiesi@0 118 'obj' => array(
danielebarchiesi@0 119 'type' => 'varchar',
danielebarchiesi@0 120 'length' => '32',
danielebarchiesi@0 121 'not null' => TRUE,
danielebarchiesi@0 122 'description' => 'The type of the object this cache is attached to; this essentially represents the owner so that several sub-systems can use this cache.',
danielebarchiesi@0 123 ),
danielebarchiesi@0 124 'updated' => array(
danielebarchiesi@0 125 'type' => 'int',
danielebarchiesi@0 126 'unsigned' => TRUE,
danielebarchiesi@0 127 'not null' => TRUE,
danielebarchiesi@0 128 'default' => 0,
danielebarchiesi@0 129 'description' => 'The time this cache was created or updated.',
danielebarchiesi@0 130 ),
danielebarchiesi@0 131 'data' => array(
danielebarchiesi@0 132 'type' => 'text',
danielebarchiesi@0 133 'size' => 'big',
danielebarchiesi@0 134 'description' => 'Serialized data being stored.',
danielebarchiesi@0 135 'serialize' => TRUE,
danielebarchiesi@0 136 ),
danielebarchiesi@0 137 ),
danielebarchiesi@0 138 'primary key' => array('sid', 'obj', 'name'),
danielebarchiesi@0 139 'indexes' => array('updated' => array('updated')),
danielebarchiesi@0 140 );
danielebarchiesi@0 141 return $schema;
danielebarchiesi@0 142 }
danielebarchiesi@0 143
danielebarchiesi@0 144 /**
danielebarchiesi@0 145 * Enlarge the ctools_object_cache.name column to prevent truncation and weird
danielebarchiesi@0 146 * errors.
danielebarchiesi@0 147 */
danielebarchiesi@0 148 function ctools_update_6001() {
danielebarchiesi@0 149 // Perform updates like this to reduce code duplication.
danielebarchiesi@0 150 $schema = ctools_schema_2();
danielebarchiesi@0 151
danielebarchiesi@0 152 db_change_field('ctools_object_cache', 'name', 'name', $schema['ctools_object_cache']['fields']['name']);
danielebarchiesi@0 153 }
danielebarchiesi@0 154
danielebarchiesi@0 155 /**
danielebarchiesi@0 156 * Add the new css cache table.
danielebarchiesi@0 157 */
danielebarchiesi@0 158 function ctools_update_6002() {
danielebarchiesi@0 159 // Schema 2 is locked and should not be changed.
danielebarchiesi@0 160 $schema = ctools_schema_2();
danielebarchiesi@0 161
danielebarchiesi@0 162 db_create_table('ctools_css_cache', $schema['ctools_css_cache']);
danielebarchiesi@0 163 }
danielebarchiesi@0 164
danielebarchiesi@0 165 /**
danielebarchiesi@0 166 * Take over for the panels_views module if it was on.
danielebarchiesi@0 167 */
danielebarchiesi@0 168 function ctools_update_6003() {
danielebarchiesi@0 169 $result = db_query('SELECT status FROM {system} WHERE name = :name', array(':name' => 'panels_views'))->fetchField();
danielebarchiesi@0 170 if ($result) {
danielebarchiesi@0 171 db_delete('system')->condition('name', 'panels_views')->execute();
danielebarchiesi@0 172 module_enable(array('views_content'), TRUE);
danielebarchiesi@0 173 }
danielebarchiesi@0 174 }
danielebarchiesi@0 175
danielebarchiesi@0 176 /**
danielebarchiesi@0 177 * Add primary key to the ctools_object_cache table.
danielebarchiesi@0 178 */
danielebarchiesi@0 179 function ctools_update_6004() {
danielebarchiesi@0 180 db_add_primary_key('ctools_object_cache', array('sid', 'obj', 'name'));
danielebarchiesi@0 181 db_drop_index('ctools_object_cache', 'sid_obj_name');
danielebarchiesi@0 182 }
danielebarchiesi@0 183
danielebarchiesi@0 184 /**
danielebarchiesi@0 185 * Removed update.
danielebarchiesi@0 186 */
danielebarchiesi@0 187 function ctools_update_6005() {
danielebarchiesi@0 188 return array();
danielebarchiesi@0 189 }
danielebarchiesi@0 190
danielebarchiesi@0 191 /**
danielebarchiesi@0 192 * ctools_custom_content table was originally here, but is now moved to
danielebarchiesi@0 193 * its own module.
danielebarchiesi@0 194 */
danielebarchiesi@0 195 function ctools_update_6007() {
danielebarchiesi@0 196 $ret = array();
danielebarchiesi@0 197 if (db_table_exists('ctools_custom_content')) {
danielebarchiesi@0 198 // Enable the module to make everything as seamless as possible.
danielebarchiesi@0 199 module_enable(array('ctools_custom_content'), TRUE);
danielebarchiesi@0 200 }
danielebarchiesi@0 201
danielebarchiesi@0 202 return $ret;
danielebarchiesi@0 203 }
danielebarchiesi@0 204
danielebarchiesi@0 205 /**
danielebarchiesi@0 206 * ctools_object_cache needs to be defined as a blob.
danielebarchiesi@0 207 */
danielebarchiesi@0 208 function ctools_update_6008() {
danielebarchiesi@0 209 db_delete('ctools_object_cache')
danielebarchiesi@0 210 ->execute();
danielebarchiesi@0 211
danielebarchiesi@0 212 db_change_field('ctools_object_cache', 'data', 'data', array(
danielebarchiesi@0 213 'type' => 'blob',
danielebarchiesi@0 214 'size' => 'big',
danielebarchiesi@0 215 'description' => 'Serialized data being stored.',
danielebarchiesi@0 216 'serialize' => TRUE,
danielebarchiesi@0 217 )
danielebarchiesi@0 218 );
danielebarchiesi@0 219 }