• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/ws_contacts.php
  • Класс: CIntranetContactsWS
  • Вызов: CIntranetContactsWS::GetList
function GetList($listName)
{
	global $APPLICATION;

	if (!$listName_original = CIntranetUtils::checkGUID($listName))
	{
		return new CSoapFault(
			'Data error',
			'Wrong GUID - '.$listName
		);
	}

	$listName = ToUpper(CIntranetUtils::makeGUID($listName_original));

	/*
	$obRes = CIBlockSection::GetList(array('SORT' => 'ASC'), array('XML_ID' => $listName_original));
	if (!$arSection = $obRes->Fetch())
	{
		return new CSoapFault(
			'List not found',
			'List with '.$listName.' GUID not found'
		);
	}
	*/

	//$dbAuthor = CUser::GetByID($arSection['CREATED_BY']);
	//$arAuthor = $dbAuthor->Fetch();

	$data = new CXMLCreator('List');
	$data->setAttribute('ID', $listName);
	$data->setAttribute('Name', $listName);
	//$data->setAttribute('Title', $arSection['NAME']);
	if (defined("IS_EXTRANET") && IS_EXTRANET == "Y" && defined("IS_EMPLOYEES") && IS_EMPLOYEES == "Y")
		$data->setAttribute('Title', GetMessage('INTR_OUTLOOK_TITLE_CONTACTS'));
	elseif (defined("IS_EXTRANET") && IS_EXTRANET == "Y")
		$data->setAttribute('Title', GetMessage('INTR_OUTLOOK_TITLE_CONTACTS_EXTRANET'));
	else
		$data->setAttribute('Title', GetMessage('INTR_OUTLOOK_TITLE_CONTACTS'));

	$data->setAttribute('Created', date('Ymd H:i:s'));
	$data->setAttribute('Modified', date('Ymd H:i:s'));
	$data->setAttribute('Direction', 'none'); // RTL, LTR

	$data->setAttribute('ReadSecurity', '2');
	$data->setAttribute('WriteSecurity', '2');

	$data->setAttribute('Author', '1;#admin');

	$data->setAttribute('EnableAttachments', 'True');

	// it's strange and awful but this thing doesn't work at outlook.
	// he always make 2 additional hits: GetAttachmentCollection and direct attachment call, independently from this settings
	//$data->setAttribute('IncludeAttachmentUrls', 'True');
	//$data->setAttribute('IncludeAttachmentVersion', 'False');

	$data->addChild($this->__getFieldsDefinition());

	$data->addChild($obNode = new CXMLCreator('RegionalSettings'));

	$obNode->addChild(CXMLCreator::createTagAttributed('Language', '1049'));
	$obNode->addChild(CXMLCreator::createTagAttributed('Locale', '1049'));
	$obNode->addChild(CXMLCreator::createTagAttributed('SortOrder', '1026'));
	$obNode->addChild(CXMLCreator::createTagAttributed('TimeZone', CIntranetUtils::getOutlookTimeZone()));
	$obNode->addChild(CXMLCreator::createTagAttributed('AdvanceHijri', '0'));
	$obNode->addChild(CXMLCreator::createTagAttributed('CalendarType', '1'));
	$obNode->addChild(CXMLCreator::createTagAttributed('Time24', 'True'));
	$obNode->addChild(CXMLCreator::createTagAttributed('Presence', 'True'));

	$data->addChild($obNode = new CXMLCreator('ServerSettings'));

	$obNode->addChild(CXMLCreator::createTagAttributed('ServerVersion', '14.0.4762.1000'));
	$obNode->addChild(CXMLCreator::createTagAttributed('RecycleBinEnabled', 'False'));
	$obNode->addChild(CXMLCreator::createTagAttributed('ServerRelativeUrl', '/company/'));

	return array('GetListResult' => $data);
}