![]() 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/setup/src/Magento/Setup/Module/I18n/Dictionary/Writer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Module\I18n\Dictionary\Writer; use Magento\Setup\Module\I18n\Dictionary\Phrase; use Magento\Setup\Module\I18n\Dictionary\WriterInterface; /** * Csv writer */ class Csv implements WriterInterface { /** * File handler * * @var resource */ protected $_fileHandler; /** * Writer construct * * @param string $outputFilename * @throws \InvalidArgumentException */ public function __construct($outputFilename) { if (false === ($fileHandler = @fopen($outputFilename, 'w'))) { throw new \InvalidArgumentException( sprintf('Cannot open file for write dictionary: "%s"', $outputFilename) ); } $this->_fileHandler = $fileHandler; } /** * {@inheritdoc} */ public function write(Phrase $phrase) { $fields = [$phrase->getCompiledPhrase(), $phrase->getCompiledTranslation()]; if (($contextType = $phrase->getContextType()) && ($contextValue = $phrase->getContextValueAsString())) { $fields[] = $contextType; $fields[] = $contextValue; } fputcsv($this->_fileHandler, $fields, ',', '"'); } /** * Destructor for closing resource * * @return void */ public function __destruct() { if ($this->_fileHandler !== STDOUT && is_resource($this->_fileHandler)) { fclose($this->_fileHandler); } } }