Your IP : 3.133.107.95


Current Path : /home/bitrix/ext_www/coffe.land/bitrix/modules/ldap/admin/
Upload File :
Current File : /home/bitrix/ext_www/coffe.land/bitrix/modules/ldap/admin/ldap_server_edit.php

<?
/*
##############################################
# Bitrix: SiteManager                        #
# Copyright (c) 2002-2016 Bitrix             #
# http://www.bitrixsoft.com                  #
# mailto:admin@bitrixsoft.com                #
##############################################
*/

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/ldap/prolog.php");

$MOD_RIGHT = $APPLICATION->GetGroupRight("ldap");
if($MOD_RIGHT<"R") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);

if (!extension_loaded('ldap'))
{
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
	ShowError(GetMessage("LDAP_EXT_NO_LOADED"));
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
}
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/ldap/include.php");

$err_mess = "File: ".__FILE__."<br>Line: ";

$message = null;
$ID = intval($ID);
$defaultMaxPageSizeAD = 1000;
$arSyncFields =	CLdapUtil::GetSynFields();

$bPostback = false;

$arUserFieldMap = Array();

if(is_array($_REQUEST["MAP"]))
{
	foreach($_REQUEST["MAP"] as $v)
	{
		if(strlen($v["USER"])>0 && is_array($arSyncFields[$v["USER"]]) && strlen($v["LDAP"])>0)
		{
			$arUserFieldMap[$v["USER"]] = $v["LDAP"];
		}
	}
}


if($_SERVER['REQUEST_METHOD'] == "POST")
{
	// add not imported groups from select box
	$noimportGroups = array();
	if (array_key_exists("LDAP_NOIMP_GROUPS",$_REQUEST))
	{
		// make a hash map of groups to determine later easily which groups are selected in the select box
		// it also eliminates duplicating groups
		foreach ($_REQUEST['LDAP_NOIMP_GROUPS'] as $ldapGroupId)
			$noimportGroups[md5($ldapGroupId)] = $ldapGroupId;
	}
}


if($_SERVER['REQUEST_METHOD'] == "POST" && (strlen($save)>0 || strlen($apply)>0) && $MOD_RIGHT=="W" && check_bitrix_sessid())
{
	$bPostback = true;
	$arGroups = false;

	// read AD to portal group correspondence
	if(is_array($_REQUEST['LDAP_GROUP']))
	{
		if (!$arGroups)
		{
			$arGroups = Array();
		}
		foreach($_REQUEST['LDAP_GROUP'] as $t_id=>$arGroup)
		{
			if(strlen($arGroup['LDAP_GROUP_ID'])>0 && $arGroup['GROUP_ID']>0 && $arGroup['DEL_GROUP']!='Y')
			{
				if ($arGroup['GROUP_ID'] == 2)
					continue;

				$arGroups[] = $arGroup;
			}
		}
	}

	if (array_key_exists("LDAP_NOIMP_GROUPS",$_REQUEST))
	{
		if (!$arGroups)
			$arGroups = Array();

		// add groups, which import is forbidden, to common mapping with an id of -1
		foreach ($noimportGroups as $ldapGroupId)
			$arGroups[] = array("LDAP_GROUP_ID"=>$ldapGroupId,"GROUP_ID"=>-1);
	}

	$arFields = Array(
		"NAME"	=>	$_REQUEST['NAME'],
		"DESCRIPTION"	=>	$_REQUEST['DESCRIPTION'],
		"CODE"	=>	$_REQUEST['CODE'],
		"SERVER"	=>	$_REQUEST['SERVER'],
		"PORT"	=>	$_REQUEST['PORT'],
		"CONVERT_UTF8"	=>	$_REQUEST['CONVERT_UTF8'],
		"ADMIN_LOGIN"	=>	$_REQUEST['ADMIN_LOGIN'],
		"ACTIVE"		=>	$_REQUEST['ACTIVE'],
		"ADMIN_PASSWORD"	=>	$_REQUEST['ADMIN_PASSWORD'],
		"BASE_DN"	=>	$_REQUEST['BASE_DN'],
		"GROUP_FILTER"	=>	$_REQUEST['GROUP_FILTER'],
		"GROUP_ID_ATTR"	=>	$_REQUEST['GROUP_ID_ATTR'],
		"GROUP_NAME_ATTR"	=>	$_REQUEST['GROUP_NAME_ATTR'],
		"GROUP_MEMBERS_ATTR"	=>	$_REQUEST['GROUP_MEMBERS_ATTR'],
		"USER_FILTER"	=>	$_REQUEST['USER_FILTER'],
		"USER_ID_ATTR"	=>	$_REQUEST['USER_ID_ATTR'],
		"USER_NAME_ATTR"	=>	$_REQUEST['USER_NAME_ATTR'],
		"USER_LAST_NAME_ATTR"	=>	$_REQUEST['USER_LAST_NAME_ATTR'],
		"USER_EMAIL_ATTR"	=>	$_REQUEST['USER_EMAIL_ATTR'],
		"USER_GROUP_ATTR"	=>	$_REQUEST['USER_GROUP_ATTR'],
		"USER_GROUP_ACCESSORY"	=>	$_REQUEST['USER_GROUP_ACCESSORY'],
		"SYNC_PERIOD"	=> 	$_REQUEST['SYNC_PERIOD'],
		"SYNC"	=>	$_REQUEST['SYNC'],
		"SYNC_ATTR"	=>	$_REQUEST['SYNC_ATTR'],
		"USER_DEPARTMENT_ATTR"	=>	$_REQUEST['USER_DEPARTMENT_ATTR'],
		"USER_MANAGER_ATTR"	=>	$_REQUEST['USER_MANAGER_ATTR'],
		"IMPORT_STRUCT"	=>	$_REQUEST['IMPORT_STRUCT'],
		"STRUCT_HAVE_DEFAULT"	=>	$_REQUEST['STRUCT_HAVE_DEFAULT'],
		"SET_DEPARTMENT_HEAD"	=>	$_REQUEST['SET_DEPARTMENT_HEAD'],
		"ROOT_DEPARTMENT"	=>	$_REQUEST['ROOT_DEPARTMENT'],
		"DEFAULT_DEPARTMENT_NAME"	=>	$_REQUEST['DEFAULT_DEPARTMENT_NAME'],
		"FIELD_MAP"	=>	$arUserFieldMap,
		"MAX_PAGE_SIZE" => $_REQUEST['MAX_PAGE_SIZE'],
		"LDAP_OPT_TIMELIMIT" => $_REQUEST['LDAP_OPT_TIMELIMIT'],
		"LDAP_OPT_TIMEOUT" => $_REQUEST['LDAP_OPT_TIMEOUT'],
		"LDAP_OPT_NETWORK_TIMEOUT" => $_REQUEST['LDAP_OPT_NETWORK_TIMEOUT'],
		"SYNC_USER_ADD" => $_REQUEST['SYNC_USER_ADD'],
		"CONNECTION_TYPE" => $_REQUEST['CONNECTION_TYPE']
	);

	if(is_array($arGroups))
		$arFields['GROUPS'] = $arGroups;

	// apply form to server config
	if($ID>0)
		$res = CLdapServer::Update($ID, $arFields);
	else
	{
		$ID = CLdapServer::Add($arFields);
		$res = ($ID>0);
	}

	if($res)
	{
		if(strlen($save)>0)
		{
			if(substr($_REQUEST['back_url'], 0, 1)=='/')
				LocalRedirect($_REQUEST['back_url'].'&ldapServer='.$ID);
			else
				LocalRedirect("ldap_server_admin.php?lang=".LANG);
		}
		else
			LocalRedirect($APPLICATION->GetCurPage()."?lang=".LANG."&ID=".$ID."&tabControl_active_tab=".urlencode($tabControl_active_tab));
	}
	else
	{
		if($e = $APPLICATION->GetException())
			$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_SET_DEPARTMENT_HEAD = "Y";
$str_DEFAULT_DEPARTMENT_NAME = (GetMessage('LDAP_DEFAULT_DEPARTMENT')!=''? GetMessage('LDAP_DEFAULT_DEPARTMENT') : 'My company');
$str_PORT="389";

$arGroups = Array();

ClearVars("str_");
if($ID>0)
{
	$ld = CLdapServer::GetByID($ID);

	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'],
				"LDAP_OPT_TIMELIMIT"	=>	$arFields['LDAP_OPT_TIMELIMIT'],
				"LDAP_OPT_TIMEOUT"	=>	$arFields['LDAP_OPT_TIMEOUT'],
				"LDAP_OPT_NETWORK_TIMEOUT"	=>	$arFields['LDAP_OPT_NETWORK_TIMEOUT'],
				"CONNECTION_TYPE" => $arFields['CONNECTION_TYPE'],
			)
		);

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

			while($arGroup = $db_groups->Fetch())
				$noimportGroups[md5($arGroup['LDAP_GROUP_ID'])] = $arGroup['LDAP_GROUP_ID'];
		}

		//$ADMIN_PASSWORD = $arFields['ADMIN_PASSWORD'];
		if(!$bPostback)
			$arUserFieldMap = $arFields["FIELD_MAP"];
	}
}

