![]() 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-import-export/Model/Export/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\ImportExport\Model\Export; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\Exception\FileSystemException; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Filesystem; use Magento\Framework\Locale\ResolverInterface; use Magento\ImportExport\Api\Data\LocalizedExportInfoInterface; use Magento\ImportExport\Api\ExportManagementInterface; use Magento\Framework\Notification\NotifierInterface; /** * Consumer for export message. */ class Consumer { /** * @var NotifierInterface */ private $notifier; /** * @var \Psr\Log\LoggerInterface */ private $logger; /** * @var ExportManagementInterface */ private $exportManager; /** * @var Filesystem */ private $filesystem; /** * @var ResolverInterface */ private $localeResolver; /** * Consumer constructor. * @param \Psr\Log\LoggerInterface $logger * @param ExportManagementInterface $exportManager * @param Filesystem $filesystem * @param NotifierInterface $notifier * @param ResolverInterface $localeResolver */ public function __construct( \Psr\Log\LoggerInterface $logger, ExportManagementInterface $exportManager, Filesystem $filesystem, NotifierInterface $notifier, ResolverInterface $localeResolver ) { $this->logger = $logger; $this->exportManager = $exportManager; $this->filesystem = $filesystem; $this->notifier = $notifier; $this->localeResolver = $localeResolver; } /** * Consumer logic. * * @param LocalizedExportInfoInterface $exportInfo * @return void */ public function process(LocalizedExportInfoInterface $exportInfo) { $currentLocale = $this->localeResolver->getLocale(); if ($exportInfo->getLocale()) { $this->localeResolver->setLocale($exportInfo->getLocale()); } try { $data = $this->exportManager->export($exportInfo); $fileName = $exportInfo->getFileName(); $directory = $this->filesystem->getDirectoryWrite(DirectoryList::VAR_IMPORT_EXPORT); $directory->writeFile('export/' . $fileName, $data); $this->notifier->addMajor( __('Your export file is ready'), __('You can pick up your file at export main page') ); } catch (LocalizedException | FileSystemException $exception) { $this->notifier->addCritical( __('Error during export process occurred'), __('Error during export process occurred. Please check logs for detail') ); $this->logger->critical('Something went wrong while export process. ' . $exception->getMessage()); } finally { $this->localeResolver->setLocale($currentLocale); } } }