• Модуль: ldap
  • Путь к файлу: ~/bitrix/modules/ldap/classes/general/ldap.php
  • Класс: CLDAP
  • Вызов: CLDAP::Connect
public function Connect()
{
	global $APPLICATION;

	if($this->conn = @ldap_connect($this->arFields["SERVER"], $this->arFields['PORT']))
	{
		$ldapOptTimelimit = isset($this->arFields["LDAP_OPT_TIMELIMIT"]) ? (int)$this->arFields["LDAP_OPT_TIMELIMIT"] : 100;
		$ldapOptTimeout = isset($this->arFields["LDAP_OPT_TIMEOUT"]) ? (int)$this->arFields["LDAP_OPT_TIMEOUT"] : 5;
		$ldapOptNetworkTimeout = isset($this->arFields["LDAP_OPT_NETWORK_TIMEOUT"]) ? (int)$this->arFields["LDAP_OPT_NETWORK_TIMEOUT"] : 5;

		@ldap_set_option($this->conn, LDAP_OPT_PROTOCOL_VERSION, 3);
		@ldap_set_option($this->conn, LDAP_OPT_REFERRALS, 0);
		@ldap_set_option($this->conn, LDAP_OPT_SIZELIMIT, COption::GetOptionInt("ldap", "group_limit", 0));
		@ldap_set_option($this->conn, LDAP_OPT_TIMELIMIT, $ldapOptTimelimit);
		@ldap_set_option($this->conn, LDAP_OPT_TIMEOUT, $ldapOptTimeout);
		@ldap_set_option($this->conn, LDAP_OPT_NETWORK_TIMEOUT, $ldapOptNetworkTimeout);

		$login = isset($this->arFields["~ADMIN_LOGIN"]) ? $this->arFields["~ADMIN_LOGIN"] : $this->arFields["ADMIN_LOGIN"];
		$pass = isset($this->arFields["~ADMIN_PASSWORD"]) ? $this->arFields["~ADMIN_PASSWORD"] : $this->arFields["ADMIN_PASSWORD"];

		return $this->Bind($login, $pass);
	}
	else
	{
		$APPLICATION->ThrowException('ldap_connect() error. '.$this->getLastErrorDescription());
	}

	return false;
}