- Модуль: 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;
}