DevelGeneratePermissions.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace Drupal\devel_generate;
  3. use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
  4. use Symfony\Component\DependencyInjection\ContainerInterface;
  5. /**
  6. * Provides dynamic permissions of the filter module.
  7. */
  8. class DevelGeneratePermissions implements ContainerInjectionInterface {
  9. /**
  10. * The plugin manager.
  11. *
  12. * @var \Drupal\devel_generate\DevelGeneratePluginManager;
  13. */
  14. protected $develGeneratePluginManager;
  15. /**
  16. * Constructs a new DevelGeneratePermissions instance.
  17. *
  18. * @param \Drupal\devel_generate\DevelGeneratePluginManager $develGeneratePluginManager
  19. * The plugin manager.
  20. */
  21. public function __construct(DevelGeneratePluginManager $develGeneratePluginManager) {
  22. $this->develGeneratePluginManager = $develGeneratePluginManager;
  23. }
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public static function create(ContainerInterface $container) {
  28. return new static($container->get('plugin.manager.develgenerate'));
  29. }
  30. /*
  31. * A permissions callback.
  32. *
  33. * @see devel_generate.permissions.yml.
  34. *
  35. * @return array
  36. */
  37. function permissions() {
  38. $devel_generate_plugins = $this->develGeneratePluginManager->getDefinitions();
  39. foreach ($devel_generate_plugins as $plugin) {
  40. $permission = $plugin['permission'];
  41. $permissions[$permission] = array(
  42. 'title' => t($permission),
  43. );
  44. }
  45. // $permissions = array(
  46. // 'administer devel_generate' => array(
  47. // 'title' => t('Administer devel generate'),
  48. // ),
  49. // );
  50. return $permissions;
  51. }
  52. }