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: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/authldap/src/Value/GroupFilter.php
<?php

declare(strict_types=1);

namespace Org_Heigl\AuthLdap\Value;

final class GroupFilter
{
	private string $groupFilter;

	private string $dn;
	private function __construct(string $groupFilter, string $dn = '')
	{
		$this->groupFilter = $groupFilter;
		$this->dn = ldap_escape($dn, '', LDAP_ESCAPE_FILTER);
	}

	public function withDn(string $dn): self
	{
		return new self($this->groupFilter, $dn);
	}

	public static function fromString(string $groupFilter = ''): self
	{
		return new self($groupFilter);
	}

	public function __toString(): string
	{
		if ($this->groupFilter === '') {
			return '(&(objectClass=posixGroup)(memberUid=%s))';
		}

		return str_replace('%dn%', $this->dn, $this->groupFilter);
	}
}