- Модуль: 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, "".$this->coverTag.">n", FILE_APPEND);
return $fileXml;
}