//if(strlen($Add)<=0)
$DB->InitTableVarsForEdit("b_ldap_server", "", "str_");

if(is_array($_REQUEST['LDAP_GROUP']))
{
	foreach($_REQUEST['LDAP_GROUP'] as $t_id=>$arGroup)
	{
		if(strlen($arGroup['LDAP_GROUP_ID'])>0 || $arGroup['GROUP_ID']>0)
			$arGroups[$t_id] = $arGroup;
	}
}

$arGroups[md5(uniqid(rand(), true))] = Array();
$arGroups[md5(uniqid(rand(), true))] = Array();
$arGroups[md5(uniqid(rand(), true))] = Array();

$sDocTitle = ($ID>0) ? GetMessage("LDAP_EDIT_TITLE", array('#ID#' => $ID)) : GetMessage("LDAP_EDIT_TITLE_NEW");
$APPLICATION->SetTitle($sDocTitle);

/***************************************************************************
									HTML form
****************************************************************************/

require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php");
$aMenu = array(
	array(
		"ICON" => "btn_list",
		"TEXT"=>GetMessage("MAIN_ADMIN_MENU_LIST"),
		"TITLE"=>GetMessage("LDAP_EDIT_LIST"),
		"LINK"=>"ldap_server_admin.php?lang=".LANG
	)
);

if($ID>0)
{
	$aMenu[] = array(
		"ICON" => "btn_new",
		"TEXT"=>GetMessage("MAIN_ADMIN_MENU_CREATE"),
		"TITLE"=>GetMessage("LDAP_EDIT_NEW"),
		"LINK"=>"ldap_server_edit.php?lang=".LANG
	);

	if ($MOD_RIGHT=="W")
	{
		$aMenu[] = array(
			"ICON" => "btn_delete",
			"TEXT"=>GetMessage("MAIN_ADMIN_MENU_DELETE"),
			"TITLE"=>GetMessage("LDAP_EDIT_DEL"),
			"LINK"=>"javascript:if(confirm('".GetMessage("LDAP_EDIT_DEL_CONF")."'))window.location='ldap_server_admin.php?action=delete&ID=".$ID."&lang=".LANG."&".bitrix_sessid_get()."';",
		);
	}

}



$context = new CAdminContextMenu($aMenu);
$context->Show();

