Initial Drupal 11 with DDEV setup
This commit is contained in:
56
web/core/modules/media/media.install
Normal file
56
web/core/modules/media/media.install
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Install, uninstall and update hooks for Media module.
|
||||
*/
|
||||
|
||||
use Drupal\Core\File\Exception\FileException;
|
||||
use Drupal\Core\File\FileExists;
|
||||
use Drupal\Core\File\FileSystemInterface;
|
||||
use Drupal\Core\Hook\Attribute\ProceduralHookScanStop;
|
||||
use Drupal\user\RoleInterface;
|
||||
|
||||
/**
|
||||
* Implements hook_install().
|
||||
*/
|
||||
#[ProceduralHookScanStop]
|
||||
function media_install(): void {
|
||||
$source = \Drupal::service('extension.list.module')->getPath('media') . '/images/icons';
|
||||
$destination = \Drupal::config('media.settings')->get('icon_base_uri');
|
||||
/** @var \Drupal\Core\File\FileSystemInterface $file_system */
|
||||
$file_system = \Drupal::service('file_system');
|
||||
$file_system->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | 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)) {
|
||||
try {
|
||||
$file_system->copy($file->uri, $destination, FileExists::Error);
|
||||
}
|
||||
catch (FileException) {
|
||||
// Ignore and continue.
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Grant the "view media" permission to all users by default.
|
||||
if (\Drupal::moduleHandler()->moduleExists('user')) {
|
||||
user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, ['view media']);
|
||||
user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, ['view media']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements hook_update_last_removed().
|
||||
*/
|
||||
function media_update_last_removed(): int {
|
||||
return 8700;
|
||||
}
|
||||
Reference in New Issue
Block a user