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);
 | 
						|
  }
 | 
						|
}
 |