function field_test_field_attach_rename_bundle in Drupal 7
Implements hook_field_attach_rename_bundle().
File
- modules/
field/ tests/ field_test.storage.inc, line 325 - Defines a field storage backend.
Code
function field_test_field_attach_rename_bundle($bundle_old, $bundle_new) {
$data = _field_test_storage_data();
// We need to account for deleted or inactive fields and instances.
$instances = field_read_instances(array(
'bundle' => $bundle_new,
), array(
'include_deleted' => TRUE,
'include_inactive' => TRUE,
));
foreach ($instances as $field_name => $instance) {
$field = field_info_field_by_id($instance['field_id']);
if ($field['storage']['type'] == 'field_test_storage') {
$field_data =& $data[$field['id']];
foreach (array(
'current',
'revisions',
) as $sub_table) {
foreach ($field_data[$sub_table] as &$row) {
if ($row->bundle == $bundle_old) {
$row->bundle = $bundle_new;
}
}
}
}
}
_field_test_storage_data($data);
}