30 lines
		
	
	
		
			712 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			712 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\ldap\syntaxes;
 | |
| 
 | |
| use nur\data\types\TelephoneType;
 | |
| use nur\ldap\labels;
 | |
| 
 | |
| class TelephoneSyntax extends StringSyntax {
 | |
|   function __construct() {
 | |
|     $this->type = new TelephoneType();
 | |
|   }
 | |
| 
 | |
|   /** @var TelephoneType */
 | |
|   protected $type;
 | |
| 
 | |
|   function php2ldap($value): ?string {
 | |
|     $value = parent::php2ldap($value);
 | |
|     if ($value === null) return null;
 | |
|     labels::strip($value, $label);
 | |
|     $type = $this->type;
 | |
|     $value = $type->ensureInternational($type->with($value));
 | |
|     return labels::add($value, $label);
 | |
|   }
 | |
| 
 | |
|   function ldap2php(string $value): string {
 | |
|     labels::strip($value, $label);
 | |
|     $value = $this->type->ensureLocal($value);
 | |
|     return labels::add($value, $label);
 | |
|   }
 | |
| }
 |