35 lines
		
	
	
		
			853 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			853 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\ldap\app;
 | |
| 
 | |
| use nur\A;
 | |
| use nur\ldap\LdapConn;
 | |
| 
 | |
| trait TLdapApplication {
 | |
|   protected $config;
 | |
|   protected $uri, $binddn, $password;
 | |
| 
 | |
|   protected function fixConfig(?string &$config): void {
 | |
|   }
 | |
| 
 | |
|   function getConn(?array $supplParams=null): LdapConn {
 | |
|     $config = $this->config;
 | |
|     $this->fixConfig($config);
 | |
|     $loadParams = static::LOAD_PARAMS;
 | |
|     $autoconnect = $autofillParams = null;
 | |
|     if ($config === null) {
 | |
|       $params = [];
 | |
|     } else {
 | |
|       $params = require $config;
 | |
|       if (!$loadParams) $autoconnect = $autofillParams = false;
 | |
|     }
 | |
|     A::merge($params, A::filter_n([
 | |
|       "uri" => $this->uri,
 | |
|       "binddn" => $this->binddn,
 | |
|       "password" => $this->password,
 | |
|       "autoconnect" => $autoconnect,
 | |
|       "autofill_params" => $autofillParams,
 | |
|     ]), $supplParams);
 | |
|     return new LdapConn($params);
 | |
|   }
 | |
| }
 |