media.install
Same filename and directory in other branches
Install, uninstall and update hooks for Media module.
File
-
core/
modules/ media/ media.install
View source
<?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\user\RoleInterface;
/**
* Implements hook_install().
*/
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;
}
Functions
| Title | Deprecated | Summary |
|---|---|---|
| media_install | Implements hook_install(). | |
| media_update_last_removed | Implements hook_update_last_removed(). |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.