diff --git a/core/modules/field/field.install b/core/modules/field/field.install index 663ae69..f35e929 100644 --- a/core/modules/field/field.install +++ b/core/modules/field/field.install @@ -484,4 +484,3 @@ function field_update_8003() { * @} End of "addtogroup updates-7.x-to-8.x". * The next series of updates should start at 9000. */ - diff --git a/core/modules/file/file.install b/core/modules/file/file.install index 3ca855e..2327bb3 100644 --- a/core/modules/file/file.install +++ b/core/modules/file/file.install @@ -259,32 +259,3 @@ function file_update_8001() { ); db_change_field('file_usage', 'id', 'id', $spec); } - -/** -* Convert image field's default image configuration to the new format. -*/ -function file_update_8002() { - if (module_exists('field_sql_storage')) { - $fields = field_read_fields(array('type' => 'image'), array('include_deleted' => TRUE, 'include_inactive' => TRUE)); - foreach ($fields as $field) { - if (!empty($field['settings']['default_image'])) { - $field['settings']['default_image'] = array($field['settings']['default_image']); - } - else { - $field['settings']['default_image'] = array(); - } - field_update_field($field); - - $instances = field_read_instances(array('field_name' => $field['field_name'])); - foreach ($instances as $instance) { - if (!empty($instance['settings']['default_image'])) { - $instance['settings']['default_image'] = array($instance['settings']['default_image']); - } - else { - $instance['settings']['default_image'] = array(); - } - field_update_instance($instance); - } - } - } -} diff --git a/core/modules/file/file.module b/core/modules/file/file.module index 3fcd034..dafbb9a 100644 --- a/core/modules/file/file.module +++ b/core/modules/file/file.module @@ -1146,6 +1146,7 @@ function file_managed_file_submit($form, &$form_state) { } else { $remove_fids = $fids; + $fids = array(); } foreach ($remove_fids as $fid) { diff --git a/core/modules/image/image.install b/core/modules/image/image.install index e4e77d8..4079b32 100644 --- a/core/modules/image/image.install +++ b/core/modules/image/image.install @@ -138,6 +138,18 @@ function _image_update_get_style_with_effects(array $style) { } /** + * Implements hook_update_dependencies(). + */ +function image_update_dependencies() { + // Convert the format of the 'default_image' setting after fields and + // instances have been moved to the config system. + $dependencies['image'][8002] = array( + 'field' => 8003, + ); + return $dependencies; +} + +/** * Convert existing image styles to the new config system. */ function image_update_8000() { @@ -162,19 +174,60 @@ function image_update_8000() { /** * Remove the {image_styles} and {image_effects} tables. - */ + * function image_update_8001() { db_drop_table('image_styles'); db_drop_table('image_effects'); -} +}*/ /** * Moves image module settings from variable to config. * * @ingroup config_upgrade */ -function image_update_8002() { +function image_update_8001() { + db_drop_table('image_styles'); + db_drop_table('image_effects'); update_variables_to_config('image.settings', array( 'image_style_preview_image' => 'preview_image', )); } + + +/** + * Convert image field's default image configuration to the new format. + */ +function image_update_8002() { + $field_uuids = array(); + + foreach (config_get_storage_names_with_prefix('field.field.') as $config_name) { + $field_config = config($config_name); + if ($field_config->get('type') == 'image') { + $field_uuids[] = $field_config->get('uuid'); + $settings = $field_config->get('settings'); + if (!empty($settings['default_image'])) { + $settings['default_image'] = array($settings['default_image']); + } + else { + $settings['default_image'] = array(); + } + $field_config->set('settings', $settings); + $field_config->save(); + } + } + + foreach (config_get_storage_names_with_prefix('field.instance.') as $config_name) { + $instance_config = config($config_name); + if (in_array($instance_config->get('field_uuid'), $field_uuids)) { + $settings = $instance_config->get('settings'); + if (!empty($settings['default_image'])) { + $settings['default_image'] = array($settings['default_image']); + } + else { + $settings['default_image'] = array(); + } + $instance_config->set('settings', $settings); + $instance_config->save(); + } + } +}