if(strlen($SERVER)>0)
{
	$ldp = false;

	$ldp = CLDAP::Connect(
		Array(
			"SERVER"		=>	$SERVER,
			"PORT"			=>	$PORT,
			"BASE_DN"		=>	$BASE_DN,
			"ADMIN_LOGIN"	=>	$ADMIN_LOGIN,
			"ADMIN_PASSWORD"=>	$ADMIN_PASSWORD,
			"CONVERT_UTF8"	=>	$CONVERT_UTF8,
			"GROUP_FILTER"	=>	$GROUP_FILTER,
			"GROUP_ID_ATTR"	=>	$GROUP_ID_ATTR,
			"GROUP_NAME_ATTR"=>	$GROUP_NAME_ATTR,
			"GROUP_MEMBERS_ATTR"=>	$GROUP_MEMBERS_ATTR,
			"USER_FILTER"	=>	$USER_FILTER,
			"USER_GROUP_ATTR"=>	$USER_GROUP_ATTR,
			"USER_GROUP_ACCESSORY"=>	$USER_GROUP_ACCESSORY,
			"MAX_PAGE_SIZE"	=>	$MAX_PAGE_SIZE,
			"LDAP_OPT_TIMELIMIT"	=>	$LDAP_OPT_TIMELIMIT,
			"LDAP_OPT_TIMEOUT"	=>	$LDAP_OPT_TIMEOUT,
			"LDAP_OPT_NETWORK_TIMEOUT"	=>	$LDAP_OPT_NETWORK_TIMEOUT,
			//"USER_DEPARTMENT_ATTR"	=>	$USER_DEPARTMENT_ATTR,
			//"USER_MANAGER_ATTR"	=>	$USER_MANAGER_ATTR,
			"CONNECTION_TYPE" => $CONNECTION_TYPE
		)
	);
}

if($bPostback)
{
	if(!$ldp)
	{
		$errorDetails = '';

		if($e = $APPLICATION->GetException())
			$errorDetails = $e->GetString();

		$message = new CAdminMessage(
			Array(
				"MESSAGE" => GetMessage("LDAP_ERROR"),
				"DETAILS" => GetMessage("LDAP_EDIT_ERR_CON")."\n".$errorDetails,
				"TYPE"=>"ERROR"
			)
		);
	}
	elseif(!$ldp->BindAdmin())
	{
		$errorDetails = '';

		if($e = $APPLICATION->GetException())
			$errorDetails = $e->GetString();

		$message = new CAdminMessage(
			Array(
				"MESSAGE" => GetMessage("LDAP_ERROR"),
				"DETAILS" => GetMessage("LDAP_EDIT_ERR_AUT")."\n".$errorDetails,
				"TYPE"=>"ERROR"
			)
		);
	}
	elseif(strlen($_REQUEST['refresh_groups'])<=0)
	{
		$message = new CAdminMessage(Array("MESSAGE" => GetMessage("LDAP_EDIT_OK_CON"), "TYPE"=>"OK"));
	}
}


