<?php/**
* @file
* Contains \Drupal\filter\Access\FilterAccessCheck.
*/namespaceDrupal\filter\Access;
useDrupal\Core\Access\AccessCheckInterface;
useSymfony\Component\Routing\Route;
useSymfony\Component\HttpFoundation\Request;
/**
* Checks access for text formats.
*/class FilterAccessCheckimplements AccessCheckInterface {
/**
* {@inheritdoc}
*/
public functionapplies(Route $route) {
returnarray_key_exists('_filter_access', $route
->getRequirements());
}
/**
* {@inheritdoc}
*/
public functionaccess(Route $route, Request $request) {
if ($format = $request->attributes
->get('filter_format')) {
// Handle special cases up front. All users have access to the fallback
// format.if ($format->format == filter_fallback_format()) {
returnTRUE;
}
// Check the permission if one exists; otherwise, we have a non-existent
// format so we return FALSE.$permission = filter_permission_name($format);
return !empty($permission) && user_access($permission);
}
}
}