TYPO3  7.6
Be/Security/IfHasRoleViewHelper.php
Go to the documentation of this file.
1 <?php
2 namespace TYPO3\CMS\Fluid\ViewHelpers\Be\Security;
3 
4 /* *
5  * This script is backported from the TYPO3 Flow package "TYPO3.Fluid". *
6  * *
7  * It is free software; you can redistribute it and/or modify it under *
8  * the terms of the GNU Lesser General Public License, either version 3 *
9  * of the License, or (at your option) any later version. *
10  * *
11  * *
12  * This script is distributed in the hope that it will be useful, but *
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
14  * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser *
15  * General Public License for more details. *
16  * *
17  * You should have received a copy of the GNU Lesser General Public *
18  * License along with the script. *
19  * If not, see http://www.gnu.org/licenses/lgpl.html *
20  * *
21  * The TYPO3 project - inspiring people to share! *
22  * */
64 {
72  public function initializeArguments()
73  {
74  $this->registerArgument('role', 'string', 'The usergroup (either the usergroup uid or its title).');
75  }
76 
83  protected static function evaluateCondition($arguments = null)
84  {
85  $role = $arguments['role'];
86  if (!is_array($GLOBALS['BE_USER']->userGroups)) {
87  return false;
88  }
89  if (is_numeric($role)) {
90  foreach ($GLOBALS['BE_USER']->userGroups as $userGroup) {
91  if ((int)$userGroup['uid'] === (int)$role) {
92  return true;
93  }
94  }
95  } else {
96  foreach ($GLOBALS['BE_USER']->userGroups as $userGroup) {
97  if ($userGroup['title'] === $role) {
98  return true;
99  }
100  }
101  }
102  return false;
103  }
104 }