$aTabs = array(
	array("DIV" => "edit1", "TAB" => GetMessage("LDAP_EDIT_TAB1"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("LDAP_EDIT_TAB1_TITLE")),
	array("DIV" => "edit2", "TAB" => GetMessage("LDAP_EDIT_TAB11"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("LDAP_EDIT_TAB11_TITLE")),
	array("DIV" => "edit3", "TAB" => GetMessage("LDAP_EDIT_TAB2"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("LDAP_EDIT_USER_MAP")),
	array("DIV" => "edit4", "TAB" => GetMessage("LDAP_EDIT_TAB4"), "ICON"=>"main_user_edit", "TITLE"=>GetMessage("LDAP_EDIT_TAB4_TITLE")),
);

$tabControl = new CAdminTabControl("tabControl", $aTabs);

if ($message)
	echo $message->Show();
else
{
	if($ID<=0 && !$bPostback)
	{
		?>
		<script type="text/javascript">
			setTimeout("OutLDSDefParams('AD')", 500);
		</script>
		<?
	}
}
?>

<form method="POST" action="<?echo $APPLICATION->GetCurPage()?>?lang=<?=LANG?>&ID=<?=$ID?>" name="form1">
<?=bitrix_sessid_post()?>
<?echo GetFilterHiddens("find_");?>
<?if($_REQUEST['back_url']):?>
<input type="hidden" name="back_url" value="<?=htmlspecialcharsbx($_REQUEST['back_url'])?>">
<?endif?>
<?$tabControl->Begin();?>

<?$tabControl->BeginNextTab();?>
	<?if($ID>0):?>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_ID")?></td>
		<td><?echo $str_ID?></td>
	</tr>
	<?endif?>
	<?if(strlen($str_TIMESTAMP_X) > 0):?>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_TSTAMP")?></td>
		<td><?echo $str_TIMESTAMP_X?></td>
	</tr>
	<?endif;?>
	<tr>
		<td width="40%"><?echo GetMessage("LDAP_EDIT_ACT")?></td>
		<td width="60%"><input type="hidden" name="ACTIVE" value="N"><input type="checkbox" name="ACTIVE" value="Y"<?if($str_ACTIVE=="Y")echo " checked"?>></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_NAME")?></td>
		<td><input type="text" name="NAME" size="53" maxlength="255" value="<?=$str_NAME?>"></td>
	</tr>
	<tr>
		<td class="adm-detail-valign-top"><?echo GetMessage("LDAP_EDIT_DESC")?></td>
		<td><textarea class="typearea" name="DESCRIPTION" cols="40" rows="5"><?echo $str_DESCRIPTION?></textarea></td>
	</tr>
	<tr>
		<td>
		<?=GetMessage("LDAP_EDIT_CODE")?>
		</td>
		<td><input type="text" name="CODE" size="42" maxlength="255" value="<?=$str_CODE?>"></td>
	</tr>
	<tr>
		<td>
		<?=GetMessage("LDAP_EDIT_CODE_USER")?></td>
		<td>
		<?
		$ntlmVarname = COption::GetOptionString('ldap', 'ntlm_varname', 'REMOTE_USER');
		if (array_key_exists($ntlmVarname,$_SERVER) && trim($_SERVER[$ntlmVarname])!='')
			echo htmlspecialcharsbx($_SERVER[$ntlmVarname]);
		else
			echo GetMessage("LDAP_EDIT_CODE_ABS");
		?>
		</td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_SERV_PORT")?></td>
		<td>
			<input type="text" name="SERVER" id="adm-ldap-srv-edit-server" size="42" maxlength="255" value="<?=$str_SERVER?>">:
			<input type="text" name="PORT" id="adm-ldap-srv-edit-port" size="4" maxlength="5" value="<?=$str_PORT?>">
		</td>
	</tr>

	<tr>
		<td><?=GetMessage("LDAP_EDIT_CONNECTION_TYPE")?></td>
		<td>
			<select name="CONNECTION_TYPE" id="adm-ldap-srv-edit-conn-type" onchange="onLdapSrvEditConnType();">
				<option value="<?=CLDAP::CONNECTION_TYPE_SIMPLE?>"<?=intval($str_CONNECTION_TYPE) == CLDAP::CONNECTION_TYPE_SIMPLE ? ' selected' : ''?>><?=GetMessage("LDAP_EDIT_NO_CRYPT")?></option>
				<option value="<?=CLDAP::CONNECTION_TYPE_SSL?>"<?=intval($str_CONNECTION_TYPE) == CLDAP::CONNECTION_TYPE_SSL ? ' selected' : ''?>>SSL</option>
				<option value="<?=CLDAP::CONNECTION_TYPE_TLS?>"<?=intval($str_CONNECTION_TYPE) == CLDAP::CONNECTION_TYPE_TLS ? ' selected' : ''?>>TLS</option>
			</select>
			<script type="text/javascript">
				function onLdapSrvEditConnType()
				{
					var type = BX('adm-ldap-srv-edit-conn-type'),
						typeValue = 0;

					if(type.selectedIndex != -1)
					{
						typeValue = type.options[type.selectedIndex].value;
					}

					var server = BX('adm-ldap-srv-edit-server'),
						port = BX('adm-ldap-srv-edit-port');

					if(typeValue == '<?=CLDAP::CONNECTION_TYPE_SSL?>')
					{
						port.value = 636;
						server.value = setLdapScheeme(server.value, 'ldaps');
					}
					else
					{
						port.value = 389;
						server.value = setLdapScheeme(server.value, 'ldap');
					}
				}

				function setLdapScheeme(address, scheeme)
				{
					var result;

					if(address.search('://') != -1)
						result = address.replace(/(.*):\/\/(.*)/, scheeme+'://$2');
					else
						result = scheeme+'://'+address;

					return result;
				}
			</script>
		</td>
	</tr>

	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_ADM_LOGIN")?></td>
		<td><input type="text" name="ADMIN_LOGIN" size="53" maxlength="255" value="<?=$str_ADMIN_LOGIN?>"></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_ADM_PASS")?></td>
		<td><input type="password" name="ADMIN_PASSWORD" size="53" maxlength="255" value="<?=$str_ADMIN_PASSWORD?>"></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td><input type="submit" name="check_server" value="<?echo GetMessage("LDAP_EDIT_CHECK")?>" class="button"></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_BASE_DN")?></td>
		<td>
			<?
			if($ldp):
				$ar_rootdse = $ldp->RootDSE();
				$rootDSEcount = count($ar_rootdse);
				if($rootDSEcount>0):
				?>
					<select name="" onChange="document.getElementById('BASE_DN').value = this.value">
						<option value=""> </option>
						<?for($i=0; $i<$rootDSEcount; $i++):?>
							<option value="<?=htmlspecialcharsbx($ar_rootdse[$i])?>" title="<?=htmlspecialcharsbx($ar_rootdse[$i])?>"><?=htmlspecialcharsbx($ar_rootdse[$i])?></option>
						<?endfor;?>
					</select>
				<?
				endif;
			endif; //if($ldp)
			?>
			<input type="text" name="BASE_DN" id="BASE_DN" size="53" maxlength="255" value="<?=$str_BASE_DN?>">
		</td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_LDAP_OPT_TIMELIMIT")?></td>
		<td>
			<input type="text" name="LDAP_OPT_TIMELIMIT" id="LDAP_OPT_TIMELIMIT" size="15" maxlength="255" value="<?=(intval($str_LDAP_OPT_TIMELIMIT) > 0 ? intval($str_LDAP_OPT_TIMELIMIT) : 100)?>">
		</td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_LDAP_OPT_TIMEOUT")?></td>
		<td>
			<input type="text" name="LDAP_OPT_TIMEOUT" id="LDAP_OPT_TIMEOUT" size="15" maxlength="255" value="<?=(intval($str_LDAP_OPT_TIMEOUT) > 0 ? intval($str_LDAP_OPT_TIMEOUT) : 5)?>">
		</td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_LDAP_OPT_NETWORK_TIMEOUT")?></td>
		<td>
			<input type="text" name="LDAP_OPT_NETWORK_TIMEOUT" id="LDAP_OPT_NETWORK_TIMEOUT" size="15" maxlength="255" value="<?=(intval($str_LDAP_OPT_NETWORK_TIMEOUT) > 0 ? intval($str_LDAP_OPT_NETWORK_TIMEOUT) : 5)?>">
		</td>
	</tr>

	<?if(CLdapUtil::isLdapPaginationAviable()):?>
		<tr>
			<td><?echo GetMessage("LDAP_EDIT_MAX_PAGE_SIZE")?></td>
			<td>
				<input type="text" name="MAX_PAGE_SIZE" id="MAX_PAGE_SIZE" size="15" maxlength="255" value="<?=(intval($str_MAX_PAGE_SIZE) > 0 ? intval($str_MAX_PAGE_SIZE) : $defaultMaxPageSizeAD)?>">
			</td>
		</tr>
	<?endif;?>
<?$tabControl->BeginNextTab();?>
	<script type="text/javascript">
		function OutLDSDefParams(t)
		{
			if(t=='AD')
			{
				document.getElementById('GROUP_FILTER').value = '(objectCategory=group)';
				document.getElementById('GROUP_ID_ATTR').value = 'dn';
				document.getElementById('CONVERT_UTF8').checked = true;
				document.getElementById('GROUP_NAME_ATTR').value = 'sAMAccountName';
				document.getElementById('GROUP_MEMBERS_ATTR').value = 'member';
				document.getElementById('USER_FILTER').value = '(&(objectClass=user)(objectCategory=PERSON))';
				document.getElementById('USER_ID_ATTR').value = 'samaccountname';
				//document.getElementById('USER_NAME_ATTR').value = 'givenName';
				//document.getElementById('USER_LAST_NAME_ATTR').value = 'sn';
				//document.getElementById('USER_EMAIL_ATTR').value = 'mail';
				document.getElementById('USER_GROUP_ACCESSORY').checked = false;
				document.getElementById('USER_GROUP_ATTR').value = 'memberof';
				document.getElementById('USER_DEPARTMENT_ATTR').value = 'department';
				document.getElementById('USER_MANAGER_ATTR').value = 'manager';
				document.getElementById('SYNC_ATTR').value = 'whenChanged';
				__UFAdd("ACTIVE");
				__UFAdd("NAME");
				__UFAdd("LAST_NAME");
				__UFAdd("EMAIL");
			}
			else
			{
				document.getElementById('GROUP_FILTER').value = '(objectClass=posixGroup)';
				document.getElementById('GROUP_ID_ATTR').value = 'gidNumber';
				document.getElementById('CONVERT_UTF8').checked = false;
				document.getElementById('GROUP_NAME_ATTR').value = 'cn';
				document.getElementById('GROUP_MEMBERS_ATTR').value = 'memberUid';
				document.getElementById('USER_FILTER').value = '(objectClass=posixAccount)';
				document.getElementById('USER_ID_ATTR').value = 'uid';
				//document.getElementById('USER_NAME_ATTR').value = 'cn';
				//document.getElementById('USER_LAST_NAME_ATTR').value = 'sn';
				//document.getElementById('USER_EMAIL_ATTR').value = 'email';
				document.getElementById('USER_GROUP_ACCESSORY').checked = false;
				document.getElementById('USER_GROUP_ATTR').value = 'gidNumber';
				document.getElementById('USER_DEPARTMENT_ATTR').value = 'department';
				document.getElementById('USER_MANAGER_ATTR').value = 'manager';
				__UFAdd("NAME", true);
				__UFAdd("LAST_NAME", true);
				__UFAdd("EMAIL", true);

			}

			return false;
		}
	</script>
	<tr class="heading">
		<td align="center" colspan="2"><b><?echo GetMessage("LDAP_EDIT_PARAMS")?></b> (<a href="javascript:void(0)" onClick="return OutLDSDefParams('AD')" title="<?echo GetMessage("LDAP_EDIT_PARAMS_AD")?>">AD</a> \ <a href="javascript:void(0)"  onClick="return OutLDSDefParams('LDAP')" title="<?echo GetMessage("LDAP_EDIT_PARAMS_LDAP")?>">LDAP</a>)</td>
	</tr>
	<tr>
		<td width="40%"><?echo GetMessage("LDAP_EDIT_CONVERT_UTF8")?></td>
		<td width="60%"><input type="checkbox" id="CONVERT_UTF8" name="CONVERT_UTF8" value="Y"<?if($str_CONVERT_UTF8=="Y")echo " checked"?>></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_GROUP_FILTER")?></td>
		<td><textarea id="GROUP_FILTER" name="GROUP_FILTER" cols="50" rows="4" maxlength="2048"><?=$str_GROUP_FILTER?></textarea></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_GROUP_ATTR")?></td>
		<td><input type="text" id="GROUP_ID_ATTR" name="GROUP_ID_ATTR" size="30" maxlength="255" value="<?=$str_GROUP_ID_ATTR?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_GROUP_NAME")?></td>
		<td><input type="text" id="GROUP_NAME_ATTR" name="GROUP_NAME_ATTR" size="30" maxlength="255" value="<?=$str_GROUP_NAME_ATTR?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_GROUP_MEMBERS")?></td>
		<td><input type="text" id="GROUP_MEMBERS_ATTR" name="GROUP_MEMBERS_ATTR" size="30" maxlength="255" value="<?=$str_GROUP_MEMBERS_ATTR?>"></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_USER_FILTER")?></td>
		<td><textarea id="USER_FILTER" name="USER_FILTER" cols="50" rows="4" maxlength="2048"><?=$str_USER_FILTER?></textarea></td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?echo GetMessage("LDAP_EDIT_USER_ATTR")?></td>
		<td><input type="text" id="USER_ID_ATTR" name="USER_ID_ATTR" size="30" maxlength="255" value="<?=$str_USER_ID_ATTR?>"></td>
	</tr>
	<!--
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_NAME")?></td>
		<td><input type="text" id="USER_NAME_ATTR" name="USER_NAME_ATTR" size="30" maxlength="255" value="<?=$str_USER_NAME_ATTR?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_SNAME")?></td>
		<td><input type="text" id="USER_LAST_NAME_ATTR" name="USER_LAST_NAME_ATTR" size="30" maxlength="255" value="<?=$str_USER_LAST_NAME_ATTR?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_EMAIL")?></td>
		<td><input type="text" id="USER_EMAIL_ATTR" name="USER_EMAIL_ATTR" size="30" maxlength="255" value="<?=$str_USER_EMAIL_ATTR?>"></td>
	</tr>
	-->
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_MEMBER")?></td>
		<td><input type="text" id="USER_GROUP_ATTR" name="USER_GROUP_ATTR" size="30" maxlength="255" value="<?=$str_USER_GROUP_ATTR?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_GROUP_ACCESSORY")?></td>
		<td><input type="checkbox" id="USER_GROUP_ACCESSORY" name="USER_GROUP_ACCESSORY" value="Y" <?if($str_USER_GROUP_ACCESSORY=="Y")echo " checked"?>></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_DEPARTMENT")?></td>
		<td><input type="text" id="USER_DEPARTMENT_ATTR" name="USER_DEPARTMENT_ATTR" size="30" maxlength="255" value="<?=$str_USER_DEPARTMENT_ATTR?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_USER_MANAGER")?></td>
		<td><input type="text" id="USER_MANAGER_ATTR" name="USER_MANAGER_ATTR" size="30" maxlength="255" value="<?=$str_USER_MANAGER_ATTR?>"></td>
	</tr>
	<tr class="heading">
		<td align="center" colspan="2"><b><?echo GetMessage("LDAP_EDIT_USER_FIELDS")?></b> <a href="#notes" style="text-decoration:none;"><span class="required">**</span></a><br></td>
	</tr>
	<?
	$nm=-1;
	foreach($arUserFieldMap as $userField=>$ldapField):
		if ($userField=='UF_DEPARTMENT' && IsModuleInstalled('intranet') /* also checking IsModuleInstalled('intranet'), because user can create his own UF_DEPARTMENT field in non-intranet version? */)
		{
			continue;
		}
		$nm++;
		?>
		<tr id="maprow<?=$nm?>">
			<td>
				<select name="MAP[<?=$nm?>][USER]" id="MAP[<?=$nm?>][USER]" onchange="__UFChange(<?=$nm?>)" style="width:200px">
					<option value=""></option>
					<?foreach($arSyncFields as $k=>$p):
						if ($k=='UF_DEPARTMENT' && IsModuleInstalled('intranet'))
						{
							continue;
						};?>
						<option value="<?=htmlspecialcharsbx($k)?>" title="<?=htmlspecialcharsbx($p["NAME"])?>" <?if($k == $userField)echo " selected"?>><?=htmlspecialcharsbx($p["NAME"])?></option>
					<?endforeach?>
				</select>  :
			</td>
			<td><input type="text"  name="MAP[<?=$nm?>][LDAP]"  id="MAP[<?=$nm?>][LDAP]" value="<?=htmlspecialcharsbx($ldapField)?>"> <a href="javascript:void(0);" onclick="__UFDel(<?=$nm?>);"><?echo GetMessage("LDAP_EDIT_USER_FIELDS_DEL")?></a></td>
		</tr>
	<?endforeach;?>

		<tr id="lastmaprow">
			<td></td>
			<td><a href="javascript:void(0)" onClick="__UFAdd();"><?echo GetMessage("LDAP_EDIT_USER_FIELDS_ADD")?></a></td>
		</tr>

	<script type="text/javascript">
	var nm = <?=$nm?>;
	var arMas = {'_': '' <?foreach($arSyncFields as $k=>$p):?>, '<?=Cutil::JSEscape($k)?>': '<?=Cutil::JSEscape($p["AD"])?>'<?endforeach;?>};
	var arMasLdap = {'_': '' <?foreach($arSyncFields as $k=>$p):?>, '<?=Cutil::JSEscape($k)?>': '<?=Cutil::JSEscape($p["LDAP"])?>'<?endforeach;?>};
	var arMasName = {'_': '' <?foreach($arSyncFields as $k=>$p):?>, '<?=Cutil::JSEscape($k)?>': '<?=Cutil::JSEscape($p["NAME"])?>'<?endforeach;?>};

	function __UFChange(id)
	{
		var oSelect = document.getElementById("MAP["+id+"][USER]");
		var oInput =  document.getElementById("MAP["+id+"][LDAP]");
		var name = oSelect.value;
		oInput.value = arMas[name];
	}
	function __UFDel(id)
	{
		var oTR = document.getElementById("maprow"+id);

		var oTable = oTR.parentNode;
		while(oTable.tagName.toLowerCase()!='table')
			oTable = oTable.parentNode;

		oTable.deleteRow(oTR.rowIndex);
	}

	function __UFAdd(id, ldap)
	{
		var val = '';
		var oSelect;
		if(id)
		{
			if(ldap)
			{
				if(arMasLdap[id])
					val = arMasLdap[id];
			}
			else
			{
				if(arMas[id])
					val = arMas[id];
			}

			var i;
			for(i=0; i<=nm; i++)
			{
				oSelect = document.getElementById("MAP["+i+"][USER]");
				if(oSelect && oSelect.value == id)
				{
					document.getElementById("MAP["+i+"][LDAP]").value = val;
					return;
				}
			}
		}

		var oTR = document.getElementById("lastmaprow");
		nm++;

		var oTable = oTR.parentNode;
		while(oTable.tagName.toLowerCase()!='table')
			oTable = oTable.parentNode;

		oTR = oTable.insertRow(oTR.rowIndex);
		oTR.vAlign = "top";
		oTR.id = "maprow"+nm;
		var oTD = oTR.insertCell(-1);
		oTD.align = "right";

		var k, tdText = '<select name="MAP['+nm+'][USER]" id="MAP['+nm+'][USER]" onchange="__UFChange('+nm+')" style="width:200px">';
		for(k in arMasName)
		{
			tdText = tdText + '<option value="'+k+'" ';
			if(id == k)
				tdText = tdText + ' selected';
			tdText = tdText + '>'+arMasName[k]+'</option>';
		}
		tdText = tdText + '</select>  : ';
		oTD.innerHTML = tdText;

		oTD = oTR.insertCell(-1);
		oTD.innerHTML = '<input type="text"  name="MAP['+nm+'][LDAP]"  id="MAP['+nm+'][LDAP]" value="'+val+'"> <a href="javascript:void(0);" onclick="__UFDel('+nm+')"><?echo GetMessage("LDAP_EDIT_USER_FIELDS_DEL")?></a>';
	}
	</script>


