• Модуль: ldap
  • Путь к файлу: ~/bitrix/modules/ldap/classes/general/ldap_util.php
  • Класс: CLdapUtil
  • Вызов: CLdapUtil::GetSynFields
static function GetSynFields()
{
	static $arSyncFields =	false;
	if(!is_array($arSyncFields))
	{
		// "Field in CUser"=>Array("NAME" => "Name in Bitrix CMS", "AD"=>"Default attribute in AD", "LDAP"=>"Default Attribute in LDAP")
		$arSyncFields = Array(
			"ACTIVE"				=>Array("NAME" => GetMessage("LDAP_FIELD_ACTIVE"), "AD"=>"UserAccountControl&2"),
			"EMAIL"					=>Array("NAME" => GetMessage("LDAP_FIELD_EMAIIL"), "AD"=>"mail", "LDAP"=>"email"),
			"NAME"					=>Array("NAME" => GetMessage("LDAP_FIELD_NAME"), "AD"=>"givenName", "LDAP"=>"cn"),
			"LAST_NAME"				=>Array("NAME" => GetMessage("LDAP_FIELD_LAST_NAME"), "AD"=>"sn", "LDAP"=>"sn"),
			"SECOND_NAME"			=>Array("NAME" => GetMessage("LDAP_FIELD_SECOND_NAME")),
			"PERSONAL_GENDER"		=>Array("NAME" => GetMessage("LDAP_FIELD_GENDER")),
			"PERSONAL_BIRTHDAY"		=>Array("NAME" => GetMessage("LDAP_FIELD_BIRTHDAY")),
			"PERSONAL_PROFESSION"	=>Array("NAME" => GetMessage("LDAP_FIELD_PROF")),
			"PERSONAL_PHOTO"		=>Array("NAME" => GetMessage("LDAP_FIELD_PHOTO"), "AD"=>"thumbnailPhoto", "LDAP"=>"jpegPhoto"),
			"PERSONAL_WWW"			=>Array("NAME" => GetMessage("LDAP_FIELD_WWW"), "AD"=>"wWWHomePage"),
			"PERSONAL_ICQ"			=>Array("NAME" => "ICQ"),
			"PERSONAL_PHONE"		=>Array("NAME" => GetMessage("LDAP_FIELD_PHONE"), "AD"=>"homePhone"),
			"PERSONAL_FAX"			=>Array("NAME" => GetMessage("LDAP_FIELD_FAX")),
			"PERSONAL_MOBILE"		=>Array("NAME" => GetMessage("LDAP_FIELD_MOB"), "AD"=>"mobile"),
			"PERSONAL_PAGER"		=>Array("NAME" => GetMessage("LDAP_FIELD_PAGER")),
			"PERSONAL_STREET"		=>Array("NAME" => GetMessage("LDAP_FIELD_STREET"), "AD"=>"streetAddress"),
			"PERSONAL_MAILBOX"		=>Array("NAME" => GetMessage("LDAP_FIELD_MAILBOX"), "AD"=>"postOfficeBox"),
			"PERSONAL_CITY"			=>Array("NAME" => GetMessage("LDAP_FIELD_CITY"), "AD"=>"l"),
			"PERSONAL_STATE"		=>Array("NAME" => GetMessage("LDAP_FIELD_STATE"), "AD"=>"st"),
			"PERSONAL_ZIP"			=>Array("NAME" => GetMessage("LDAP_FIELD_ZIP"), "AD"=>"postalCode"),
			"PERSONAL_COUNTRY"		=>Array("NAME" => GetMessage("LDAP_FIELD_COUNTRY"), "AD"=>"c"),
			//"PERSONAL_NOTES"		=>Array("NAME" => "Personal notes"),
			"WORK_COMPANY"			=>Array("NAME" => GetMessage("LDAP_FIELD_COMPANY"), "AD"=>"company"),
			"WORK_DEPARTMENT"		=>Array("NAME" => GetMessage("LDAP_FIELD_DEP"), "AD"=>"department"),
			"WORK_POSITION"			=>Array("NAME" => GetMessage("LDAP_FIELD_POS"), "AD"=>"title"),
			//"WORK_WWW"			=>Array("NAME" => "Company web page"),
			"WORK_PHONE"			=>Array("NAME" => GetMessage("LDAP_FIELD_WORK_PHONE"), "AD"=>"telephoneNumber"),
			"WORK_FAX"				=>Array("NAME" => GetMessage("LDAP_FIELD_WORK_FAX"), "AD"=>"facsimileTelephoneNumber"),
			"WORK_PAGER"			=>Array("NAME" => GetMessage("LDAP_FIELD_WORK_PAGER")),
			//"WORK_STREET"			=>Array("NAME" => "Work address"),
			//"WORK_MAILBOX"		=>Array("NAME" => ""),
			//"WORK_CITY"			=>Array("NAME" => ""),
			//"WORK_STATE"			=>Array("NAME" => ""),
			//"WORK_ZIP"			=>Array("NAME" => ""),
			//"WORK_COUNTRY"		=>Array("NAME" => ""),
			//"WORK_PROFILE"		=>Array("NAME" => ""),
			//"WORK_NOTES"			=>Array("NAME" => "Additional notes"),
			"ADMIN_NOTES"			=>Array("NAME" => GetMessage("LDAP_FIELD_ADMIN_NOTES"), "AD"=>"description"),
		);

		$arRes = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER", 0, LANGUAGE_ID);
		foreach($arRes as $pr_id=>$pr_v)
			if($pr_v["EDIT_FORM_LABEL"]!='')
				$arSyncFields[$pr_id] = Array("NAME"=>$pr_v["EDIT_FORM_LABEL"]);
	}

	return $arSyncFields;
}