media_entity_image.install in Media entity image 8
Install, uninstall and update hooks for Media entity image module.
File
media_entity_image.installView source
<?php
use Drupal\Core\File\FileSystemInterface;
/**
* @file
* Install, uninstall and update hooks for Media entity image module.
*/
/**
* Implements hook_install().
*/
function media_entity_image_install() {
$file_system = \Drupal::service('file_system');
$source = drupal_get_path('module', 'media_entity_image') . '/images/icons';
$destination = \Drupal::config('media_entity.settings')
->get('icon_base');
$file_system
->prepareDirectory($destination, \Drupal\Core\File\FileSystemInterface::CREATE_DIRECTORY | \Drupal\Core\File\FileSystemInterface::MODIFY_PERMISSIONS);
$files = $file_system
->scanDirectory($source, '/.*\\.(svg|png|jpg|jpeg|gif)$/');
foreach ($files as $file) {
// When reinstalling the media module we don't want to copy the icons when
// they already exist. The icons could be replaced (by a contrib module or
// manually), so we don't want to replace the existing files. Removing the
// files when we uninstall could also be a problem if the files are
// referenced somewhere else. Since showing an error that it was not
// possible to copy the files is also confusing, we silently do nothing.
if (!file_exists($destination . DIRECTORY_SEPARATOR . $file->filename)) {
$file_system
->copy($file->uri, $destination, \Drupal\Core\File\FileSystemInterface::EXISTS_ERROR);
}
}
}
/**
* Implements hook_requirements().
*/
function media_entity_image_requirements() {
$requirements = [];
if (version_compare(\Drupal::VERSION, '8.4.0', '>=') && \Drupal::moduleHandler()
->moduleExists('media')) {
$requirements['media_entity_image: Not compatible with core Media'] = [
'title' => t('Core Media'),
'description' => t("Media Entity Image's functionality has been merged into the core Media module, so it cannot be installed alongside core Media."),
'severity' => REQUIREMENT_ERROR,
];
}
return $requirements;
}
Functions
Name | Description |
---|---|
media_entity_image_install | Implements hook_install(). |
media_entity_image_requirements | Implements hook_requirements(). |