0, 'optional' => 1, 'required' => 2]; $settings['title'] = $map[$field_settings['title']]; break; case 'filefield_widget': $settings['file_extensions'] = $widget_settings['file_extensions']; $settings['file_directory'] = $widget_settings['file_path']; $settings['description_field'] = $field_settings['description_field']; $settings['max_filesize'] = $this->convertSizeUnit($widget_settings['max_filesize_per_file']); break; case 'imagefield_widget': $settings['file_extensions'] = $widget_settings['file_extensions']; $settings['file_directory'] = $widget_settings['file_path']; $settings['max_filesize'] = $this->convertSizeUnit($widget_settings['max_filesize_per_file']); $settings['alt_field'] = $widget_settings['alt']; $settings['alt_field_required'] = $widget_settings['custom_alt']; $settings['title_field'] = $widget_settings['title']; $settings['title_field_required'] = $widget_settings['custom_title']; // With nothing entered for min or max resolution in Drupal 6, zero is // stored. For Drupal 8 this should be an empty string. $settings['max_resolution'] = !empty($widget_settings['max_resolution']) ? $widget_settings['max_resolution'] : ''; $settings['min_resolution'] = !empty($widget_settings['min_resolution']) ? $widget_settings['min_resolution'] : ''; break; } return $settings; } /** * Convert file size strings into their D8 format. * * D6 stores file size using a "K" for kilobytes and "M" for megabytes where * as D8 uses "KB" and "MB" respectively. * * @param string $size_string * The size string, eg 10M * * @return string * The D8 version of the size string. */ protected function convertSizeUnit($size_string) { $size_unit = substr($size_string, strlen($size_string) - 1); if ($size_unit == "M" || $size_unit == "K") { return $size_string . "B"; } return $size_string; } }