• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/hrxml.php
  • Класс: CUserHRXMLImport
  • Вызов: CUserHRXMLImport::PrepareAnswer
function PrepareAnswer($applicationArea)
{
	$answer = array(
		'ApplicationArea' => array(
			'CreationDateTime' => date ('Y-m-dTH:i:s'),
		),
		'DataArea'=>array(
			'Confirm' => array(
				'OriginalApplicationArea' => array(
					'Sender' => array(
					),
					'CreationDateTime' => $applicationArea->CreationDateTime,
					'BODID' => $applicationArea->BODID,
				),
			),
			'BOD' => array(),
		),
	);

	if (isset($applicationArea->Sender->LogicalID))
		$answer['DataArea']['Confirm']['OriginalApplicationArea']['Sender']['LogicalID'] = $this->ConvertCharset($applicationArea->Sender->LogicalID);
	if (isset($applicationArea->Sender->ComponentID))
		$answer['DataArea']['Confirm']['OriginalApplicationArea']['Sender']['ComponentID'] = $this->ConvertCharset($applicationArea->Sender->ComponentID);
	if (isset($applicationArea->Sender->TaskID))
		$answer['DataArea']['Confirm']['OriginalApplicationArea']['Sender']['TaskID'] = $this->ConvertCharset($applicationArea->Sender->TaskID);
	if (isset($applicationArea->Sender->ConfirmationCode))
		$answer['DataArea']['Confirm']['OriginalApplicationArea']['Sender']['ConfirmationCode'] = $this->ConvertCharset($applicationArea->Sender->ConfirmationCode);
	if (!empty($this->errors))
	{
		$answer['DataArea']['BOD']['BODFailureMessage'] = array(
			'ErrorProcessMessage' => array(),
		);
		foreach ($this->errors as $message)
		{
			$message = htmlspecialcharsbx($message);
			$answer['DataArea']['BOD']['BODFailureMessage']['ErrorProcessMessage'][] = array('Description'=>$message);
		}
		if (!empty($this->warnings))
		{
			$answer['DataArea']['BOD']['BODFailureMessage']['WarningProcessMessage'] = array();
			foreach ($this->warnings as $message) {
				$message = htmlspecialcharsbx($message);
				$answer['DataArea']['BOD']['BODFailureMessage']['WarningProcessMessage'][] = array('Description'=>$message);
			}
		}
	}
	else
	{
		if (!empty($this->warnings))
		{
			$answer['DataArea']['BOD']['BODSuccessMessage']['WarningProcessMessage'] = array();
			foreach ($this->warnings as $message)
			{
				$message = htmlspecialcharsbx($message);
				$answer['DataArea']['BOD']['BODSuccessMessage']['WarningProcessMessage'][] = array('Description'=>$message);
			}
		}
		else
		{
			$answer['DataArea']['BOD']['BODSuccessMessage'] = array();
		}
	}
	$converter = new CArray2XML('ConfirmBOD >> xmlns="http://www.openapplications.org/oagis/9" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" releaseID="3.2" systemEnvironmentCode="Production" languageCode="ru-RU"');
	return $converter->Convert($answer);
}