danielebarchiesi@0: t('CTools CSS Cache'), danielebarchiesi@0: 'severity' => REQUIREMENT_OK, danielebarchiesi@0: 'value' => t('Exists'), danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: $path = 'public://ctools/css'; danielebarchiesi@0: if (!file_prepare_directory($path, FILE_CREATE_DIRECTORY)) { danielebarchiesi@0: $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: $requirements['ctools_css_cache']['severity'] = REQUIREMENT_ERROR; danielebarchiesi@0: $requirements['ctools_css_cache']['value'] = t('Unable to create'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: if (!function_exists('error_get_last')) { danielebarchiesi@0: $requirements['ctools_php_52']['title'] = t('CTools PHP requirements'); danielebarchiesi@0: $requirements['ctools_php_52']['description'] = t('CTools requires certain features only available in PHP 5.2.0 or higher.'); danielebarchiesi@0: $requirements['ctools_php_52']['severity'] = REQUIREMENT_WARNING; danielebarchiesi@0: $requirements['ctools_php_52']['value'] = t('PHP !version', array('!version' => phpversion())); danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $requirements; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_schemea danielebarchiesi@0: */ danielebarchiesi@0: function ctools_schema() { danielebarchiesi@0: return ctools_schema_2(); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Version 2 of the CTools schema. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_schema_2() { danielebarchiesi@0: $schema = ctools_schema_1(); danielebarchiesi@0: danielebarchiesi@0: // update the 'name' field to be 128 bytes long: danielebarchiesi@0: $schema['ctools_object_cache']['fields']['name']['length'] = 128; danielebarchiesi@0: danielebarchiesi@0: // Update the 'data' field to be type 'blob'. danielebarchiesi@0: $schema['ctools_object_cache']['fields']['data'] = array( danielebarchiesi@0: 'type' => 'blob', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Serialized data being stored.', danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: // DO NOT MODIFY THIS TABLE -- this definition is used to create the table. danielebarchiesi@0: // Changes to this table must be made in schema_3 or higher. danielebarchiesi@0: $schema['ctools_css_cache'] = array( danielebarchiesi@0: 'description' => 'A special cache used to store CSS that must be non-volatile.', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'cid' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '128', danielebarchiesi@0: 'description' => 'The CSS ID this cache object belongs to.', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: 'filename' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '255', danielebarchiesi@0: 'description' => 'The filename this CSS is stored in.', danielebarchiesi@0: ), danielebarchiesi@0: 'css' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'CSS being stored.', danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: 'filter' => array( danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'size' => 'tiny', danielebarchiesi@0: 'description' => 'Whether or not this CSS needs to be filtered.', danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('cid'), danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: return $schema; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * CTools' initial schema; separated for the purposes of updates. danielebarchiesi@0: * danielebarchiesi@0: * DO NOT MAKE CHANGES HERE. This schema version is locked. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_schema_1() { danielebarchiesi@0: $schema['ctools_object_cache'] = array( danielebarchiesi@0: '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: 'fields' => array( danielebarchiesi@0: 'sid' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '64', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'description' => 'The session ID this cache object belongs to.', danielebarchiesi@0: ), danielebarchiesi@0: 'name' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '32', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'description' => 'The name of the object this cache is attached to.', danielebarchiesi@0: ), danielebarchiesi@0: 'obj' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => '32', danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: '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: ), danielebarchiesi@0: 'updated' => array( danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => 0, danielebarchiesi@0: 'description' => 'The time this cache was created or updated.', danielebarchiesi@0: ), danielebarchiesi@0: 'data' => array( danielebarchiesi@0: 'type' => 'text', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Serialized data being stored.', danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('sid', 'obj', 'name'), danielebarchiesi@0: 'indexes' => array('updated' => array('updated')), danielebarchiesi@0: ); danielebarchiesi@0: return $schema; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Enlarge the ctools_object_cache.name column to prevent truncation and weird danielebarchiesi@0: * errors. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6001() { danielebarchiesi@0: // Perform updates like this to reduce code duplication. danielebarchiesi@0: $schema = ctools_schema_2(); danielebarchiesi@0: danielebarchiesi@0: db_change_field('ctools_object_cache', 'name', 'name', $schema['ctools_object_cache']['fields']['name']); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Add the new css cache table. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6002() { danielebarchiesi@0: // Schema 2 is locked and should not be changed. danielebarchiesi@0: $schema = ctools_schema_2(); danielebarchiesi@0: danielebarchiesi@0: db_create_table('ctools_css_cache', $schema['ctools_css_cache']); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Take over for the panels_views module if it was on. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6003() { danielebarchiesi@0: $result = db_query('SELECT status FROM {system} WHERE name = :name', array(':name' => 'panels_views'))->fetchField(); danielebarchiesi@0: if ($result) { danielebarchiesi@0: db_delete('system')->condition('name', 'panels_views')->execute(); danielebarchiesi@0: module_enable(array('views_content'), TRUE); danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Add primary key to the ctools_object_cache table. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6004() { danielebarchiesi@0: db_add_primary_key('ctools_object_cache', array('sid', 'obj', 'name')); danielebarchiesi@0: db_drop_index('ctools_object_cache', 'sid_obj_name'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Removed update. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6005() { danielebarchiesi@0: return array(); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * ctools_custom_content table was originally here, but is now moved to danielebarchiesi@0: * its own module. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6007() { danielebarchiesi@0: $ret = array(); danielebarchiesi@0: if (db_table_exists('ctools_custom_content')) { danielebarchiesi@0: // Enable the module to make everything as seamless as possible. danielebarchiesi@0: module_enable(array('ctools_custom_content'), TRUE); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $ret; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * ctools_object_cache needs to be defined as a blob. danielebarchiesi@0: */ danielebarchiesi@0: function ctools_update_6008() { danielebarchiesi@0: db_delete('ctools_object_cache') danielebarchiesi@0: ->execute(); danielebarchiesi@0: danielebarchiesi@0: db_change_field('ctools_object_cache', 'data', 'data', array( danielebarchiesi@0: 'type' => 'blob', danielebarchiesi@0: 'size' => 'big', danielebarchiesi@0: 'description' => 'Serialized data being stored.', danielebarchiesi@0: 'serialize' => TRUE, danielebarchiesi@0: ) danielebarchiesi@0: ); danielebarchiesi@0: }