summaryrefslogtreecommitdiff
path: root/modules/field/field.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/field/field.module')
-rw-r--r--modules/field/field.module47
1 files changed, 29 insertions, 18 deletions
diff --git a/modules/field/field.module b/modules/field/field.module
index 75dc3d431..4d031e935 100644
--- a/modules/field/field.module
+++ b/modules/field/field.module
@@ -219,6 +219,10 @@ function field_modules_disabled($modules) {
->fields(array('active' => 0))
->condition('module', $module)
->execute();
+ db_update('field_config')
+ ->fields(array('storage_active' => 0))
+ ->condition('storage_module', $module)
+ ->execute();
db_update('field_config_instance')
->fields(array('widget_active' => 0))
->condition('widget_module', $module)
@@ -234,25 +238,32 @@ function field_modules_disabled($modules) {
* The name of the module to update on.
*/
function field_associate_fields($module) {
- $module_fields = module_invoke($module, 'field_info');
- if ($module_fields) {
- foreach ($module_fields as $name => $field_info) {
- watchdog('field', 'Updating field type %type with module %module.', array('%type' => $name, '%module' => $module));
- db_update('field_config')
- ->fields(array('module' => $module, 'active' => 1))
- ->condition('type', $name)
- ->execute();
- }
+ // Associate field types.
+ $field_types =(array) module_invoke($module, 'field_info');
+ foreach ($field_types as $name => $field_info) {
+ watchdog('field', 'Updating field type %type with module %module.', array('%type' => $name, '%module' => $module));
+ db_update('field_config')
+ ->fields(array('module' => $module, 'active' => 1))
+ ->condition('type', $name)
+ ->execute();
}
- $module_widgets = module_invoke($module, 'widget_info');
- if ($module_widgets) {
- foreach ($module_widgets as $name => $widget_info) {
- watchdog('field', 'Updating widget type %type with module %module.', array('%type' => $name, '%module' => $module));
- db_update('field_config_instance')
- ->fields(array('widget_module' => $module, 'widget_active' => 1))
- ->condition('widget_type', $name)
- ->execute();
- }
+ // Associate storage backends.
+ $storage_types = (array) module_invoke($module, 'field_storage_info');
+ foreach ($storage_types as $name => $storage_info) {
+ watchdog('field', 'Updating field storage %type with module %module.', array('%type' => $name, '%module' => $module));
+ db_update('field_config')
+ ->fields(array('storage_module' => $module, 'storage_active' => 1))
+ ->condition('storage_type', $name)
+ ->execute();
+ }
+ // Associate widget types.
+ $widget_types = (array) module_invoke($module, 'field_widget_info');
+ foreach ($widget_types as $name => $widget_info) {
+ watchdog('field', 'Updating widget type %type with module %module.', array('%type' => $name, '%module' => $module));
+ db_update('field_config_instance')
+ ->fields(array('widget_module' => $module, 'widget_active' => 1))
+ ->condition('widget_type', $name)
+ ->execute();
}
}