Merge branch 'MDL-75951-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE

This commit is contained in:
Ilya Tregubov
2022-12-02 11:55:54 +03:00
2 changed files with 35 additions and 4 deletions
+6 -1
View File
@@ -4,6 +4,11 @@ Description of Spout library import
* Only include the src/Spout directory.
* Update lib/thirdpartylibs.xml with the latest version.
2022/11/25
----------
Imported PHP 8.1 patch from OpenSpout/OpenSpout 4.8.1
https://github.com/openspout/openspout/commit/64a09a748d04992d63b38712599a9d8742bd77f7
2022/10/27
----------
Changes:
@@ -37,4 +42,4 @@ by Ankit Agarwal <[email protected]>
2016/09/20
----------
Updated to v2.6.0 (MDL-56012)
by Adrian Greeve <[email protected]>
by Adrian Greeve <[email protected]>
+29 -3
View File
@@ -3,6 +3,9 @@
namespace Box\Spout\Reader\CSV;
use Box\Spout\Common\Exception\IOException;
use Box\Spout\Common\Helper\GlobalFunctionsHelper;
use Box\Spout\Common\Manager\OptionsManagerInterface;
use Box\Spout\Reader\Common\Creator\InternalEntityFactoryInterface;
use Box\Spout\Reader\Common\Entity\Options;
use Box\Spout\Reader\CSV\Creator\InternalEntityFactory;
use Box\Spout\Reader\ReaderAbstract;
@@ -22,6 +25,23 @@ class Reader extends ReaderAbstract
/** @var string Original value for the "auto_detect_line_endings" INI value */
protected $originalAutoDetectLineEndings;
/** @var bool Whether the code is running with PHP >= 8.1 */
private $isRunningAtLeastPhp81;
/**
* @param OptionsManagerInterface $optionsManager
* @param GlobalFunctionsHelper $globalFunctionsHelper
* @param InternalEntityFactoryInterface $entityFactory
*/
public function __construct(
OptionsManagerInterface $optionsManager,
GlobalFunctionsHelper $globalFunctionsHelper,
InternalEntityFactoryInterface $entityFactory
) {
parent::__construct($optionsManager, $globalFunctionsHelper, $entityFactory);
$this->isRunningAtLeastPhp81 = \version_compare(PHP_VERSION, '8.1.0') >= 0;
}
/**
* Sets the field delimiter for the CSV.
* Needs to be called before opening the reader.
@@ -84,8 +104,11 @@ class Reader extends ReaderAbstract
*/
protected function openReader($filePath)
{
$this->originalAutoDetectLineEndings = \ini_get('auto_detect_line_endings');
\ini_set('auto_detect_line_endings', '1');
// "auto_detect_line_endings" is deprecated in PHP 8.1
if (!$this->isRunningAtLeastPhp81) {
$this->originalAutoDetectLineEndings = \ini_get('auto_detect_line_endings');
\ini_set('auto_detect_line_endings', '1');
}
$this->filePointer = $this->globalFunctionsHelper->fopen($filePath, 'r');
if (!$this->filePointer) {
@@ -123,6 +146,9 @@ class Reader extends ReaderAbstract
$this->globalFunctionsHelper->fclose($this->filePointer);
}
\ini_set('auto_detect_line_endings', $this->originalAutoDetectLineEndings);
// "auto_detect_line_endings" is deprecated in PHP 8.1
if (!$this->isRunningAtLeastPhp81) {
\ini_set('auto_detect_line_endings', $this->originalAutoDetectLineEndings);
}
}
}