• Модуль: ldap
  • Путь к файлу: ~/bitrix/modules/ldap/classes/general/ldap_server.php
  • Класс: CLdapServer
  • Вызов: CLdapServer::SetGroupMap
static function SetGroupMap($ID, $arFields)
{
	global $DB, $APPLICATION;
	$ID = intval($ID);
	$DB->Query("DELETE FROM b_ldap_group WHERE LDAP_SERVER_ID=".$ID);
	foreach($arFields as $arGroup)
	{
		// check whether entry is valid, and if it is - add it
		if(array_key_exists('GROUP_ID',$arGroup) && ($arGroup['GROUP_ID']>0 || $arGroup['GROUP_ID']==-1) && $arGroup['LDAP_GROUP_ID'] <> '')
		{
			$strSql =
				"SELECT 'x' ".
				"FROM b_ldap_group ".
				"WHERE LDAP_SERVER_ID=".$ID." ".
				"	AND GROUP_ID = ".intval($arGroup['GROUP_ID'])." ".
				"	AND LDAP_GROUP_ID = '".$DB->ForSQL($arGroup['LDAP_GROUP_ID'], 255)."' ";
			$r = $DB->Query($strSql);
			if(!$r->Fetch())
			{
				$strSql =
					"INSERT INTO b_ldap_group(GROUP_ID, LDAP_GROUP_ID, LDAP_SERVER_ID)".
					"VALUES(".intval($arGroup['GROUP_ID']).", '".$DB->ForSQL($arGroup['LDAP_GROUP_ID'], 255)."', ".$ID.")";
				$DB->Query($strSql);
			}
		}
	}
}