/**
  * Removes menu items from an array if the supplied user lacks permission.
  * @param User $user A user object
  * @param array $items A collection of menu items
  * @return array The filtered menu items
  */
 protected function filterItemPermissions($user, array $items)
 {
     if (!$user) {
         return $items;
     }
     $items = array_filter($items, function ($item) use($user) {
         if (!$item->permissions) {
             return true;
         }
         if ($user->hasAccess('superuser')) {
             return true;
         }
         return $user->hasAnyAccess($item->permissions);
     });
     return $items;
 }
Example #2
0
 /**
  * Removes settings items from an array if the supplied user lacks permission.
  * @param User $user A user object
  * @param array $items A collection of setting items
  * @return array The filtered settings items
  */
 protected function filterItemPermissions($user, array $items)
 {
     array_filter($items, function ($item) use($user) {
         if (!$item->permissions || !count($item->permissions)) {
             return true;
         }
         return $user->hasAnyAccess($item->permissions);
     });
     return $items;
 }