You are here

public function FilterPermissions::permissions in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/filter/src/FilterPermissions.php \Drupal\filter\FilterPermissions::permissions()

Returns an array of filter permissions.

Return value

array

1 string reference to 'FilterPermissions::permissions'
filter.permissions.yml in core/modules/filter/filter.permissions.yml
core/modules/filter/filter.permissions.yml

File

core/modules/filter/src/FilterPermissions.php, line 51
Contains \Drupal\filter\FilterPermissions.

Class

FilterPermissions
Provides dynamic permissions of the filter module.

Namespace

Drupal\filter

Code

public function permissions() {
  $permissions = [];

  // Generate permissions for each text format. Warn the administrator that any
  // of them are potentially unsafe.

  /** @var \Drupal\filter\FilterFormatInterface[] $formats */
  $formats = $this->entityManager
    ->getStorage('filter_format')
    ->loadByProperties([
    'status' => TRUE,
  ]);
  uasort($formats, 'Drupal\\Core\\Config\\Entity\\ConfigEntityBase::sort');
  foreach ($formats as $format) {
    if ($permission = $format
      ->getPermissionName()) {
      $permissions[$permission] = [
        'title' => $this
          ->t('Use the <a href=":url">@label</a> text format', [
          ':url' => $format
            ->url(),
          '@label' => $format
            ->label(),
        ]),
        'description' => [
          '#prefix' => '<em>',
          '#markup' => $this
            ->t('Warning: This permission may have security implications depending on how the text format is configured.'),
          '#suffix' => '</em>',
        ],
      ];
    }
  }
  return $permissions;
}