function media_entity_pinterest_install in Media entity Pinterest 8.2
Same name and namespace in other branches
- 8 media_entity_pinterest.install \media_entity_pinterest_install()
Implements hook_install().
File
- ./
media_entity_pinterest.install, line 13 - Install, uninstall and update hooks for Media entity Pinterest module.
Code
function media_entity_pinterest_install() {
$source = drupal_get_path('module', 'media_entity_pinterest') . '/images/icons';
$destination = \Drupal::config('media.settings')
->get('icon_base_uri');
\Drupal::service('file_system')
->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
$files = \Drupal::service('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)) {
\Drupal::service('file_system')
->copy($file->uri, $destination, FileSystemInterface::EXISTS_ERROR);
}
}
}