![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-inventory-import-export/Model/Export/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\InventoryImportExport\Model\Export; use Exception; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\ImportExport\Model\Export\Factory as ExportFactory; use Magento\ImportExport\Model\Export\AbstractEntity; use Magento\Inventory\Model\ResourceModel\SourceItem; use Magento\Inventory\Model\ResourceModel\SourceItem\Collection as SourceItemCollection; use Magento\InventoryImportExport\Model\Export\SourceItemCollectionFactoryInterface; use Magento\InventoryImportExport\Model\Export\ColumnProviderInterface; use Magento\Store\Model\StoreManagerInterface; use Magento\ImportExport\Model\ResourceModel\CollectionByPagesIteratorFactory; /** * @inheritdoc */ class Sources extends AbstractEntity { /** * @var AttributeCollectionProvider */ private $attributeCollectionProvider; /** * @var SourceItemCollectionFactoryInterface */ private $sourceItemCollectionFactory; /** * @var ColumnProviderInterface */ private $columnProvider; /** * @param ScopeConfigInterface $scopeConfig * @param StoreManagerInterface $storeManager * @param ExportFactory $collectionFactory * @param CollectionByPagesIteratorFactory $resourceColFactory * @param AttributeCollectionProvider $attributeCollectionProvider * @param SourceItemCollectionFactoryInterface $sourceItemCollectionFactory * @param ColumnProviderInterface $columnProvider * @param array $data */ public function __construct( ScopeConfigInterface $scopeConfig, StoreManagerInterface $storeManager, ExportFactory $collectionFactory, CollectionByPagesIteratorFactory $resourceColFactory, AttributeCollectionProvider $attributeCollectionProvider, SourceItemCollectionFactoryInterface $sourceItemCollectionFactory, ColumnProviderInterface $columnProvider, array $data = [] ) { $this->attributeCollectionProvider = $attributeCollectionProvider; $this->sourceItemCollectionFactory = $sourceItemCollectionFactory; $this->columnProvider = $columnProvider; parent::__construct($scopeConfig, $storeManager, $collectionFactory, $resourceColFactory, $data); } /** * @inheritdoc * @throws \Exception */ public function getAttributeCollection() { return $this->attributeCollectionProvider->get(); } /** * @inheritdoc * @throws Exception */ public function export() { $writer = $this->getWriter(); $writer->setHeaderCols($this->_getHeaderColumns()); /** @var SourceItemCollection $collection */ $collection = $this->sourceItemCollectionFactory->create( $this->getAttributeCollection(), $this->_parameters ); foreach ($collection->getData() as $data) { unset($data[SourceItem::ID_FIELD_NAME]); $writer->writeRow($data); } return $writer->getContents(); } /** * @inheritdoc * @throws Exception */ protected function _getHeaderColumns() { return $this->columnProvider->getHeaders($this->getAttributeCollection(), $this->_parameters); } /** * @inheritdoc * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function exportItem($item) { // will not implement this method as it is legacy interface } /** * @inheritdoc */ public function getEntityTypeCode() { return 'stock_sources'; } /** * @inheritdoc */ protected function _getEntityCollection() { // will not implement this method as it is legacy interface } }