/** * Creates a render array of roles that may use the flag. * * @param \Drupal\flag\FlagInterface $flag * The flag entity. * * @return array * A render array of flag roles for the entity. */ protected function getFlagRoles(FlagInterface $flag) { $all_roles = []; foreach (array_keys($flag->getPermissions()) as $perm) { $roles = user_roles(FALSE, $perm); foreach ($roles as $rid => $role) { $all_roles[$rid] = $role->label(); } } $out = implode(', ', $all_roles); if (empty($out)) { return [ '#markup' => '<em>' . $this->t('None') . '</em>', '#allowed_tags' => ['em'], ]; } return [ '#markup' => rtrim($out, ', '), ]; }