| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Install file providing corresponding entity reference schema.
 
-  */
 
- /**
 
-  * Implements hook_schema().
 
-  */
 
- function cer_schema() {
 
-   $schema['cer'] = array(
 
-     'description' => t('Saves the content types and entity reference fields for which the corresponding entity reference is enabled'),
 
-     'fields' => array(
 
-       'entity_types_content_fields' => array('type' => 'varchar', 'length' => 200, 'not null' => TRUE, 'default' => ''),
 
-       'enabled' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
 
-     ),
 
-     'primary key' => array('entity_types_content_fields'),
 
-     'export' => array(
 
-       'key' => 'entity_types_content_fields',
 
-       'status' => 'enabled',
 
-       'primary key' => 'entity_types_content_fields',
 
-       'key name' => 'Corresponding entity reference',
 
-       'identifier' => 'cnr_obj',
 
-       'api' => array(
 
-         'api' => 'default_cer_presets',
 
-         'owner' => 'cer',
 
-         'minimum_version' => 1,
 
-         'current_version' => 1,
 
-       ),
 
-     ),
 
-   );
 
-   return $schema;
 
- }
 
- /**
 
-  * Rename table to shorten module name.
 
-  */
 
- function cer_update_7001() {
 
-   db_rename_table('corresponding_entity_references', 'cer');
 
- }
 
- /**
 
-  * Disable presets which refer to fields that don't exist. (Issue #2122531)
 
-  */
 
- function cer_update_7002() {
 
-   $presets = db_query('SELECT entity_types_content_fields FROM {cer} WHERE 1')->fetchCol();
 
-   foreach ($presets as $preset) {
 
-     $keys = explode('*', $preset);
 
-     
 
-     $left = field_info_instance($keys[0], $keys[2], $keys[1]);
 
-     $right = field_info_instance($keys[3], $keys[5], $keys[4]);
 
-     if (empty($left) || empty($right)) {
 
-       db_query('UPDATE {cer} SET enabled = 0 WHERE entity_types_content_fields = :preset', array(':preset' => $preset));
 
-       drupal_set_message(t('CER preset %preset was disabled because it uses non-existent fields.', array('%preset' => $preset)), 'warning');
 
-     }
 
-   }
 
- }
 
 
  |