• Модуль: ldap
  • Путь к файлу: ~/bitrix/modules/ldap/classes/general/ldap_server.php
  • Класс: CLdapServer
  • Вызов: CLdapServer::Add
static function Add($arFields)
{
	global $DB, $APPLICATION;
	$APPLICATION->ResetException();

	if(is_set($arFields, "ACTIVE") && $arFields["ACTIVE"]!="Y")
		$arFields["ACTIVE"]="N";

	if(is_set($arFields, "SYNC") && $arFields["SYNC"]!="Y")
		$arFields["SYNC"]="N";

	if(is_set($arFields, "CONVERT_UTF8") && $arFields["CONVERT_UTF8"]!="Y")
		$arFields["CONVERT_UTF8"]="N";

	if(is_set($arFields, "USER_GROUP_ACCESSORY") && $arFields["USER_GROUP_ACCESSORY"]!="Y")
		$arFields["USER_GROUP_ACCESSORY"]="N";

	if(!CLdapServer::CheckFields($arFields))
		return false;

	if(is_set($arFields, "ADMIN_PASSWORD"))
		$arFields["ADMIN_PASSWORD"] = Encryption::encrypt($arFields["ADMIN_PASSWORD"]);

	if(is_set($arFields, "FIELD_MAP") && is_array($arFields["FIELD_MAP"]))
	{
		$arFields["USER_NAME_ATTR"] = "".$arFields["FIELD_MAP"]["NAME"];
		$arFields["USER_LAST_NAME_ATTR"] = "".$arFields["FIELD_MAP"]["LAST_NAME"];
		$arFields["USER_EMAIL_ATTR"] = "".$arFields["FIELD_MAP"]["EMAIL"];

		$arFields["FIELD_MAP"] = serialize($arFields["FIELD_MAP"]);
	}

	$ID = $DB->Add("b_ldap_server", $arFields);

	if(is_set($arFields, 'GROUPS'))
		CLdapServer::SetGroupMap($ID, $arFields['GROUPS']);

	if($arFields["SYNC"]=="Y")
		CLdapServer::__UpdateAgentPeriod($ID, $arFields["SYNC_PERIOD"]);

	return $ID;
}