feat: Version 3.5.2 - Configuration Stripe et gestion des immeubles
- Configuration complète Stripe pour les 3 environnements (DEV/REC/PROD) * DEV: Clés TEST Pierre (mode test) * REC: Clés TEST Client (mode test) * PROD: Clés LIVE Client (mode live) - Ajout de la gestion des bases de données immeubles/bâtiments * Configuration buildings_database pour DEV/REC/PROD * Service BuildingService pour enrichissement des adresses - Optimisations pages et améliorations ergonomie - Mises à jour des dépendances Composer - Nettoyage des fichiers obsolètes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\IValueBinder;
|
||||
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Exception as ReaderException;
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner;
|
||||
@@ -19,7 +20,7 @@ abstract class BaseReader implements IReader
|
||||
|
||||
/**
|
||||
* Read empty cells?
|
||||
* Identifies whether the Reader should read data values for cells all cells, or should ignore cells containing
|
||||
* Identifies whether the Reader should read data values for all cells, or should ignore cells containing
|
||||
* null value or empty string.
|
||||
*/
|
||||
protected bool $readEmptyCells = true;
|
||||
@@ -46,6 +47,19 @@ abstract class BaseReader implements IReader
|
||||
*/
|
||||
protected bool $ignoreRowsWithNoCells = false;
|
||||
|
||||
/**
|
||||
* Allow external images. Use with caution.
|
||||
* Improper specification of these within a spreadsheet
|
||||
* can subject the caller to security exploits.
|
||||
*/
|
||||
protected bool $allowExternalImages = false;
|
||||
|
||||
/**
|
||||
* Create a blank sheet if none are read,
|
||||
* possibly due to a typo when using LoadSheetsOnly.
|
||||
*/
|
||||
protected bool $createBlankSheetIfNoneRead = false;
|
||||
|
||||
/**
|
||||
* IReadFilter instance.
|
||||
*/
|
||||
@@ -56,6 +70,8 @@ abstract class BaseReader implements IReader
|
||||
|
||||
protected ?XmlScanner $securityScanner = null;
|
||||
|
||||
protected ?IValueBinder $valueBinder = null;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->readFilter = new DefaultReadFilter();
|
||||
@@ -109,11 +125,13 @@ abstract class BaseReader implements IReader
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** @return null|string[] */
|
||||
public function getLoadSheetsOnly(): ?array
|
||||
{
|
||||
return $this->loadSheetsOnly;
|
||||
}
|
||||
|
||||
/** @param null|string|string[] $sheetList */
|
||||
public function setLoadSheetsOnly(string|array|null $sheetList): self
|
||||
{
|
||||
if ($sheetList === null) {
|
||||
@@ -144,6 +162,34 @@ abstract class BaseReader implements IReader
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow external images. Use with caution.
|
||||
* Improper specification of these within a spreadsheet
|
||||
* can subject the caller to security exploits.
|
||||
*/
|
||||
public function setAllowExternalImages(bool $allowExternalImages): self
|
||||
{
|
||||
$this->allowExternalImages = $allowExternalImages;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getAllowExternalImages(): bool
|
||||
{
|
||||
return $this->allowExternalImages;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a blank sheet if none are read,
|
||||
* possibly due to a typo when using LoadSheetsOnly.
|
||||
*/
|
||||
public function setCreateBlankSheetIfNoneRead(bool $createBlankSheetIfNoneRead): self
|
||||
{
|
||||
$this->createBlankSheetIfNoneRead = $createBlankSheetIfNoneRead;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSecurityScanner(): ?XmlScanner
|
||||
{
|
||||
return $this->securityScanner;
|
||||
@@ -166,12 +212,21 @@ abstract class BaseReader implements IReader
|
||||
if (((bool) ($flags & self::READ_DATA_ONLY)) === true) {
|
||||
$this->setReadDataOnly(true);
|
||||
}
|
||||
if (((bool) ($flags & self::SKIP_EMPTY_CELLS) || (bool) ($flags & self::IGNORE_EMPTY_CELLS)) === true) {
|
||||
if (((bool) ($flags & self::IGNORE_EMPTY_CELLS)) === true) {
|
||||
$this->setReadEmptyCells(false);
|
||||
}
|
||||
if (((bool) ($flags & self::IGNORE_ROWS_WITH_NO_CELLS)) === true) {
|
||||
$this->setIgnoreRowsWithNoCells(true);
|
||||
}
|
||||
if (((bool) ($flags & self::ALLOW_EXTERNAL_IMAGES)) === true) {
|
||||
$this->setAllowExternalImages(true);
|
||||
}
|
||||
if (((bool) ($flags & self::DONT_ALLOW_EXTERNAL_IMAGES)) === true) {
|
||||
$this->setAllowExternalImages(false);
|
||||
}
|
||||
if (((bool) ($flags & self::CREATE_BLANK_SHEET_IF_NONE_READ)) === true) {
|
||||
$this->setCreateBlankSheetIfNoneRead(true);
|
||||
}
|
||||
}
|
||||
|
||||
protected function loadSpreadsheetFromFile(string $filename): Spreadsheet
|
||||
@@ -218,6 +273,8 @@ abstract class BaseReader implements IReader
|
||||
|
||||
/**
|
||||
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns).
|
||||
*
|
||||
* @return array<int, array{worksheetName: string, lastColumnLetter: string, lastColumnIndex: int, totalRows: int, totalColumns: int, sheetState: string}>
|
||||
*/
|
||||
public function listWorksheetInfo(string $filename): array
|
||||
{
|
||||
@@ -229,17 +286,34 @@ abstract class BaseReader implements IReader
|
||||
* possibly without parsing the whole file to a Spreadsheet object.
|
||||
* Readers will often have a more efficient method with which
|
||||
* they can override this method.
|
||||
*
|
||||
* @return string[]
|
||||
*/
|
||||
public function listWorksheetNames(string $filename): array
|
||||
{
|
||||
$returnArray = [];
|
||||
$info = $this->listWorksheetInfo($filename);
|
||||
foreach ($info as $infoArray) {
|
||||
if (isset($infoArray['worksheetName'])) {
|
||||
$returnArray[] = $infoArray['worksheetName'];
|
||||
}
|
||||
$returnArray[] = $infoArray['worksheetName'];
|
||||
}
|
||||
|
||||
return $returnArray;
|
||||
}
|
||||
|
||||
public function getValueBinder(): ?IValueBinder
|
||||
{
|
||||
return $this->valueBinder;
|
||||
}
|
||||
|
||||
public function setValueBinder(?IValueBinder $valueBinder): self
|
||||
{
|
||||
$this->valueBinder = $valueBinder;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function newSpreadsheet(): Spreadsheet
|
||||
{
|
||||
return new Spreadsheet();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user