Upgraded drupal core with security updates
[yaffs-website] / web / core / modules / content_moderation / src / Permissions.php
1 <?php
2
3 namespace Drupal\content_moderation;
4
5 use Drupal\Core\StringTranslation\StringTranslationTrait;
6 use Drupal\workflows\Entity\Workflow;
7
8 /**
9  * Defines a class for dynamic permissions based on transitions.
10  */
11 class Permissions {
12
13   use StringTranslationTrait;
14
15   /**
16    * Returns an array of transition permissions.
17    *
18    * @return array
19    *   The transition permissions.
20    */
21   public function transitionPermissions() {
22     $permissions = [];
23     /** @var \Drupal\workflows\WorkflowInterface $workflow */
24     foreach (Workflow::loadMultipleByType('content_moderation') as $id => $workflow) {
25       foreach ($workflow->getTransitions() as $transition) {
26         $permissions['use ' . $workflow->id() . ' transition ' . $transition->id()] = [
27           'title' => $this->t('Use %transition transition from %workflow workflow.', [
28             '%transition' => $transition->label(),
29             '%workflow' => $workflow->label(),
30           ]),
31         ];
32       }
33     }
34
35     return $permissions;
36   }
37
38 }