21 lines
		
	
	
		
			549 B
		
	
	
	
		
			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;
 | 
						|
  }
 | 
						|
}
 |