<?

	if (IsModuleInstalled('intranet'))
	{

		$importEnabled = ($str_IMPORT_STRUCT=="Y");
		?>
			<script type="text/javascript">
				function __importStateSwitch(disabled)
				{
					document.getElementById('ROOT_DEPARTMENT').disabled = disabled;
					document.getElementById('STRUCT_HAVE_DEFAULT').disabled = disabled;
					document.getElementById('DEFAULT_DEPARTMENT_NAME').disabled = disabled;
					document.getElementById('SET_DEPARTMENT_HEAD').disabled = disabled;
				}
			</script>

			<tr class="heading">
				<td align="center" colspan="2"><b><?echo GetMessage("LDAP_EDIT_STRUCTURE")?></b><br/></td>
			</tr>

			<tr>
				<td>
				<?=GetMessage("LDAP_EDIT_IMPORT_STRUCT")?>: </td>
				<td>
					<input onClick="__importStateSwitch(!this.checked);" type="checkbox" id="IMPORT_STRUCT" name="IMPORT_STRUCT" value="Y"<?if($importEnabled)echo " checked"?>>
				</td>
			</tr>
			<?
			$l = CLdapUtil::getDepartmentListFromSystem();
			if ($l !== false) {
			?>
			<tr>
				<td>				<?=GetMessage("LDAP_EDIT_STRUCT_ROOT")?>: </td>
				<td>

					<select name="ROOT_DEPARTMENT" id="ROOT_DEPARTMENT" <? if (!$importEnabled) echo 'disabled="1" '?> style="width: 270px">
						<option value="-1" <?if($str_ROOT_DEPARTMENT==-1) echo 'selected="1"'; ?>><?=GetMessage('LDAP_EDIT_DEPT_NOT_SET')?></option>

					<?
						while($arDepartment = $l->GetNext()):
							?><option value="<?=$arDepartment["ID"]?>" title="<?echo str_repeat(" . ", $arDepartment["DEPTH_LEVEL"])?><?echo $arDepartment["NAME"]?>" <? if ($arDepartment["ID"]==$str_ROOT_DEPARTMENT) echo 'selected="1"'; ?>><?echo str_repeat(" . ", $arDepartment["DEPTH_LEVEL"])?><?echo $arDepartment["NAME"]?></option><?
						endwhile;
					?>
					</select>
				</td>
			</tr>
			<? } ?>
			<tr>
				<td>
				<?=GetMessage("LDAP_EDIT_STRUCT_HAVE_DEFAULT")?>: </td>
				<td>
					<input type="checkbox" id="STRUCT_HAVE_DEFAULT" name="STRUCT_HAVE_DEFAULT" <? if (!$importEnabled) echo 'disabled="1" '?>value="Y"<?if($str_STRUCT_HAVE_DEFAULT && $str_STRUCT_HAVE_DEFAULT=='Y')echo " checked"?>>
				</td>
			</tr>
			<tr>
				<td>
					<?=GetMessage("LDAP_EDIT_SET_DEPARTMENT_HEAD")?>: </td>
				<td>
					<input type="checkbox" id="SET_DEPARTMENT_HEAD" name="SET_DEPARTMENT_HEAD"<?=(!$importEnabled ? ' disabled="1" ' : '')?>value="Y"<?=($str_SET_DEPARTMENT_HEAD != 'N' ? " checked" : "")?>>
				</td>
			</tr>
			<tr>
				<td>
				<?=GetMessage("LDAP_EDIT_STRUCT_DEFAULT_VAL")?>: </td>
				<td>
					<input type="text" name="DEFAULT_DEPARTMENT_NAME" id="DEFAULT_DEPARTMENT_NAME" size="40" maxlength="255" <? if (!$importEnabled) echo 'disabled="1" '?>value="<?=$str_DEFAULT_DEPARTMENT_NAME?>">
				</td>
			</tr>

		<?
	}
	?>

	<?$tabControl->BeginNextTab();?>

	<?
	$arLDAPGroups = false;
	if($ldp && ($gr_res = $ldp->GetGroupList()))
	{
		$arLDAPGroups = Array();

		while($ar_group = $gr_res->GetNext())
		{
			$arLDAPGroups[$ar_group['ID']] = (is_set($ar_group, 'NAME') ? $ar_group['NAME'] : $ar_group['ID']);
		}

		uasort($arLDAPGroups, create_function('$a, $b', '$a=ToUpper($a);$b=ToUpper($b); if($a==$b) return 0; return $a>$b?1:-1;'));
	}

	if(!is_array($arLDAPGroups) || count($arLDAPGroups)<=0):?>
	<script type="text/javascript">
	function CheckNAttr()
	{
		if(document.getElementById("GROUP_FILTER").value.length<=0 ||
			document.getElementById("GROUP_ID_ATTR").value.length<=0 ||
			document.getElementById("GROUP_NAME_ATTR").value.length<=0
			)
		{
			alert('<?=GetMessage("LDAP_EDIT_WARN")?>');
			return false;
		}

		return true;
	}
	</script>

	<tr>
		<td align="center" colspan="2"><?echo GetMessage("LDAP_SERV_EDIT_LIST_EMPTY")?></td>
	</tr>
	<tr>
		<td align="center" colspan="2"><input type="submit" name="refresh_groups" value="<?echo GetMessage("LDAP_EDIT_REFRESH")?>" class="button" onClick="return CheckNAttr();"></td>
	</tr>
	<?else:?>
	<tr>
		<td colspan="2" align="center">
			<table class="internal" cellspacing="0" cellpadding="0">
				<tr class="heading">
					<td><?echo GetMessage("LDAP_EDIT_GROUP_REM")?></td>
					<td><?echo GetMessage("LDAP_EDIT_GROUP_LOC")?></td>
					<td><?echo GetMessage("LDAP_EDIT_GROUP_MAP_DEL")?></td>
				</tr>
				<?foreach($arGroups as $t_id=>$arGroup):?>
				<tr>
					<td>
						<select name="LDAP_GROUP[<?=htmlspecialcharsbx($t_id)?>][LDAP_GROUP_ID]" style="width:360px;">
							<option value=""></option>
						<?foreach($arLDAPGroups as $gid => $gname):?>
							<option value="<?=$gid?>" title="<?=$gname?>" <?if(htmlspecialcharsEx($arGroup['LDAP_GROUP_ID'])==$gid)echo ' selected'?>><?=$gname?></option>
						<?endforeach?>
						</select>
					</td>
					<td>
						<?$dbgr = CGroup::GetList($o="sort", $b="asc");?>
						<select name="LDAP_GROUP[<?=htmlspecialcharsbx($t_id)?>][GROUP_ID]" style="width:360px;">
							<option value=""></option>
						<?while($argr = $dbgr->GetNext()):
							if ($argr['ID'] == 2)
								continue;
							?>
							<option value="<?=$argr['ID']?>" title="<?=$argr['NAME']?>  [<?=$argr['ID']?>]" <?if($arGroup['GROUP_ID']==$argr['ID'])echo ' selected'?>><?=$argr['NAME']?> [<?=$argr['ID']?>]</option>
						<?endwhile?>
						</select>
					</td>
					<td align="center">
						<?if(strlen($arGroup['LDAP_GROUP_ID'])>0 || $arGroup['GROUP_ID']>0):?>
							<input type="checkbox" name="LDAP_GROUP[<?=htmlspecialcharsbx($t_id)?>][DEL_GROUP]" value="Y" <?if($arGroup['DEL_GROUP']=='Y')echo ' checked'?>>
						<?endif;?>
					</td>
				</tr>
				<?endforeach?>
				<tr>
					<td colspan="3"><input type="submit" name="more_groups" value="<?echo GetMessage("LDAP_EDIT_GROUP_MAP_MORE")?>"></td>
				</tr>
			</table>
		</td>
	</tr>

	<tr>
		<td colspan="2" align="center">
			<table class="internal" cellspacing="0" cellpadding="0">
				<tr class="heading">
					<td><?echo GetMessage("LDAP_EDIT_GROUP_NOIMPORT")?>:</td>
				</tr>
				<tr>
					<td>
						<select size="8" name="LDAP_NOIMP_GROUPS[]" style="width:360px;" multiple="">
						<?foreach($arLDAPGroups as $gid=>$gname):?>
							<option value="<?=$gid?>" title="<?=$gname?>" <?if(array_key_exists(md5(htmlspecialcharsback($gid)),$noimportGroups)) echo ' selected'?>><?=$gname?></option>
						<?endforeach?>
						</select>
					</td>
				</tr>
			</table>
		</td>
	</tr>

	<?endif;?>


