5 * Install, uninstall and update hooks for Media entity Instagram module.
9 * Implements hook_install().
11 function media_entity_instagram_install() {
12 $source = drupal_get_path('module', 'media_entity_instagram') . '/images/icons';
13 $destination = \Drupal::config('media.settings')->get('icon_base_uri');
14 file_prepare_directory($destination, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
16 $files = file_scan_directory($source, '/.*\.(svg|png|jpg|jpeg|gif)$/');
17 foreach ($files as $file) {
18 // When reinstalling we don't want to copy the icons when
19 // they already exist. The icons could be replaced (by a contrib module or
20 // manually), so we don't want to replace the existing files. Removing the
21 // files when we uninstall could also be a problem if the files are
22 // referenced somewhere else. Since showing an error that it was not
23 // possible to copy the files is also confusing, we silently do nothing.
24 if (!file_exists($destination . DIRECTORY_SEPARATOR . $file->filename)) {
25 file_unmanaged_copy($file->uri, $destination, FILE_EXISTS_ERROR);