Issue #2415757 by chintan.vyas: Remove all uses of file_get_mimetype

8.0.x
Alex Pott 2015-02-03 10:45:22 +00:00
parent 61cb3e3928
commit 923527b7f4
3 changed files with 19 additions and 7 deletions

View File

@ -756,7 +756,7 @@ function file_save_upload($form_field_name, $validators = array(), $destination
'uri' => $file_info->getRealPath(),
'filesize' => $file_info->getSize(),
);
$values['filemime'] = file_get_mimetype($values['filename']);
$values['filemime'] = \Drupal::service('file.mime_type.guesser')->guess($values['filename']);
$file = entity_create('file', $values);
$extensions = '';

View File

@ -185,7 +185,7 @@ class File extends ContentEntityBase implements FileInterface {
// Automatically detect filemime if not set.
if (!isset($values['filemime']) && isset($values['uri'])) {
$values['filemime'] = file_get_mimetype($values['uri']);
$values['filemime'] = \Drupal::service('file.mime_type.guesser')->guess($values['uri']);
}
}

View File

@ -12,6 +12,7 @@ use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Render\Element;
use Drupal\Core\StreamWrapper\PublicStream;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Drupal\Core\Cache\Cache;
use Drupal\Core\Config\ConfigFactoryInterface;
@ -37,6 +38,13 @@ class ThemeSettingsForm extends ConfigFormBase {
*/
protected $themeHandler;
/**
* The MIME type guesser.
*
* @var \Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface
*/
protected $mimeTypeGuesser;
/**
* An array of configuration names that should be editable.
*
@ -49,16 +57,19 @@ class ThemeSettingsForm extends ConfigFormBase {
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The factory for configuration objects.
* @param \Drupal\Core\Extension\ModuleHandlerInterface
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler instance to use.
* @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler
* The theme handler.
* The theme handler.
* @param \Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface $mime_type_guesser
* The MIME type guesser instance to use.
*/
public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler) {
public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler, MimeTypeGuesserInterface $mime_type_guesser) {
parent::__construct($config_factory);
$this->moduleHandler = $module_handler;
$this->themeHandler = $theme_handler;
$this->mimeTypeGuesser = $mime_type_guesser;
}
/**
@ -68,7 +79,8 @@ class ThemeSettingsForm extends ConfigFormBase {
return new static(
$container->get('config.factory'),
$container->get('module_handler'),
$container->get('theme_handler')
$container->get('theme_handler'),
$container->get('file.mime_type.guesser')
);
}
@ -446,7 +458,7 @@ class ThemeSettingsForm extends ConfigFormBase {
}
if (empty($values['default_favicon']) && !empty($values['favicon_path'])) {
$values['favicon_mimetype'] = file_get_mimetype($values['favicon_path']);
$values['favicon_mimetype'] = $this->mimeTypeGuesser->guess($values['favicon_path']);
}
}