• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/tradingplatform/ebay/feed/data/processors/sftpqueue.php
  • Класс: BitrixSaleTradingPlatformEbayFeedDataProcessorsSftpQueue
  • Вызов: SftpQueue::flushData
protected function flushData()
{
	$fileXml = "";

	$feedDataRes = QueueTable::getList(array(
		"filter" => array(
			"FEED_TYPE" => $this->feedType
		)
	));

	$filePrepared = false;

	while($feedData = $feedDataRes->fetch())
	{
		if(!$filePrepared)
		{
			$fileXml = $this->path."/xml/".$this->feedType."_".$this->fileNameSalt.".xml";
			$this->prepareFile($fileXml);
			$filePrepared = true;
		}

		Ebay::log(Logger::LOG_LEVEL_DEBUG, "EBAY_DATA_PROCESSOR_SFTPQUEUE_FLUSHING", $this->feedType, print_r($feedData["DATA"],true), $this->siteId);

		if(mb_strtolower(SITE_CHARSET) != 'utf-8')
			$feedData["DATA"] = BitrixMainTextEncoding::convertEncoding($feedData["DATA"], SITE_CHARSET, 'UTF-8');

		$res = file_put_contents($fileXml, $feedData["DATA"], FILE_APPEND);

		if($res !== false)
			QueueTable::delete($feedData["ID"]);
		else
			throw new SystemException("Can't flush data feed "".$this->feedType."" to file ".$fileXml);
	}

	if($this->coverTag !== null && $filePrepared)
		file_put_contents($fileXml, "coverTag.">n", FILE_APPEND);

	return $fileXml;
}