diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/field/field.api.php | 8 | ||||
-rw-r--r-- | modules/field/field.attach.inc | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/modules/field/field.api.php b/modules/field/field.api.php index 2a1c4197b..f2da46c45 100644 --- a/modules/field/field.api.php +++ b/modules/field/field.api.php @@ -614,9 +614,13 @@ function hook_field_rename_bundle($bundle_old, $bundle_new) { * * This hook is invoked after the field module has performed the operation. * - * See field_attach_delete_bundle() for details and arguments. + * @param $bundle + * The bundle that was just deleted. + * @param $instances + * An array of all instances that existed for $bundle before it was + * deleted. */ -function hook_field_attach_delete_bundle($bundle) { +function hook_field_attach_delete_bundle($bundle, $instances) { } /** diff --git a/modules/field/field.attach.inc b/modules/field/field.attach.inc index 1a67b4754..acc541f83 100644 --- a/modules/field/field.attach.inc +++ b/modules/field/field.attach.inc @@ -729,17 +729,17 @@ function _field_attach_rename_bundle($bundle_old, $bundle_new) { * The bundle to delete. */ function _field_attach_delete_bundle($bundle) { - // Let other modules act on deleting the bundle - foreach (module_implements('field_attach_delete_bundle') as $module) { - $function = $module . '_field_attach_delete_bundle'; - $function($bundle); - } - // Delete the instances themseves $instances = field_info_instances($bundle); foreach ($instances as $instance) { field_delete_instance($instance['field_name'], $bundle); } + + // Let other modules act on deleting the bundle + foreach (module_implements('field_attach_delete_bundle') as $module) { + $function = $module . '_field_attach_delete_bundle'; + $function($bundle, $instances); + } } /** |