<?$tabControl->BeginNextTab();?>
<script type="text/javascript">
function _SCh(c)
{
	document.getElementById('SYNC_PERIOD').disabled = !c;

	if(document.getElementById('SYNC_PERIOD').value.length<=0)
		document.getElementById('SYNC_PERIOD').value = '24';
	document.getElementById('sc2').disabled = !c;
	document.getElementById('sc3').disabled = !c;
}

</script>
<?
if($str_SYNC=="Y")
	$dis ='';
else
	$dis = ' disabled';
?>
<?if(strlen($str_SYNC_LAST)>0):?>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_LAST_SYNC")?></td>
		<td><?=$str_SYNC_LAST?></td>
	</tr>
<?endif?>
	<tr>
		<td width="40%"><label for="SYNC_USER_ADD"><?echo GetMessage("LDAP_EDIT_SYNC_USER_ADD")?></label></td>
		<td width="60%"><input type="checkbox" id="SYNC_USER_ADD" name="SYNC_USER_ADD" value="Y" <?if($str_SYNC_USER_ADD=="Y")echo ' checked'?>></td>
	</tr>
	<tr>
		<td width="40%"><label for="SYNC"><?echo GetMessage("LDAP_EDIT_SYNC")?></label></td>
		<td width="60%"><input type="checkbox" id="SYNC" name="SYNC" value="Y" <?if($str_SYNC=="Y")echo ' checked'?> onclick="_SCh(this.checked);"></td>
	</tr>
	<tr id="sc3"<?=$dis?>>
		<td id="sc2"<?=$dis?>><?echo GetMessage("LDAP_EDIT_SYNC_PERIOD")?></td>
		<td><input type="text" id="SYNC_PERIOD" name="SYNC_PERIOD" size="10" maxlength="18" value="<?=$str_SYNC_PERIOD?>"<?=$dis?>> <?echo GetMessage("LDAP_EDIT_SYNC_PERIOD_H")?></td>
	</tr>
	<tr>
		<td><?echo GetMessage("LDAP_EDIT_SYNC_ATTR")?></td>
		<td><input type="text" id="SYNC_ATTR" name="SYNC_ATTR" size="20" maxlength="255" value="<?=$str_SYNC_ATTR?>"></td>
	</tr>
<?
$tabControl->Buttons(Array("disabled"=> $MOD_RIGHT<"W" ,"back_url" =>"ldap_server_admin.php?lang=".LANG.GetFilterParams("filter_", false)));
$tabControl->End();?>

</form>

<?$tabControl->ShowWarnings("form1", $message);?>
<a name="notes" ></a>
<?echo BeginNote();?>
<span class="required">**</span> <?echo GetMessage("LDAP_EDIT_SYNC_NOTES")?>
<?echo EndNote();?>
<?require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_admin.php");?>