$message = new CAdminMessage(GetMessage("LDAP_SAVING_ERROR"), $e); } } } if (strlen($_REQUEST['check_server']) > 0 || strlen($_REQUEST['refresh_groups']) > 0) { $bPostback = true; } $ldp = false; $str_ACTIVE = "Y"; $str_IMPORT_STRUCT = "Y"; $str_STRUCT_HAVE_DEFAULT = "Y"; $str_DEFAULT_DEPARTMENT_NAME = GetMessage('LDAP_DEFAULT_DEPARTMENT') != '' ? GetMessage('LDAP_DEFAULT_DEPARTMENT') : 'My company'; $str_PORT = "389"; $arGroups = array(); if ($ID > 0) { $ld = CLdapServer::GetByID($ID); ClearVars("str_"); if (!($arFields = $ld->ExtractFields("str_"))) { $ID = 0; } else { if ($MOD_RIGHT < "W") { $str_ADMIN_PASSWORD = ""; } $ldp = CLDAP::Connect(array("SERVER" => $arFields['SERVER'], "PORT" => $arFields['PORT'], "ADMIN_LOGIN" => $arFields['ADMIN_LOGIN'], "ADMIN_PASSWORD" => $arFields['ADMIN_PASSWORD'], "BASE_DN" => $arFields['BASE_DN'], "GROUP_FILTER" => $arFields['GROUP_FILTER'], "GROUP_ID_ATTR" => $arFields['GROUP_ID_ATTR'], "GROUP_NAME_ATTR" => $arFields['GROUP_NAME_ATTR'], "GROUP_MEMBERS_ATTR" => $arFields['GROUP_MEMBERS_ATTR'], "CONVERT_UTF8" => $arFields['CONVERT_UTF8'], "USER_FILTER" => $arFields['USER_FILTER'], "USER_GROUP_ATTR" => $arFields['USER_GROUP_ATTR'], "USER_GROUP_ACCESSORY" => $arFields['USER_GROUP_ACCESSORY'], "USER_DEPARTMENT_ATTR" => $arFields['USER_DEPARTMENT_ATTR'], "USER_MANAGER_ATTR" => $arFields['USER_MANAGER_ATTR'], "MAX_PAGE_SIZE" => $arFields['MAX_PAGE_SIZE'])); $db_groups = CLdapServer::GetGroupMap($ID); while ($arGroup = $db_groups->Fetch()) { $arGroups[$arGroup['GROUP_ID'] . ' ' . md5($arGroup['LDAP_GROUP_ID'])] = $arGroup; } if (!isset($noimportGroups)) { $noimportGroups = array(); $db_groups = CLdapServer::GetGroupBan($ID);
if ($ldapServer > 0 && $ldapExists) { $dbLdap = CLdapServer::GetByID($ldapServer); if ($dbLdap->Fetch()) $csvImport->externalAuthID = "LDAP#".$ldapServer; } if ($csvImport->IsErrorOccured()) $strError = $csvImport->GetErrorMessage(); } else $strError = GetMessage("USER_IMPORT_CSV_NOT_FOUND"); } elseif ($dataSource == "ldap") { $dbLdap = CLdapServer::GetByID($ldapServer); if ($arLdap = $dbLdap->Fetch()) { // this is a test connection, thus any parameters other than related to establishing a connection, have no effect here $ldp = CLDAP::Connect( array( "SERVER" => $arLdap['SERVER'], "PORT" => $arLdap['PORT'], "ADMIN_LOGIN" => $arLdap['ADMIN_LOGIN'], "ADMIN_PASSWORD"=> $arLdap['ADMIN_PASSWORD'], "BASE_DN" => $arLdap['BASE_DN'], "GROUP_FILTER" => $arLdap['GROUP_FILTER'], "GROUP_ID_ATTR" => $arLdap['GROUP_ID_ATTR'], "USER_GROUP_ACCESSORY" => $arFields['USER_GROUP_ACCESSORY'], "USER_FILTER" => $arLdap['USER_FILTER'], "GROUP_NAME_ATTR"=> $arLdap['GROUP_NAME_ATTR'],