Mercurial > hg > rr-repo
annotate sites/all/modules/bundle_inherit/bundle_inherit.install @ 9:830c812b520f
added smtp module
author | root <root@paio.local> |
---|---|
date | Mon, 28 Oct 2013 15:34:27 +0000 |
parents | ce11bbd8f642 |
children |
rev | line source |
---|---|
danielebarchiesi@4 | 1 <?php |
danielebarchiesi@4 | 2 /** |
danielebarchiesi@4 | 3 * @file |
danielebarchiesi@4 | 4 * Bundle Inherit module install file. |
danielebarchiesi@4 | 5 */ |
danielebarchiesi@4 | 6 |
danielebarchiesi@4 | 7 /** |
danielebarchiesi@4 | 8 * Implements hook_schema(). |
danielebarchiesi@4 | 9 */ |
danielebarchiesi@4 | 10 function bundle_inherit_schema() { |
danielebarchiesi@4 | 11 $schema['bundle_hierarchy'] = array( |
danielebarchiesi@4 | 12 'description' => 'Holds info about hierarchy relations between entity types.', |
danielebarchiesi@4 | 13 'fields' => array( |
danielebarchiesi@4 | 14 'entity_type' => array( |
danielebarchiesi@4 | 15 'description' => 'The entity type of the bundles.', |
danielebarchiesi@4 | 16 'type' => 'varchar', |
danielebarchiesi@4 | 17 'length' => '255', |
danielebarchiesi@4 | 18 'not null' => TRUE, |
danielebarchiesi@4 | 19 ), |
danielebarchiesi@4 | 20 'bundle' => array( |
danielebarchiesi@4 | 21 'description' => 'Child bundle name.', |
danielebarchiesi@4 | 22 'type' => 'varchar', |
danielebarchiesi@4 | 23 'length' => '255', |
danielebarchiesi@4 | 24 'not null' => TRUE, |
danielebarchiesi@4 | 25 ), |
danielebarchiesi@4 | 26 'bundle_parent' => array( |
danielebarchiesi@4 | 27 'description' => 'Parent bundle name.', |
danielebarchiesi@4 | 28 'type' => 'varchar', |
danielebarchiesi@4 | 29 'length' => '255', |
danielebarchiesi@4 | 30 'not null' => TRUE, |
danielebarchiesi@4 | 31 ), |
danielebarchiesi@4 | 32 ), |
danielebarchiesi@4 | 33 'primary key' => array('entity_type', 'bundle'), |
danielebarchiesi@4 | 34 'indexes' => array( |
danielebarchiesi@4 | 35 'parent' => array('entity_type', 'bundle_parent'), |
danielebarchiesi@4 | 36 ), |
danielebarchiesi@4 | 37 ); |
danielebarchiesi@4 | 38 |
danielebarchiesi@4 | 39 |
danielebarchiesi@4 | 40 return $schema; |
danielebarchiesi@4 | 41 } |
danielebarchiesi@4 | 42 |
danielebarchiesi@4 | 43 |
danielebarchiesi@4 | 44 /** |
danielebarchiesi@4 | 45 * Implements hook_uninstall(). |
danielebarchiesi@4 | 46 * |
danielebarchiesi@4 | 47 * We should remove 'locked' state from all inherited fields instances. |
danielebarchiesi@4 | 48 * |
danielebarchiesi@4 | 49 * @todo |
danielebarchiesi@4 | 50 * Maybe some better way to implement this function exists (talking about |
danielebarchiesi@4 | 51 * performance). But anyway we are getting info about instances from cache |
danielebarchiesi@4 | 52 * so I think that this implementation is more stable and logicaly loocking. |
danielebarchiesi@4 | 53 */ |
danielebarchiesi@4 | 54 function bundle_inherit_uninstall() { |
danielebarchiesi@4 | 55 $records = db_select('bundle_hierarchy', 'bh') |
danielebarchiesi@4 | 56 ->fields('bh') |
danielebarchiesi@4 | 57 ->execute(); |
danielebarchiesi@4 | 58 foreach ($records as $record) { |
danielebarchiesi@4 | 59 $instances = field_info_instances($record->entity_type, $record->bundle_parent); |
danielebarchiesi@4 | 60 foreach ($instances as $instance) { |
danielebarchiesi@4 | 61 $inherited_instance = field_info_instance($record->entity_type, $instance['field_name'], $record->bundle); |
danielebarchiesi@4 | 62 $inherited_instance['locked'] = FALSE; |
danielebarchiesi@4 | 63 field_update_instance($inherited_instance); |
danielebarchiesi@4 | 64 } |
danielebarchiesi@4 | 65 } |
danielebarchiesi@4 | 66 } |