Security update for Core, with self-updated composer
[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  * @internal
12  */
13 class Permissions {
14
15   use StringTranslationTrait;
16
17   /**
18    * Returns an array of transition permissions.
19    *
20    * @return array
21    *   The transition permissions.
22    */
23   public function transitionPermissions() {
24     $permissions = [];
25     /** @var \Drupal\workflows\WorkflowInterface $workflow */
26     foreach (Workflow::loadMultipleByType('content_moderation') as $id => $workflow) {
27       foreach ($workflow->getTypePlugin()->getTransitions() as $transition) {
28         $permissions['use ' . $workflow->id() . ' transition ' . $transition->id()] = [
29           'title' => $this->t('%workflow workflow: Use %transition transition.', [
30             '%workflow' => $workflow->label(),
31             '%transition' => $transition->label(),
32           ]),
33         ];
34       }
35     }
36
37     return $permissions;
38   }
39
40 }