public function MediaLibraryEditorOpener::checkAccess in Drupal 9
Same name and namespace in other branches
- 8 core/modules/media_library/src/MediaLibraryEditorOpener.php \Drupal\media_library\MediaLibraryEditorOpener::checkAccess()
Checks media library access.
Parameters
\Drupal\media_library\MediaLibraryState $state: The media library.
\Drupal\Core\Session\AccountInterface $account: The user for which to check access.
Return value
\Drupal\Core\Access\AccessResultInterface The access result.
Overrides MediaLibraryOpenerInterface::checkAccess
See also
https://www.drupal.org/project/drupal/issues/3038254
File
- core/
modules/ media_library/ src/ MediaLibraryEditorOpener.php, line 49
Class
- MediaLibraryEditorOpener
- The media library opener for text editors.
Namespace
Drupal\media_libraryCode
public function checkAccess(MediaLibraryState $state, AccountInterface $account) {
$filter_format_id = $state
->getOpenerParameters()['filter_format_id'];
$filter_format = $this->filterStorage
->load($filter_format_id);
if (empty($filter_format)) {
return AccessResult::forbidden()
->addCacheTags([
'filter_format_list',
])
->setReason("The text format '{$filter_format_id}' could not be loaded.");
}
$filters = $filter_format
->filters();
return $filter_format
->access('use', $account, TRUE)
->andIf(AccessResult::allowedIf($filters
->has('media_embed') && $filters
->get('media_embed')->status === TRUE));
}