Contains \Drupal\filter\Access\FilterAccessCheck.
<?php
/**
* @file
* Contains \Drupal\filter\Access\FilterAccessCheck.
*/
namespace Drupal\filter\Access;
use Drupal\Core\Access\AccessCheckInterface;
use Symfony\Component\Routing\Route;
use Symfony\Component\HttpFoundation\Request;
/**
* Checks access for text formats.
*/
class FilterAccessCheck implements AccessCheckInterface {
/**
* {@inheritdoc}
*/
public function applies(Route $route) {
return array_key_exists('_filter_access', $route
->getRequirements());
}
/**
* {@inheritdoc}
*/
public function access(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()) {
return TRUE;
}
// 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);
}
}
}
Name | Description |
---|---|
FilterAccessCheck | Checks access for text formats. |