nur-sery/nur_src/ldap/syntaxes/PrintableSyntax.php

21 lines
549 B
PHP

<?php
namespace nur\ldap\syntaxes;
class PrintableSyntax extends StringSyntax {
const DISALLOWED = '/[^a-zA-Z0-9"()+,-.\/:? -]+/';
/** enlever les caractères interdit de la chaine */
function filter(?string $value): ?string {
if ($value === null) return null;
return preg_replace(self::DISALLOWED, "", $value);
}
function php2ldap($value): ?string {
$value = parent::php2ldap($value);
if (preg_match(self::DISALLOWED, $value)) {
throw new SyntaxException("invalid string: $value");
}
return $value;
}
}