nur-sery/nur_src/ldap/ldap_config.php

35 lines
928 B
PHP
Raw Permalink Normal View History

2024-04-04 22:21:20 +04:00
<?php
namespace nur\ldap;
use nur\A;
use nur\b\ValueException;
use nur\path;
class ldap_config {
static function get_shared_file(string $uri): string {
if ($uri == "ldapi://") {
$file = "ldapi__.ldaphost";
} else {
$parts = parse_url($uri);
if ($parts === false) throw ValueException::invalid_value($uri, "uri");
$scheme = A::get($parts, "scheme", "ldap");
$host = A::get($parts, "host");
$port = A::get($parts, "port");
if ($port === null) {
if ($scheme === "ldap") $port = 389;
elseif ($scheme === "ldaps") $port = 636;
}
$file = "${scheme}_${host}_${port}.ldaphost";
}
return $file;
}
static function get_file(string $file, ?string $profile=null): string {
if (!path::is_qualified($file) && !path::have_ext($file)) {
if ($profile !== null) $file .= ".$profile";
$file .= ".ldapconf";
}
return $file;
}
}