function cer_update_7002 in Corresponding Entity References 7.2
Disable presets which refer to fields that don't exist. (Issue #2122531)
File
- ./
cer.install, line 46 - Install file providing corresponding entity reference schema.
Code
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');
}
}
}