• Модуль: translate
  • Путь к файлу: ~/bitrix/modules/translate/lib/componentbase.php
  • Класс: BitrixTranslateComponentBase
  • Вызов: ComponentBase::sendJsonResponse
protected function sendJsonResponse($response)
{
	$this->getApplication()->restartBuffer();

	$answer = MainApplication::getInstance()->getContext()->getResponse();

	if ($response instanceof MainError)
	{
		$this->addError($response);
		$response = array();
	}

	$response['result'] = true;
	if ($this->hasErrors())
	{
		$answer->setStatus('500 Internal Server Error');

		$response['status'] = self::STATUS_ERROR;
		$errors = array();
		foreach ($this->getErrors() as $error)
		{
			/** @var MainError $error */
			$errors[] = array(
				'message' => $error->getMessage(),
				'code' => $error->getCode(),
			);
		}
		$response['result'] = false;
		$response['errors'] = $errors;
	}
	elseif (!isset($response['status']))
	{
		$response['status'] = self::STATUS_SUCCESS;
	}

	$answer->addHeader('Content-Type', 'application/x-javascript; charset=UTF-8');
	echo MainWebJson::encode($response);

	CMain::finalActions();
}