‪TYPO3CMS  ‪main
Permission.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
21 
25 final class ‪Permission extends ‪BitSet
26 {
30  public const ‪NOTHING = 0;
31 
35  public const ‪PAGE_SHOW = 1;
36 
40  public const ‪PAGE_EDIT = 2;
41 
45  public const ‪PAGE_DELETE = 4;
46 
50  public const ‪PAGE_NEW = 8;
51 
55  public const ‪CONTENT_EDIT = 16;
56 
60  public const ‪ALL = 31;
61 
68  public static function ‪getMap(): array
69  {
70  return [
71  'show' => static::PAGE_SHOW,
72  // 1st bit
73  'edit' => static::PAGE_EDIT,
74  // 2nd bit
75  'delete' => static::PAGE_DELETE,
76  // 3rd bit
77  'new' => static::PAGE_NEW,
78  // 4th bit
79  'editcontent' => static::CONTENT_EDIT,
80  ];
81  }
82 
83  public function ‪isGranted(int $permission): bool
84  {
85  return $this->get($permission);
86  }
87 
88  public function ‪nothingIsGranted(): bool
89  {
90  return $this->set === ‪self::NOTHING;
91  }
92 
93  public function ‪showPagePermissionIsGranted(): bool
94  {
95  return $this->get(‪self::PAGE_SHOW);
96  }
97 
98  public function ‪editPagePermissionIsGranted(): bool
99  {
100  return $this->get(‪self::PAGE_EDIT);
101  }
102 
103  public function ‪createPagePermissionIsGranted(): bool
104  {
105  return $this->get(‪self::PAGE_NEW);
106  }
107 
108  public function ‪deletePagePermissionIsGranted(): bool
109  {
110  return $this->get(‪self::PAGE_DELETE);
111  }
112 
113  public function ‪editContentPermissionIsGranted(): bool
114  {
115  return $this->get(‪self::CONTENT_EDIT);
116  }
117 }
‪TYPO3\CMS\Core\Type\Bitmask\Permission\deletePagePermissionIsGranted
‪deletePagePermissionIsGranted()
Definition: Permission.php:108
‪TYPO3\CMS\Core\Type\Bitmask\Permission\editPagePermissionIsGranted
‪editPagePermissionIsGranted()
Definition: Permission.php:98
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_NEW
‪const PAGE_NEW
Definition: Permission.php:50
‪TYPO3\CMS\Core\Type\Bitmask\Permission\isGranted
‪isGranted(int $permission)
Definition: Permission.php:83
‪TYPO3\CMS\Core\Type\Bitmask\Permission\nothingIsGranted
‪nothingIsGranted()
Definition: Permission.php:88
‪TYPO3\CMS\Core\Type\Bitmask\Permission\NOTHING
‪const NOTHING
Definition: Permission.php:30
‪TYPO3\CMS\Core\Type\Bitmask\Permission\showPagePermissionIsGranted
‪showPagePermissionIsGranted()
Definition: Permission.php:93
‪TYPO3\CMS\Core\Type\Bitmask\Permission\createPagePermissionIsGranted
‪createPagePermissionIsGranted()
Definition: Permission.php:103
‪TYPO3\CMS\Core\Type\Bitmask\Permission
Definition: Permission.php:26
‪TYPO3\CMS\Core\Type\Bitmask\Permission\editContentPermissionIsGranted
‪editContentPermissionIsGranted()
Definition: Permission.php:113
‪TYPO3\CMS\Core\Type\BitSet
Definition: BitSet.php:66
‪TYPO3\CMS\Core\Type\Bitmask\Permission\ALL
‪const ALL
Definition: Permission.php:60
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW
‪const PAGE_SHOW
Definition: Permission.php:35
‪TYPO3\CMS\Core\Type\Bitmask\Permission\CONTENT_EDIT
‪const CONTENT_EDIT
Definition: Permission.php:55
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_EDIT
‪const PAGE_EDIT
Definition: Permission.php:40
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_DELETE
‪const PAGE_DELETE
Definition: Permission.php:45
‪TYPO3\CMS\Core\Type\Bitmask
Definition: BackendGroupMountOption.php:18
‪TYPO3\CMS\Core\Type\Bitmask\Permission\getMap
‪static getMap()
Definition: Permission.php:68