• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/tradingplatform/vk/feed/data/processors/albumsdeleteall.php
  • Класс: BitrixSaleTradingPlatformVkFeedDataProcessorsAlbumsDeleteAll
  • Вызов: AlbumsDeleteAll::process
public function process($data = NULL, Timer $timer = NULL)
{
	$apiHelper = new VkApiApiHelper($this->exportId);
	$albumsFromVk = $apiHelper->getALbumsFromVk($this->vkGroupId, false);
	$albumsMapped = VkMap::getMappedAlbums($this->exportId);

//		delete ALL from mapping
	$albumsMappedToRemove = array();
	foreach ($albumsMapped as $albumMapped)
	{
		$albumsMappedToRemove[] = array("VALUE_EXTERNAL" => $albumMapped["ALBUM_VK_ID"]);
	}

	if (!empty($albumsMappedToRemove))
	{
		VkMap::removeAlbumMapping($albumsMappedToRemove, $this->exportId);
	}


//		formatted data
	foreach ($albumsFromVk as &$album)
	{
		$album = array('ALBUM_VK_ID' => $album);
	}
	$albumsFromVk = array_chunk($albumsFromVk, VkVk::MAX_EXECUTION_ITEMS);    // max 25 items in execute()
	foreach ($albumsFromVk as $chunk)
	{
		$this->executer->executeMarketAlbumDelete(array(
			"owner_id" => $this->vkGroupId,
			"data" => $chunk,
			"count" => count($chunk),
		));

//			abstract start position - only for continue export, not for rewind to position
		if ($timer !== NULL && !$timer->check())
			throw new TimeIsOverException("Timelimit for export is over", '1');
	}

//		remove products from cache
	$vkExportedData = new VkVkExportedData($this->exportId, 'ALBUMS');
	$vkExportedData->removeData();

	return true;
}