HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: root (0)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/authldap/src/Value/Groups.php
<?php

declare(strict_types=1);

namespace Org_Heigl\AuthLdap\Value;

use Iterator;

final class Groups
{
	private array $groups;
	private function __construct(GroupAssignment ...$groups)
	{
		foreach ($groups as $group) {
			$this->groups[$group->getRole()] = $group->getGroups();
		}
	}

	public static function fromArray(array $groups): self
	{
		$assignements = [];
		foreach ($groups as $key => $group) {
			$assignements[] = GroupAssignment::fromKeyValue($key, $group);
		}
		return new self(...$assignements);
	}

	public function has(string $key): bool
	{
		return isset($this->groups[$key]);
	}

	public function get(string $key): string
	{
		if (!$this->has($key)) {
			return '';
		}
		return $this->groups[$key];
	}
}