You are here

public static function SimpleAccessGroups::preRenderSimpleAccessGroups in Simple Access 8.3

Move all values aside which are not accessible so not to be included.

File

src/Element/SimpleAccessGroups.php, line 108

Class

SimpleAccessGroups
Simple access groups element.

Namespace

Drupal\simple_access\Element

Code

public static function preRenderSimpleAccessGroups($element) {
  foreach (Element::children($element['wrapper']) as $group) {
    if (isset($element['wrapper'][$group]['#access']) && !$element['wrapper'][$group]['#access']) {
      $element['no_access'][$group] = $element['wrapper'][$group];
      unset($element['wrapper'][$group]);
    }
    else {
      foreach (Element::children($element['wrapper'][$group]) as $access_type) {
        if (isset($element['wrapper'][$group][$access_type]['#access']) && !$element['wrapper'][$group][$access_type]['#access']) {
          $element['no_access'][$group][$access_type] = $element['wrapper'][$group][$access_type];
          unset($element['wrapper'][$group][$access_type]);
        }
      }
    }
  }
  return $element;
}