Merge pull request #11 from sinabe/feature-qriban-ref
Feature qriban ref
This commit is contained in:
commit
c7a1ab0a72
20
README.md
20
README.md
|
|
@ -1,6 +1,7 @@
|
|||
# Swiss QR Invoice for Dolibarr
|
||||
|
||||
This repository is a set of files to add Swiss QR invoice to Dolibarr ERP/CRM.
|
||||
The model supports QR-IBAN or classic IBAN.
|
||||
|
||||
## Requirement
|
||||
|
||||
|
|
@ -9,7 +10,8 @@ This set of files is actually tested on Dolibarr 16.0.1 with PHP 7.4.29
|
|||
## Installation
|
||||
|
||||
1. Copy each files with the same name in the same directory of the Dolibarr installation.
|
||||
2. Activated invoice templates in the Setup -> Modules/Apllications -> Invoices
|
||||
2. Activated invoice templates in the Setup -> Modules/Apllications -> Invoices.
|
||||
3. In case of QR-IBAN add the variable SI_SWISSQR_REF in Configuration->Other Setup. You receive this number from your bank (BESR-ID).
|
||||
|
||||
## Baed on
|
||||
|
||||
|
|
@ -18,7 +20,8 @@ This set of files is actually tested on Dolibarr 16.0.1 with PHP 7.4.29
|
|||
|
||||
# QR facture suisse pour Dolibarr
|
||||
|
||||
Ce dépôt est un ensemble de fichiers pour ajouter la facture QR suisse à l'ERP/CRM Dolibarr
|
||||
Ce dépôt est un ensemble de fichiers pour ajouter la facture QR suisse à l'ERP/CRM Dolibarr.
|
||||
Le modèle supporte le QR-IBAN ou l'IBAN classic.
|
||||
|
||||
## Prérequis
|
||||
|
||||
|
|
@ -27,11 +30,13 @@ Ces fichiers sont actuellement testés avec Dolibarr 16.0.1 et PHP 7.4.29
|
|||
## Installation
|
||||
|
||||
1. Copier l'ensemble des fichiers dans les mêmes répertoires de votre installation Dolibarr.
|
||||
2. Activer le modèle de facture dans Configuration->Modules/Applications -> Factures
|
||||
2. Activer le modèle de facture dans Configuration->Modules/Applications -> Factures.
|
||||
3. Dans le cas du QR-IBAN ajouter la variable SI_SWISSQR_REF dans Configuration->Divers. Vous recevez ce numéro de votre banque (BESR-ID).
|
||||
|
||||
# Swiss QR Invoice für Dolibarr
|
||||
|
||||
Dieses Repository enthält eine Reihe von Dateien, um die Schweizer QR-Rechnung zu Dolibarr ERP/CRM hinzuzufügen.
|
||||
Die Vorlage unterstützt QR-IBAN oder IBAN classic.
|
||||
|
||||
## Anforderung
|
||||
|
||||
|
|
@ -40,17 +45,20 @@ Dieser Satz von Dateien ist auf Dolibarr 16.0.1 mit PHP 7.4.29 getestet.
|
|||
## Installation
|
||||
|
||||
1. Kopieren Sie alle Dateien mit dem gleichen Namen in das gleiche Verzeichnis der Dolibarr-Installation.
|
||||
2. Aktivieren Sie die Rechnungsvorlagen im Setup -> Module/Applikationen -> Rechnungen
|
||||
2. Aktivieren Sie die Rechnungsvorlagen im Setup -> Module/Applikationen -> Rechnungen.
|
||||
3. Im Fall von QR-IBAN fügen Sie die Variable SI_SWISSQR_REF in Konfiguration->Diverses hinzu. Sie erhalten diese Nummer von Ihrer Bank (BESR-ID).
|
||||
|
||||
# Fattura QR svizzera per Dolibarr
|
||||
|
||||
Questo repository è un insieme di file per aggiungere la fattura Swiss QR all'ERP/CRM Dolibarr.
|
||||
Il modello supporta QR-IBAN o IBAN classico.
|
||||
|
||||
## Requisiti
|
||||
|
||||
Questo set di file è stato testato su Dolibarr 16.0.1 con PHP 7.4.29.
|
||||
Questo set di file è stato testato su Dolibarr 16.0.1 con PHP 7.4.29
|
||||
|
||||
## Installazione
|
||||
|
||||
1. Copiare i file con lo stesso nome nella stessa directory dell'installazione di Dolibarr.
|
||||
2. Attivare i modelli di fattura in Impostazione -> Moduli/Allegati -> Fatture.
|
||||
2. Attivare i modelli di fattura in Impostazione -> Moduli/Allegati -> Fatture.
|
||||
3. In caso di QR-IBAN, aggiungere la variabile SI_SWISSQR_REF in Configurazione->Varie. Questo numero viene fornito dalla banca (BESR-ID).
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -59,24 +59,27 @@
|
|||
},
|
||||
{
|
||||
"name": "dasprid/enum",
|
||||
"version": "1.0.3",
|
||||
"version_normalized": "1.0.3.0",
|
||||
"version": "1.0.4",
|
||||
"version_normalized": "1.0.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DASPRiD/Enum.git",
|
||||
"reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2"
|
||||
"reference": "8e6b6ea76eabbf19ea2bf5b67b98e1860474012f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DASPRiD/Enum/zipball/5abf82f213618696dda8e3bf6f64dd042d8542b2",
|
||||
"reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2",
|
||||
"url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8e6b6ea76eabbf19ea2bf5b67b98e1860474012f",
|
||||
"reference": "8e6b6ea76eabbf19ea2bf5b67b98e1860474012f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1 <9.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7 | ^8 | ^9",
|
||||
"squizlabs/php_codesniffer": "^3.4"
|
||||
"squizlabs/php_codesniffer": "*"
|
||||
},
|
||||
"time": "2020-10-02T16:03:48+00:00",
|
||||
"time": "2023-03-01T18:44:03+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -103,7 +106,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/DASPRiD/Enum/issues",
|
||||
"source": "https://github.com/DASPRiD/Enum/tree/1.0.3"
|
||||
"source": "https://github.com/DASPRiD/Enum/tree/1.0.4"
|
||||
},
|
||||
"install-path": "../dasprid/enum"
|
||||
},
|
||||
|
|
@ -500,17 +503,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/intl",
|
||||
"version": "v5.4.15",
|
||||
"version_normalized": "5.4.15.0",
|
||||
"version": "v5.4.21",
|
||||
"version_normalized": "5.4.21.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/intl.git",
|
||||
"reference": "2cb39da7f6e7b7344d7d5317dbee8db9d12cc714"
|
||||
"reference": "32c2d958b88f5c7f0b080774d7d15d4c87769bc8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/intl/zipball/2cb39da7f6e7b7344d7d5317dbee8db9d12cc714",
|
||||
"reference": "2cb39da7f6e7b7344d7d5317dbee8db9d12cc714",
|
||||
"url": "https://api.github.com/repos/symfony/intl/zipball/32c2d958b88f5c7f0b080774d7d15d4c87769bc8",
|
||||
"reference": "32c2d958b88f5c7f0b080774d7d15d4c87769bc8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -521,7 +524,7 @@
|
|||
"require-dev": {
|
||||
"symfony/filesystem": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"time": "2022-10-19T14:28:49+00:00",
|
||||
"time": "2023-02-17T21:35:35+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -571,7 +574,7 @@
|
|||
"localization"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/intl/tree/v5.4.15"
|
||||
"source": "https://github.com/symfony/intl/tree/v5.4.21"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -591,17 +594,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/options-resolver",
|
||||
"version": "v5.4.11",
|
||||
"version_normalized": "5.4.11.0",
|
||||
"version": "v5.4.21",
|
||||
"version_normalized": "5.4.21.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/options-resolver.git",
|
||||
"reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690"
|
||||
"reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/54f14e36aa73cb8f7261d7686691fd4d75ea2690",
|
||||
"reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
|
||||
"reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -610,7 +613,7 @@
|
|||
"symfony/polyfill-php73": "~1.0",
|
||||
"symfony/polyfill-php80": "^1.16"
|
||||
},
|
||||
"time": "2022-07-20T13:00:38+00:00",
|
||||
"time": "2023-02-14T08:03:56+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -643,7 +646,7 @@
|
|||
"options"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v5.4.11"
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1345,17 +1348,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/property-access",
|
||||
"version": "v5.4.15",
|
||||
"version_normalized": "5.4.15.0",
|
||||
"version": "v5.4.21",
|
||||
"version_normalized": "5.4.21.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/property-access.git",
|
||||
"reference": "0f3e8f40a1d3da90f674b3dd772e4777ccde4273"
|
||||
"reference": "bbd4442bfbdf3992550772539ba743d6d834534f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/property-access/zipball/0f3e8f40a1d3da90f674b3dd772e4777ccde4273",
|
||||
"reference": "0f3e8f40a1d3da90f674b3dd772e4777ccde4273",
|
||||
"url": "https://api.github.com/repos/symfony/property-access/zipball/bbd4442bfbdf3992550772539ba743d6d834534f",
|
||||
"reference": "bbd4442bfbdf3992550772539ba743d6d834534f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1370,7 +1373,7 @@
|
|||
"suggest": {
|
||||
"psr/cache-implementation": "To cache access methods."
|
||||
},
|
||||
"time": "2022-10-27T07:55:40+00:00",
|
||||
"time": "2023-02-16T09:33:00+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -1409,7 +1412,7 @@
|
|||
"reflection"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/property-access/tree/v5.4.15"
|
||||
"source": "https://github.com/symfony/property-access/tree/v5.4.21"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1429,17 +1432,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/property-info",
|
||||
"version": "v5.4.17",
|
||||
"version_normalized": "5.4.17.0",
|
||||
"version": "v5.4.21",
|
||||
"version_normalized": "5.4.21.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/property-info.git",
|
||||
"reference": "12e1f7b3d73b1f3690aa524b92b5de9937507361"
|
||||
"reference": "722737086d76b4edabfc2d50a48cebd4b8cd5546"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/property-info/zipball/12e1f7b3d73b1f3690aa524b92b5de9937507361",
|
||||
"reference": "12e1f7b3d73b1f3690aa524b92b5de9937507361",
|
||||
"url": "https://api.github.com/repos/symfony/property-info/zipball/722737086d76b4edabfc2d50a48cebd4b8cd5546",
|
||||
"reference": "722737086d76b4edabfc2d50a48cebd4b8cd5546",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1467,7 +1470,7 @@
|
|||
"symfony/doctrine-bridge": "To use Doctrine metadata",
|
||||
"symfony/serializer": "To use Serializer metadata"
|
||||
},
|
||||
"time": "2022-12-20T11:10:57+00:00",
|
||||
"time": "2023-02-16T09:33:00+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -1503,7 +1506,7 @@
|
|||
"validator"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/property-info/tree/v5.4.17"
|
||||
"source": "https://github.com/symfony/property-info/tree/v5.4.21"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1523,17 +1526,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v5.4.17",
|
||||
"version_normalized": "5.4.17.0",
|
||||
"version": "v5.4.21",
|
||||
"version_normalized": "5.4.21.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "55733a8664b8853b003e70251c58bc8cb2d82a6b"
|
||||
"reference": "edac10d167b78b1d90f46a80320d632de0bd9f2f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/55733a8664b8853b003e70251c58bc8cb2d82a6b",
|
||||
"reference": "55733a8664b8853b003e70251c58bc8cb2d82a6b",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/edac10d167b78b1d90f46a80320d632de0bd9f2f",
|
||||
"reference": "edac10d167b78b1d90f46a80320d632de0bd9f2f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1553,7 +1556,7 @@
|
|||
"symfony/translation-contracts": "^1.1|^2",
|
||||
"symfony/var-exporter": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"time": "2022-12-12T15:54:21+00:00",
|
||||
"time": "2023-02-22T08:00:55+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -1592,7 +1595,7 @@
|
|||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v5.4.17"
|
||||
"source": "https://github.com/symfony/string/tree/v5.4.21"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1693,17 +1696,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/validator",
|
||||
"version": "v5.4.17",
|
||||
"version_normalized": "5.4.17.0",
|
||||
"version": "v5.4.21",
|
||||
"version_normalized": "5.4.21.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/validator.git",
|
||||
"reference": "621b820204a238d754f7f60241fcbdb1687641ea"
|
||||
"reference": "0ba987d705962a4f6571d31a8e1aed18ad2c9f55"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/validator/zipball/621b820204a238d754f7f60241fcbdb1687641ea",
|
||||
"reference": "621b820204a238d754f7f60241fcbdb1687641ea",
|
||||
"url": "https://api.github.com/repos/symfony/validator/zipball/0ba987d705962a4f6571d31a8e1aed18ad2c9f55",
|
||||
"reference": "0ba987d705962a4f6571d31a8e1aed18ad2c9f55",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -1732,7 +1735,7 @@
|
|||
"require-dev": {
|
||||
"doctrine/annotations": "^1.13|^2",
|
||||
"doctrine/cache": "^1.11|^2.0",
|
||||
"egulias/email-validator": "^2.1.10|^3",
|
||||
"egulias/email-validator": "^2.1.10|^3|^4",
|
||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
||||
"symfony/config": "^4.4|^5.0|^6.0",
|
||||
"symfony/console": "^4.4|^5.0|^6.0",
|
||||
|
|
@ -1761,7 +1764,7 @@
|
|||
"symfony/translation": "For translating validation errors.",
|
||||
"symfony/yaml": ""
|
||||
},
|
||||
"time": "2022-12-21T19:20:17+00:00",
|
||||
"time": "2023-02-22T19:16:45+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -1789,7 +1792,7 @@
|
|||
"description": "Provides tools to validate values",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/validator/tree/v5.4.17"
|
||||
"source": "https://github.com/symfony/validator/tree/v5.4.21"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
'name' => '__root__',
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'reference' => '4f030b05af2d8e0e4875c40d35686b88e7924979',
|
||||
'reference' => '0b5bf953d7af542abca30ebb41f2db12add3f214',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
'__root__' => array(
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'reference' => '4f030b05af2d8e0e4875c40d35686b88e7924979',
|
||||
'reference' => '0b5bf953d7af542abca30ebb41f2db12add3f214',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
|
|
@ -29,9 +29,9 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'dasprid/enum' => array(
|
||||
'pretty_version' => '1.0.3',
|
||||
'version' => '1.0.3.0',
|
||||
'reference' => '5abf82f213618696dda8e3bf6f64dd042d8542b2',
|
||||
'pretty_version' => '1.0.4',
|
||||
'version' => '1.0.4.0',
|
||||
'reference' => '8e6b6ea76eabbf19ea2bf5b67b98e1860474012f',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../dasprid/enum',
|
||||
'aliases' => array(),
|
||||
|
|
@ -92,18 +92,18 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/intl' => array(
|
||||
'pretty_version' => 'v5.4.15',
|
||||
'version' => '5.4.15.0',
|
||||
'reference' => '2cb39da7f6e7b7344d7d5317dbee8db9d12cc714',
|
||||
'pretty_version' => 'v5.4.21',
|
||||
'version' => '5.4.21.0',
|
||||
'reference' => '32c2d958b88f5c7f0b080774d7d15d4c87769bc8',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/intl',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/options-resolver' => array(
|
||||
'pretty_version' => 'v5.4.11',
|
||||
'version' => '5.4.11.0',
|
||||
'reference' => '54f14e36aa73cb8f7261d7686691fd4d75ea2690',
|
||||
'pretty_version' => 'v5.4.21',
|
||||
'version' => '5.4.21.0',
|
||||
'reference' => '4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/options-resolver',
|
||||
'aliases' => array(),
|
||||
|
|
@ -182,27 +182,27 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/property-access' => array(
|
||||
'pretty_version' => 'v5.4.15',
|
||||
'version' => '5.4.15.0',
|
||||
'reference' => '0f3e8f40a1d3da90f674b3dd772e4777ccde4273',
|
||||
'pretty_version' => 'v5.4.21',
|
||||
'version' => '5.4.21.0',
|
||||
'reference' => 'bbd4442bfbdf3992550772539ba743d6d834534f',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/property-access',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/property-info' => array(
|
||||
'pretty_version' => 'v5.4.17',
|
||||
'version' => '5.4.17.0',
|
||||
'reference' => '12e1f7b3d73b1f3690aa524b92b5de9937507361',
|
||||
'pretty_version' => 'v5.4.21',
|
||||
'version' => '5.4.21.0',
|
||||
'reference' => '722737086d76b4edabfc2d50a48cebd4b8cd5546',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/property-info',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/string' => array(
|
||||
'pretty_version' => 'v5.4.17',
|
||||
'version' => '5.4.17.0',
|
||||
'reference' => '55733a8664b8853b003e70251c58bc8cb2d82a6b',
|
||||
'pretty_version' => 'v5.4.21',
|
||||
'version' => '5.4.21.0',
|
||||
'reference' => 'edac10d167b78b1d90f46a80320d632de0bd9f2f',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/string',
|
||||
'aliases' => array(),
|
||||
|
|
@ -218,9 +218,9 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/validator' => array(
|
||||
'pretty_version' => 'v5.4.17',
|
||||
'version' => '5.4.17.0',
|
||||
'reference' => '621b820204a238d754f7f60241fcbdb1687641ea',
|
||||
'pretty_version' => 'v5.4.21',
|
||||
'version' => '5.4.21.0',
|
||||
'reference' => '0ba987d705962a4f6571d31a8e1aed18ad2c9f55',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/validator',
|
||||
'aliases' => array(),
|
||||
|
|
|
|||
47
htdocs/core/modules/facture/doc/vendor/dasprid/enum/.github/workflows/tests.yml
vendored
Normal file
47
htdocs/core/modules/facture/doc/vendor/dasprid/enum/.github/workflows/tests.yml
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
name: Tests
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
php-tests:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
php: [8.2, 8.1, 8.0, 7.4, 7.3, 7.2, 7.1]
|
||||
dependency-version: [prefer-stable]
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
|
||||
name: ${{ matrix.os }} - PHP${{ matrix.php }} - ${{ matrix.dependency-version }}
|
||||
|
||||
steps:
|
||||
- name: Set git to use LF
|
||||
run: |
|
||||
git config --global core.autocrlf false
|
||||
git config --global core.eol lf
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.composer/cache/files
|
||||
key: dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php }}
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
|
||||
|
||||
- name: Execute tests
|
||||
run: vendor/bin/phpunit
|
||||
|
||||
- name: Code Sniffer
|
||||
run: vendor/bin/phpcs
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
# PHP 7.1 enums
|
||||
|
||||
[](https://travis-ci.org/DASPRiD/Enum)
|
||||
[](https://github.com/DASPRiD/Enum/actions?query=workflow%3Atests)
|
||||
[](https://coveralls.io/github/DASPRiD/Enum?branch=master)
|
||||
[](https://packagist.org/packages/dasprid/enum)
|
||||
[](https://packagist.org/packages/dasprid/enum)
|
||||
|
|
@ -41,7 +41,7 @@ final class WeekDay extends AbstractEnum
|
|||
protected const SATURDAY = null;
|
||||
protected const SUNDAY = null;
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
If you need to provide constants for either internal use or public use, you can mark them as either private or public,
|
||||
in which case they will be ignored by the enum, which only considers protected constants as valid values. As you can
|
||||
|
|
@ -56,16 +56,16 @@ function tellItLikeItIs(WeekDay $weekDay)
|
|||
case WeekDay::MONDAY():
|
||||
echo 'Mondays are bad.';
|
||||
break;
|
||||
|
||||
|
||||
case WeekDay::FRIDAY():
|
||||
echo 'Fridays are better.';
|
||||
break;
|
||||
|
||||
|
||||
case WeekDay::SATURDAY():
|
||||
case WeekDay::SUNDAY():
|
||||
echo 'Weekends are best.';
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
echo 'Midweek days are so-so.';
|
||||
}
|
||||
|
|
@ -107,14 +107,14 @@ final class Planet extends AbstractEnum
|
|||
protected const SATURN = [5.688e+26, 6.0268e7];
|
||||
protected const URANUS = [8.686e+25, 2.5559e7];
|
||||
protected const NEPTUNE = [1.024e+26, 2.4746e7];
|
||||
|
||||
|
||||
/**
|
||||
* Universal gravitational constant.
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
private const G = 6.67300E-11;
|
||||
|
||||
|
||||
/**
|
||||
* Mass in kilograms.
|
||||
*
|
||||
|
|
@ -124,32 +124,32 @@ final class Planet extends AbstractEnum
|
|||
|
||||
/**
|
||||
* Radius in meters.
|
||||
*
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
*/
|
||||
private $radius;
|
||||
|
||||
|
||||
protected function __construct(float $mass, float $radius)
|
||||
{
|
||||
$this->mass = $mass;
|
||||
$this->radius = $radius;
|
||||
}
|
||||
|
||||
|
||||
public function mass() : float
|
||||
{
|
||||
return $this->mass;
|
||||
}
|
||||
|
||||
|
||||
public function radius() : float
|
||||
{
|
||||
return $this->radius;
|
||||
return $this->radius;
|
||||
}
|
||||
|
||||
|
||||
public function surfaceGravity() : float
|
||||
{
|
||||
return self::G * $this->mass / ($this->radius * $this->radius);
|
||||
}
|
||||
|
||||
|
||||
public function surfaceWeight(float $otherMass) : float
|
||||
{
|
||||
return $otherMass * $this->surfaceGravity();
|
||||
|
|
|
|||
|
|
@ -14,9 +14,12 @@
|
|||
"enum",
|
||||
"map"
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.1 <9.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7 | ^8 | ^9",
|
||||
"squizlabs/php_codesniffer": "^3.4"
|
||||
"squizlabs/php_codesniffer": "*"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
|
|||
|
|
@ -88,6 +88,31 @@ final class EnumMap implements Serializable, IteratorAggregate
|
|||
$this->values = array_fill(0, count($this->keyUniverse), null);
|
||||
}
|
||||
|
||||
public function __serialize(): array
|
||||
{
|
||||
$values = [];
|
||||
|
||||
foreach ($this->values as $ordinal => $value) {
|
||||
if (null === $value) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$values[$ordinal] = $this->unmaskNull($value);
|
||||
}
|
||||
|
||||
return [
|
||||
'keyType' => $this->keyType,
|
||||
'valueType' => $this->valueType,
|
||||
'allowNullValues' => $this->allowNullValues,
|
||||
'values' => $values,
|
||||
];
|
||||
}
|
||||
|
||||
public function __unserialize(array $data): void
|
||||
{
|
||||
$this->unserialize(serialize($data));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the map types match the supplied ones.
|
||||
*
|
||||
|
|
@ -261,22 +286,7 @@ final class EnumMap implements Serializable, IteratorAggregate
|
|||
|
||||
public function serialize() : string
|
||||
{
|
||||
$values = [];
|
||||
|
||||
foreach ($this->values as $ordinal => $value) {
|
||||
if (null === $value) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$values[$ordinal] = $this->unmaskNull($value);
|
||||
}
|
||||
|
||||
return serialize([
|
||||
'keyType' => $this->keyType,
|
||||
'valueType' => $this->valueType,
|
||||
'allowNullValues' => $this->allowNullValues,
|
||||
'values' => $values,
|
||||
]);
|
||||
return serialize($this->__serialize());
|
||||
}
|
||||
|
||||
public function unserialize($serialized) : void
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ abstract class HourTransformer extends Transformer
|
|||
/**
|
||||
* Returns a normalized hour value suitable for the hour transformer type.
|
||||
*
|
||||
* @param int $hour The hour value
|
||||
* @param string $marker An optional AM/PM marker
|
||||
* @param int $hour The hour value
|
||||
* @param string|null $marker An optional AM/PM marker
|
||||
*
|
||||
* @return int The normalized hour value
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -35,10 +35,18 @@ class QuarterTransformer extends Transformer
|
|||
return $this->padLeft($quarter, $length);
|
||||
case 3:
|
||||
return 'Q'.$quarter;
|
||||
default:
|
||||
case 4:
|
||||
$map = [1 => '1st quarter', 2 => '2nd quarter', 3 => '3rd quarter', 4 => '4th quarter'];
|
||||
|
||||
return $map[$quarter];
|
||||
default:
|
||||
if (\defined('INTL_ICU_VERSION') && version_compare(\INTL_ICU_VERSION, '70.1', '<')) {
|
||||
$map = [1 => '1st quarter', 2 => '2nd quarter', 3 => '3rd quarter', 4 => '4th quarter'];
|
||||
|
||||
return $map[$quarter];
|
||||
} else {
|
||||
return $quarter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ abstract class IntlDateFormatter
|
|||
* @param int|null $datetype Type of date formatting, one of the format type constants
|
||||
* @param int|null $timetype Type of time formatting, one of the format type constants
|
||||
* @param \IntlTimeZone|\DateTimeZone|string|null $timezone Timezone identifier
|
||||
* @param int $calendar Calendar to use for formatting or parsing. The only currently
|
||||
* @param int|null $calendar Calendar to use for formatting or parsing. The only currently
|
||||
* supported value is IntlDateFormatter::GREGORIAN (or null using the default calendar, i.e. "GREGORIAN")
|
||||
* @param string|null $pattern Optional pattern to use when formatting
|
||||
*
|
||||
|
|
@ -418,11 +418,11 @@ abstract class IntlDateFormatter
|
|||
/**
|
||||
* Parse string to a timestamp value.
|
||||
*
|
||||
* @param string $value String to convert to a time value
|
||||
* @param int $position Not supported. Position at which to start the parsing in $value (zero-based)
|
||||
* If no error occurs before $value is consumed, $parse_pos will
|
||||
* contain -1 otherwise it will contain the position at which parsing
|
||||
* ended. If $parse_pos > strlen($value), the parse fails immediately.
|
||||
* @param string $value String to convert to a time value
|
||||
* @param int|null $position Not supported. Position at which to start the parsing in $value (zero-based)
|
||||
* If no error occurs before $value is consumed, $parse_pos will
|
||||
* contain -1 otherwise it will contain the position at which parsing
|
||||
* ended. If $parse_pos > strlen($value), the parse fails immediately.
|
||||
*
|
||||
* @return int|false Parsed value as a timestamp
|
||||
*
|
||||
|
|
@ -494,7 +494,7 @@ abstract class IntlDateFormatter
|
|||
/**
|
||||
* Set the formatter's pattern.
|
||||
*
|
||||
* @param string $pattern A pattern string in conformance with the ICU IntlDateFormatter documentation
|
||||
* @param string|null $pattern A pattern string in conformance with the ICU IntlDateFormatter documentation
|
||||
*
|
||||
* @return bool true on success or false on failure
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -152,8 +152,8 @@ abstract class Locale
|
|||
/**
|
||||
* Not supported. Returns the localized display name for the locale language.
|
||||
*
|
||||
* @param string $locale The locale code to return the display language from
|
||||
* @param string $inLocale Optional format locale code to use to display the language name
|
||||
* @param string $locale The locale code to return the display language from
|
||||
* @param string|null $inLocale Optional format locale code to use to display the language name
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
|
|
@ -169,8 +169,8 @@ abstract class Locale
|
|||
/**
|
||||
* Not supported. Returns the localized display name for the locale.
|
||||
*
|
||||
* @param string $locale The locale code to return the display locale name from
|
||||
* @param string $inLocale Optional format locale code to use to display the locale name
|
||||
* @param string $locale The locale code to return the display locale name from
|
||||
* @param string|null $inLocale Optional format locale code to use to display the locale name
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
|
|
@ -186,8 +186,8 @@ abstract class Locale
|
|||
/**
|
||||
* Not supported. Returns the localized display name for the locale region.
|
||||
*
|
||||
* @param string $locale The locale code to return the display region from
|
||||
* @param string $inLocale Optional format locale code to use to display the region name
|
||||
* @param string $locale The locale code to return the display region from
|
||||
* @param string|null $inLocale Optional format locale code to use to display the region name
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
|
|
@ -203,8 +203,8 @@ abstract class Locale
|
|||
/**
|
||||
* Not supported. Returns the localized display name for the locale script.
|
||||
*
|
||||
* @param string $locale The locale code to return the display script from
|
||||
* @param string $inLocale Optional format locale code to use to display the script name
|
||||
* @param string $locale The locale code to return the display script from
|
||||
* @param string|null $inLocale Optional format locale code to use to display the script name
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
|
|
@ -220,8 +220,8 @@ abstract class Locale
|
|||
/**
|
||||
* Not supported. Returns the localized display name for the locale variant.
|
||||
*
|
||||
* @param string $locale The locale code to return the display variant from
|
||||
* @param string $inLocale Optional format locale code to use to display the variant name
|
||||
* @param string $locale The locale code to return the display variant from
|
||||
* @param string|null $inLocale Optional format locale code to use to display the variant name
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
|
|
@ -301,10 +301,10 @@ abstract class Locale
|
|||
/**
|
||||
* Not supported. Returns the closest language tag for the locale.
|
||||
*
|
||||
* @param array $langtag A list of the language tags to compare to locale
|
||||
* @param string $locale The locale to use as the language range when matching
|
||||
* @param bool $canonicalize If true, the arguments will be converted to canonical form before matching
|
||||
* @param string $default The locale to use if no match is found
|
||||
* @param array $langtag A list of the language tags to compare to locale
|
||||
* @param string $locale The locale to use as the language range when matching
|
||||
* @param bool $canonicalize If true, the arguments will be converted to canonical form before matching
|
||||
* @param string|null $default The locale to use if no match is found
|
||||
*
|
||||
* @see https://php.net/locale.lookup
|
||||
*
|
||||
|
|
|
|||
|
|
@ -244,10 +244,10 @@ abstract class NumberFormatter
|
|||
|
||||
/**
|
||||
* @param string|null $locale The locale code. The only currently supported locale is "en" (or null using the default locale, i.e. "en")
|
||||
* @param int $style Style of the formatting, one of the format style constants.
|
||||
* @param int|null $style Style of the formatting, one of the format style constants.
|
||||
* The only supported styles are NumberFormatter::DECIMAL
|
||||
* and NumberFormatter::CURRENCY.
|
||||
* @param string $pattern Not supported. A pattern string in case $style is NumberFormat::PATTERN_DECIMAL or
|
||||
* @param string|null $pattern Not supported. A pattern string in case $style is NumberFormat::PATTERN_DECIMAL or
|
||||
* NumberFormat::PATTERN_RULEBASED. It must conform to the syntax
|
||||
* described in the ICU DecimalFormat or ICU RuleBasedNumberFormat documentation
|
||||
*
|
||||
|
|
@ -281,10 +281,10 @@ abstract class NumberFormatter
|
|||
* Static constructor.
|
||||
*
|
||||
* @param string|null $locale The locale code. The only supported locale is "en" (or null using the default locale, i.e. "en")
|
||||
* @param int $style Style of the formatting, one of the format style constants.
|
||||
* @param int|null $style Style of the formatting, one of the format style constants.
|
||||
* The only currently supported styles are NumberFormatter::DECIMAL
|
||||
* and NumberFormatter::CURRENCY.
|
||||
* @param string $pattern Not supported. A pattern string in case $style is NumberFormat::PATTERN_DECIMAL or
|
||||
* @param string|null $pattern Not supported. A pattern string in case $style is NumberFormat::PATTERN_DECIMAL or
|
||||
* NumberFormat::PATTERN_RULEBASED. It must conform to the syntax
|
||||
* described in the ICU DecimalFormat or ICU RuleBasedNumberFormat documentation
|
||||
*
|
||||
|
|
@ -485,9 +485,9 @@ abstract class NumberFormatter
|
|||
/**
|
||||
* Not supported. Parse a currency number.
|
||||
*
|
||||
* @param string $value The value to parse
|
||||
* @param string $currency Parameter to receive the currency name (reference)
|
||||
* @param int $position Offset to begin the parsing on return this value will hold the offset at which the parsing ended
|
||||
* @param string $value The value to parse
|
||||
* @param string $currency Parameter to receive the currency name (reference)
|
||||
* @param int|null $position Offset to begin the parsing on return this value will hold the offset at which the parsing ended
|
||||
*
|
||||
* @return float|false The parsed numeric value or false on error
|
||||
*
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ abstract class ResourceBundle
|
|||
*
|
||||
* @see BundleEntryReaderInterface::readEntry()
|
||||
*
|
||||
* @param string[] $indices The indices to read from the bundle
|
||||
* @param string $locale The locale to read
|
||||
* @param bool $fallback Whether to merge the value with the value from
|
||||
* the fallback locale (e.g. "en" for "en_GB").
|
||||
* Only applicable if the result is multivalued
|
||||
* (i.e. array or \ArrayAccess) or cannot be found
|
||||
* in the requested locale.
|
||||
* @param string[] $indices The indices to read from the bundle
|
||||
* @param string|null $locale The locale to read
|
||||
* @param bool $fallback Whether to merge the value with the value from
|
||||
* the fallback locale (e.g. "en" for "en_GB").
|
||||
* Only applicable if the result is multivalued
|
||||
* (i.e. array or \ArrayAccess) or cannot be found
|
||||
* in the requested locale.
|
||||
*
|
||||
* @return mixed returns an array or {@link \ArrayAccess} instance for
|
||||
* complex data and a scalar value for simple data
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ class PhpDocExtractor implements PropertyDescriptionExtractorInterface, Property
|
|||
public function __construct(DocBlockFactoryInterface $docBlockFactory = null, array $mutatorPrefixes = null, array $accessorPrefixes = null, array $arrayMutatorPrefixes = null)
|
||||
{
|
||||
if (!class_exists(DocBlockFactory::class)) {
|
||||
throw new \LogicException(sprintf('Unable to use the "%s" class as the "phpdocumentor/reflection-docblock" package is not installed.', __CLASS__));
|
||||
throw new \LogicException(sprintf('Unable to use the "%s" class as the "phpdocumentor/reflection-docblock" package is not installed. Try running composer require "phpdocumentor/reflection-docblock".', __CLASS__));
|
||||
}
|
||||
|
||||
$this->docBlockFactory = $docBlockFactory ?: DocBlockFactory::createInstance();
|
||||
|
|
@ -200,7 +200,7 @@ class PhpDocExtractor implements PropertyDescriptionExtractorInterface, Property
|
|||
}
|
||||
}
|
||||
|
||||
if (!isset($types[0])) {
|
||||
if (!isset($types[0]) || [] === $types[0]) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
namespace Symfony\Component\PropertyInfo\Extractor;
|
||||
|
||||
use phpDocumentor\Reflection\Types\ContextFactory;
|
||||
use PHPStan\PhpDocParser\Ast\PhpDoc\InvalidTagValueNode;
|
||||
use PHPStan\PhpDocParser\Ast\PhpDoc\ParamTagValueNode;
|
||||
use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
|
||||
|
|
@ -59,6 +60,14 @@ final class PhpStanExtractor implements PropertyTypeExtractorInterface, Construc
|
|||
*/
|
||||
public function __construct(array $mutatorPrefixes = null, array $accessorPrefixes = null, array $arrayMutatorPrefixes = null)
|
||||
{
|
||||
if (!class_exists(ContextFactory::class)) {
|
||||
throw new \LogicException(sprintf('Unable to use the "%s" class as the "phpdocumentor/type-resolver" package is not installed. Try running composer require "phpdocumentor/type-resolver".', __CLASS__));
|
||||
}
|
||||
|
||||
if (!class_exists(PhpDocParser::class)) {
|
||||
throw new \LogicException(sprintf('Unable to use the "%s" class as the "phpstan/phpdoc-parser" package is not installed. Try running composer require "phpstan/phpdoc-parser".', __CLASS__));
|
||||
}
|
||||
|
||||
$this->phpStanTypeHelper = new PhpStanTypeHelper();
|
||||
$this->mutatorPrefixes = $mutatorPrefixes ?? ReflectionExtractor::$defaultMutatorPrefixes;
|
||||
$this->accessorPrefixes = $accessorPrefixes ?? ReflectionExtractor::$defaultAccessorPrefixes;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2015-2022 Fabien Potencier
|
||||
Copyright (c) 2015-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ final class PhpDocTypeHelper
|
|||
case 'boolean':
|
||||
return 'bool';
|
||||
|
||||
// real is not part of the PHPDoc standard, so we ignore it
|
||||
// real is not part of the PHPDoc standard, so we ignore it
|
||||
case 'double':
|
||||
return 'float';
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ abstract class AbstractUnicodeString extends AbstractString
|
|||
private const ASCII = "\x20\x65\x69\x61\x73\x6E\x74\x72\x6F\x6C\x75\x64\x5D\x5B\x63\x6D\x70\x27\x0A\x67\x7C\x68\x76\x2E\x66\x62\x2C\x3A\x3D\x2D\x71\x31\x30\x43\x32\x2A\x79\x78\x29\x28\x4C\x39\x41\x53\x2F\x50\x22\x45\x6A\x4D\x49\x6B\x33\x3E\x35\x54\x3C\x44\x34\x7D\x42\x7B\x38\x46\x77\x52\x36\x37\x55\x47\x4E\x3B\x4A\x7A\x56\x23\x48\x4F\x57\x5F\x26\x21\x4B\x3F\x58\x51\x25\x59\x5C\x09\x5A\x2B\x7E\x5E\x24\x40\x60\x7F\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
|
||||
|
||||
// the subset of folded case mappings that is not in lower case mappings
|
||||
private const FOLD_FROM = ['İ', 'µ', 'ſ', "\xCD\x85", 'ς', 'ϐ', 'ϑ', 'ϕ', 'ϖ', 'ϰ', 'ϱ', 'ϵ', 'ẛ', "\xE1\xBE\xBE", 'ß', 'İ', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'և', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'ẚ', 'ẞ', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', 'ᾍ', 'ᾎ', 'ᾏ', 'ᾐ', 'ᾑ', 'ᾒ', 'ᾓ', 'ᾔ', 'ᾕ', 'ᾖ', 'ᾗ', 'ᾘ', 'ᾙ', 'ᾚ', 'ᾛ', 'ᾜ', 'ᾝ', 'ᾞ', 'ᾟ', 'ᾠ', 'ᾡ', 'ᾢ', 'ᾣ', 'ᾤ', 'ᾥ', 'ᾦ', 'ᾧ', 'ᾨ', 'ᾩ', 'ᾪ', 'ᾫ', 'ᾬ', 'ᾭ', 'ᾮ', 'ᾯ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'ᾼ', 'ῂ', 'ῃ', 'ῄ', 'ῆ', 'ῇ', 'ῌ', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'ῢ', 'ΰ', 'ῤ', 'ῦ', 'ῧ', 'ῲ', 'ῳ', 'ῴ', 'ῶ', 'ῷ', 'ῼ', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'ſt', 'st', 'ﬓ', 'ﬔ', 'ﬕ', 'ﬖ', 'ﬗ'];
|
||||
private const FOLD_TO = ['i̇', 'μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', 'ṡ', 'ι', 'ss', 'i̇', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'եւ', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'aʾ', 'ss', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὰι', 'αι', 'άι', 'ᾶ', 'ᾶι', 'αι', 'ὴι', 'ηι', 'ήι', 'ῆ', 'ῆι', 'ηι', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'ῢ', 'ΰ', 'ῤ', 'ῦ', 'ῧ', 'ὼι', 'ωι', 'ώι', 'ῶ', 'ῶι', 'ωι', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'st', 'st', 'մն', 'մե', 'մի', 'վն', 'մխ'];
|
||||
private const FOLD_FROM = ['İ', 'µ', 'ſ', "\xCD\x85", 'ς', 'ϐ', 'ϑ', 'ϕ', 'ϖ', 'ϰ', 'ϱ', 'ϵ', 'ẛ', "\xE1\xBE\xBE", 'ß', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'և', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'ẚ', 'ẞ', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', 'ᾍ', 'ᾎ', 'ᾏ', 'ᾐ', 'ᾑ', 'ᾒ', 'ᾓ', 'ᾔ', 'ᾕ', 'ᾖ', 'ᾗ', 'ᾘ', 'ᾙ', 'ᾚ', 'ᾛ', 'ᾜ', 'ᾝ', 'ᾞ', 'ᾟ', 'ᾠ', 'ᾡ', 'ᾢ', 'ᾣ', 'ᾤ', 'ᾥ', 'ᾦ', 'ᾧ', 'ᾨ', 'ᾩ', 'ᾪ', 'ᾫ', 'ᾬ', 'ᾭ', 'ᾮ', 'ᾯ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'ᾼ', 'ῂ', 'ῃ', 'ῄ', 'ῆ', 'ῇ', 'ῌ', 'ῒ', 'ῖ', 'ῗ', 'ῢ', 'ῤ', 'ῦ', 'ῧ', 'ῲ', 'ῳ', 'ῴ', 'ῶ', 'ῷ', 'ῼ', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'ſt', 'st', 'ﬓ', 'ﬔ', 'ﬕ', 'ﬖ', 'ﬗ'];
|
||||
private const FOLD_TO = ['i̇', 'μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', 'ṡ', 'ι', 'ss', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'եւ', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'aʾ', 'ss', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὰι', 'αι', 'άι', 'ᾶ', 'ᾶι', 'αι', 'ὴι', 'ηι', 'ήι', 'ῆ', 'ῆι', 'ηι', 'ῒ', 'ῖ', 'ῗ', 'ῢ', 'ῤ', 'ῦ', 'ῧ', 'ὼι', 'ωι', 'ώι', 'ῶ', 'ῶι', 'ωι', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'st', 'st', 'մն', 'մե', 'մի', 'վն', 'մխ'];
|
||||
|
||||
// the subset of upper case mappings that map one code point to many code points
|
||||
private const UPPER_FROM = ['ß', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'ſt', 'st', 'և', 'ﬓ', 'ﬔ', 'ﬕ', 'ﬖ', 'ﬗ', 'ʼn', 'ΐ', 'ΰ', 'ǰ', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'ẚ', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ᾶ', 'ῆ', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'ῢ', 'ΰ', 'ῤ', 'ῦ', 'ῧ', 'ῶ'];
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2019-2022 Fabien Potencier
|
||||
Copyright (c) 2019-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -31,7 +31,11 @@ class AtLeastOneOfValidator extends ConstraintValidator
|
|||
|
||||
$validator = $this->context->getValidator();
|
||||
|
||||
$messages = [$constraint->message];
|
||||
// Build a first violation to have the base message of the constraint translated
|
||||
$baseMessageContext = clone $this->context;
|
||||
$baseMessageContext->buildViolation($constraint->message)->addViolation();
|
||||
$baseViolations = $baseMessageContext->getViolations();
|
||||
$messages = [(string) $baseViolations->get(\count($baseViolations) - 1)->getMessage()];
|
||||
|
||||
foreach ($constraint->constraints as $key => $item) {
|
||||
if (!\in_array($this->context->getGroup(), $item->groups, true)) {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ use Egulias\EmailValidator\Validation\EmailValidation;
|
|||
use Egulias\EmailValidator\Validation\NoRFCWarningsValidation;
|
||||
use Symfony\Component\Validator\Constraint;
|
||||
use Symfony\Component\Validator\ConstraintValidator;
|
||||
use Symfony\Component\Validator\Exception\LogicException;
|
||||
use Symfony\Component\Validator\Exception\UnexpectedTypeException;
|
||||
use Symfony\Component\Validator\Exception\UnexpectedValueException;
|
||||
|
||||
|
|
@ -71,7 +72,7 @@ class EmailValidator extends ConstraintValidator
|
|||
|
||||
if (null === $constraint->mode) {
|
||||
if (Email::VALIDATION_MODE_STRICT === $this->defaultMode && !class_exists(EguliasEmailValidator::class)) {
|
||||
throw new LogicException(sprintf('The "egulias/email-validator" component is required to make the "%s" constraint default to strict mode.', EguliasEmailValidator::class));
|
||||
throw new LogicException(sprintf('The "egulias/email-validator" component is required to make the "%s" constraint default to strict mode.', Email::class));
|
||||
}
|
||||
|
||||
$constraint->mode = $this->defaultMode;
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ use Symfony\Component\Validator\Exception\UnexpectedValueException;
|
|||
* @author Manuel Reinhard <manu@sprain.ch>
|
||||
* @author Michael Schummel
|
||||
* @author Bernhard Schussek <bschussek@gmail.com>
|
||||
*
|
||||
* @see http://www.michael-schummel.de/2007/10/05/iban-prufung-mit-php/
|
||||
*/
|
||||
class IbanValidator extends ConstraintValidator
|
||||
{
|
||||
|
|
@ -34,107 +32,135 @@ class IbanValidator extends ConstraintValidator
|
|||
* a BBAN (Basic Bank Account Number) which has a fixed length per country and,
|
||||
* included within it, a bank identifier with a fixed position and a fixed length per country
|
||||
*
|
||||
* @see https://www.swift.com/sites/default/files/resources/iban_registry.pdf
|
||||
* @see Resources/bin/sync-iban-formats.php
|
||||
* @see https://www.swift.com/swift-resource/11971/download?language=en
|
||||
* @see https://en.wikipedia.org/wiki/International_Bank_Account_Number
|
||||
*/
|
||||
private const FORMATS = [
|
||||
// auto-generated
|
||||
'AD' => 'AD\d{2}\d{4}\d{4}[\dA-Z]{12}', // Andorra
|
||||
'AE' => 'AE\d{2}\d{3}\d{16}', // United Arab Emirates
|
||||
'AE' => 'AE\d{2}\d{3}\d{16}', // United Arab Emirates (The)
|
||||
'AL' => 'AL\d{2}\d{8}[\dA-Z]{16}', // Albania
|
||||
'AO' => 'AO\d{2}\d{21}', // Angola
|
||||
'AT' => 'AT\d{2}\d{5}\d{11}', // Austria
|
||||
'AX' => 'FI\d{2}\d{6}\d{7}\d{1}', // Aland Islands
|
||||
'AX' => 'FI\d{2}\d{3}\d{11}', // Finland
|
||||
'AZ' => 'AZ\d{2}[A-Z]{4}[\dA-Z]{20}', // Azerbaijan
|
||||
'BA' => 'BA\d{2}\d{3}\d{3}\d{8}\d{2}', // Bosnia and Herzegovina
|
||||
'BE' => 'BE\d{2}\d{3}\d{7}\d{2}', // Belgium
|
||||
'BF' => 'BF\d{2}\d{23}', // Burkina Faso
|
||||
'BF' => 'BF\d{2}[\dA-Z]{2}\d{22}', // Burkina Faso
|
||||
'BG' => 'BG\d{2}[A-Z]{4}\d{4}\d{2}[\dA-Z]{8}', // Bulgaria
|
||||
'BH' => 'BH\d{2}[A-Z]{4}[\dA-Z]{14}', // Bahrain
|
||||
'BI' => 'BI\d{2}\d{12}', // Burundi
|
||||
'BJ' => 'BJ\d{2}[A-Z]{1}\d{23}', // Benin
|
||||
'BY' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16}', // Belarus - https://bank.codes/iban/structure/belarus/
|
||||
'BL' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Saint Barthelemy
|
||||
'BR' => 'BR\d{2}\d{8}\d{5}\d{10}[A-Z][\dA-Z]', // Brazil
|
||||
'CG' => 'CG\d{2}\d{23}', // Congo
|
||||
'BI' => 'BI\d{2}\d{5}\d{5}\d{11}\d{2}', // Burundi
|
||||
'BJ' => 'BJ\d{2}[\dA-Z]{2}\d{22}', // Benin
|
||||
'BL' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'BR' => 'BR\d{2}\d{8}\d{5}\d{10}[A-Z]{1}[\dA-Z]{1}', // Brazil
|
||||
'BY' => 'BY\d{2}[\dA-Z]{4}\d{4}[\dA-Z]{16}', // Republic of Belarus
|
||||
'CF' => 'CF\d{2}\d{23}', // Central African Republic
|
||||
'CG' => 'CG\d{2}\d{23}', // Congo, Republic of the
|
||||
'CH' => 'CH\d{2}\d{5}[\dA-Z]{12}', // Switzerland
|
||||
'CI' => 'CI\d{2}[A-Z]{1}\d{23}', // Ivory Coast
|
||||
'CM' => 'CM\d{2}\d{23}', // Cameron
|
||||
'CR' => 'CR\d{2}0\d{3}\d{14}', // Costa Rica
|
||||
'CV' => 'CV\d{2}\d{21}', // Cape Verde
|
||||
'CI' => 'CI\d{2}[A-Z]{1}\d{23}', // Côte d'Ivoire
|
||||
'CM' => 'CM\d{2}\d{23}', // Cameroon
|
||||
'CR' => 'CR\d{2}\d{4}\d{14}', // Costa Rica
|
||||
'CV' => 'CV\d{2}\d{21}', // Cabo Verde
|
||||
'CY' => 'CY\d{2}\d{3}\d{5}[\dA-Z]{16}', // Cyprus
|
||||
'CZ' => 'CZ\d{2}\d{20}', // Czech Republic
|
||||
'CZ' => 'CZ\d{2}\d{4}\d{6}\d{10}', // Czechia
|
||||
'DE' => 'DE\d{2}\d{8}\d{10}', // Germany
|
||||
'DJ' => 'DJ\d{2}\d{5}\d{5}\d{11}\d{2}', // Djibouti
|
||||
'DK' => 'DK\d{2}\d{4}\d{9}\d{1}', // Denmark
|
||||
'DO' => 'DO\d{2}[\dA-Z]{4}\d{20}', // Dominican Republic
|
||||
'DK' => 'DK\d{2}\d{4}\d{10}', // Denmark
|
||||
'DZ' => 'DZ\d{2}\d{20}', // Algeria
|
||||
'DZ' => 'DZ\d{2}\d{22}', // Algeria
|
||||
'EE' => 'EE\d{2}\d{2}\d{2}\d{11}\d{1}', // Estonia
|
||||
'ES' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10}', // Spain (also includes Canary Islands, Ceuta and Melilla)
|
||||
'FI' => 'FI\d{2}\d{6}\d{7}\d{1}', // Finland
|
||||
'EG' => 'EG\d{2}\d{4}\d{4}\d{17}', // Egypt
|
||||
'ES' => 'ES\d{2}\d{4}\d{4}\d{1}\d{1}\d{10}', // Spain
|
||||
'FI' => 'FI\d{2}\d{3}\d{11}', // Finland
|
||||
'FO' => 'FO\d{2}\d{4}\d{9}\d{1}', // Faroe Islands
|
||||
'FR' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'GF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // French Guyana
|
||||
'GB' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom of Great Britain and Northern Ireland
|
||||
'GA' => 'GA\d{2}\d{23}', // Gabon
|
||||
'GB' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom
|
||||
'GE' => 'GE\d{2}[A-Z]{2}\d{16}', // Georgia
|
||||
'GF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'GG' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom
|
||||
'GI' => 'GI\d{2}[A-Z]{4}[\dA-Z]{15}', // Gibraltar
|
||||
'GL' => 'GL\d{2}\d{4}\d{9}\d{1}', // Greenland
|
||||
'GP' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Guadeloupe
|
||||
'GP' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'GQ' => 'GQ\d{2}\d{23}', // Equatorial Guinea
|
||||
'GR' => 'GR\d{2}\d{3}\d{4}[\dA-Z]{16}', // Greece
|
||||
'GT' => 'GT\d{2}[\dA-Z]{4}[\dA-Z]{20}', // Guatemala
|
||||
'GW' => 'GW\d{2}[\dA-Z]{2}\d{19}', // Guinea-Bissau
|
||||
'HN' => 'HN\d{2}[A-Z]{4}\d{20}', // Honduras
|
||||
'HR' => 'HR\d{2}\d{7}\d{10}', // Croatia
|
||||
'HU' => 'HU\d{2}\d{3}\d{4}\d{1}\d{15}\d{1}', // Hungary
|
||||
'IE' => 'IE\d{2}[A-Z]{4}\d{6}\d{8}', // Ireland
|
||||
'IL' => 'IL\d{2}\d{3}\d{3}\d{13}', // Israel
|
||||
'IM' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom
|
||||
'IQ' => 'IQ\d{2}[A-Z]{4}\d{3}\d{12}', // Iraq
|
||||
'IR' => 'IR\d{2}\d{22}', // Iran
|
||||
'IS' => 'IS\d{2}\d{4}\d{2}\d{6}\d{10}', // Iceland
|
||||
'IT' => 'IT\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12}', // Italy
|
||||
'JE' => 'GB\d{2}[A-Z]{4}\d{6}\d{8}', // United Kingdom
|
||||
'JO' => 'JO\d{2}[A-Z]{4}\d{4}[\dA-Z]{18}', // Jordan
|
||||
'KW' => 'KW\d{2}[A-Z]{4}\d{22}', // KUWAIT
|
||||
'KM' => 'KM\d{2}\d{23}', // Comoros
|
||||
'KW' => 'KW\d{2}[A-Z]{4}[\dA-Z]{22}', // Kuwait
|
||||
'KZ' => 'KZ\d{2}\d{3}[\dA-Z]{13}', // Kazakhstan
|
||||
'LB' => 'LB\d{2}\d{4}[\dA-Z]{20}', // LEBANON
|
||||
'LI' => 'LI\d{2}\d{5}[\dA-Z]{12}', // Liechtenstein (Principality of)
|
||||
'LB' => 'LB\d{2}\d{4}[\dA-Z]{20}', // Lebanon
|
||||
'LC' => 'LC\d{2}[A-Z]{4}[\dA-Z]{24}', // Saint Lucia
|
||||
'LI' => 'LI\d{2}\d{5}[\dA-Z]{12}', // Liechtenstein
|
||||
'LT' => 'LT\d{2}\d{5}\d{11}', // Lithuania
|
||||
'LU' => 'LU\d{2}\d{3}[\dA-Z]{13}', // Luxembourg
|
||||
'LV' => 'LV\d{2}[A-Z]{4}[\dA-Z]{13}', // Latvia
|
||||
'LY' => 'LY\d{2}\d{3}\d{3}\d{15}', // Libya
|
||||
'MA' => 'MA\d{2}\d{24}', // Morocco
|
||||
'MC' => 'MC\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Monaco
|
||||
'MD' => 'MD\d{2}[\dA-Z]{2}[\dA-Z]{18}', // Moldova
|
||||
'ME' => 'ME\d{2}\d{3}\d{13}\d{2}', // Montenegro
|
||||
'MF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Saint Martin (French part)
|
||||
'MF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'MG' => 'MG\d{2}\d{23}', // Madagascar
|
||||
'MK' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2}', // Macedonia, Former Yugoslav Republic of
|
||||
'ML' => 'ML\d{2}[A-Z]{1}\d{23}', // Mali
|
||||
'MQ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Martinique
|
||||
'MK' => 'MK\d{2}\d{3}[\dA-Z]{10}\d{2}', // Macedonia
|
||||
'ML' => 'ML\d{2}[\dA-Z]{2}\d{22}', // Mali
|
||||
'MQ' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'MR' => 'MR\d{2}\d{5}\d{5}\d{11}\d{2}', // Mauritania
|
||||
'MT' => 'MT\d{2}[A-Z]{4}\d{5}[\dA-Z]{18}', // Malta
|
||||
'MU' => 'MU\d{2}[A-Z]{4}\d{2}\d{2}\d{12}\d{3}[A-Z]{3}', // Mauritius
|
||||
'MZ' => 'MZ\d{2}\d{21}', // Mozambique
|
||||
'NC' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // New Caledonia
|
||||
'NL' => 'NL\d{2}[A-Z]{4}\d{10}', // The Netherlands
|
||||
'NC' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'NE' => 'NE\d{2}[A-Z]{2}\d{22}', // Niger
|
||||
'NI' => 'NI\d{2}[A-Z]{4}\d{24}', // Nicaragua
|
||||
'NL' => 'NL\d{2}[A-Z]{4}\d{10}', // Netherlands (The)
|
||||
'NO' => 'NO\d{2}\d{4}\d{6}\d{1}', // Norway
|
||||
'PF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // French Polynesia
|
||||
'PF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'PK' => 'PK\d{2}[A-Z]{4}[\dA-Z]{16}', // Pakistan
|
||||
'PL' => 'PL\d{2}\d{8}\d{16}', // Poland
|
||||
'PM' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Saint Pierre et Miquelon
|
||||
'PM' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'PS' => 'PS\d{2}[A-Z]{4}[\dA-Z]{21}', // Palestine, State of
|
||||
'PT' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2}', // Portugal (plus Azores and Madeira)
|
||||
'PT' => 'PT\d{2}\d{4}\d{4}\d{11}\d{2}', // Portugal
|
||||
'QA' => 'QA\d{2}[A-Z]{4}[\dA-Z]{21}', // Qatar
|
||||
'RE' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Reunion
|
||||
'RE' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'RO' => 'RO\d{2}[A-Z]{4}[\dA-Z]{16}', // Romania
|
||||
'RS' => 'RS\d{2}\d{3}\d{13}\d{2}', // Serbia
|
||||
'RU' => 'RU\d{2}\d{9}\d{5}[\dA-Z]{15}', // Russia
|
||||
'SA' => 'SA\d{2}\d{2}[\dA-Z]{18}', // Saudi Arabia
|
||||
'SC' => 'SC\d{2}[A-Z]{4}\d{2}\d{2}\d{16}[A-Z]{3}', // Seychelles
|
||||
'SD' => 'SD\d{2}\d{2}\d{12}', // Sudan
|
||||
'SE' => 'SE\d{2}\d{3}\d{16}\d{1}', // Sweden
|
||||
'SI' => 'SI\d{2}\d{5}\d{8}\d{2}', // Slovenia
|
||||
'SK' => 'SK\d{2}\d{4}\d{6}\d{10}', // Slovak Republic
|
||||
'SK' => 'SK\d{2}\d{4}\d{6}\d{10}', // Slovakia
|
||||
'SM' => 'SM\d{2}[A-Z]{1}\d{5}\d{5}[\dA-Z]{12}', // San Marino
|
||||
'SN' => 'SN\d{2}[A-Z]{1}\d{23}', // Senegal
|
||||
'TF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // French Southern Territories
|
||||
'SN' => 'SN\d{2}[A-Z]{2}\d{22}', // Senegal
|
||||
'SO' => 'SO\d{2}\d{4}\d{3}\d{12}', // Somalia
|
||||
'ST' => 'ST\d{2}\d{4}\d{4}\d{11}\d{2}', // Sao Tome and Principe
|
||||
'SV' => 'SV\d{2}[A-Z]{4}\d{20}', // El Salvador
|
||||
'TD' => 'TD\d{2}\d{23}', // Chad
|
||||
'TF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'TG' => 'TG\d{2}[A-Z]{2}\d{22}', // Togo
|
||||
'TL' => 'TL\d{2}\d{3}\d{14}\d{2}', // Timor-Leste
|
||||
'TN' => 'TN\d{2}\d{2}\d{3}\d{13}\d{2}', // Tunisia
|
||||
'TR' => 'TR\d{2}\d{5}[\dA-Z]{1}[\dA-Z]{16}', // Turkey
|
||||
'TR' => 'TR\d{2}\d{5}\d{1}[\dA-Z]{16}', // Turkey
|
||||
'UA' => 'UA\d{2}\d{6}[\dA-Z]{19}', // Ukraine
|
||||
'VA' => 'VA\d{2}\d{3}\d{15}', // Vatican City State
|
||||
'VG' => 'VG\d{2}[A-Z]{4}\d{16}', // Virgin Islands, British
|
||||
'WF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Wallis and Futuna Islands
|
||||
'XK' => 'XK\d{2}\d{4}\d{10}\d{2}', // Republic of Kosovo
|
||||
'YT' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // Mayotte
|
||||
'VG' => 'VG\d{2}[A-Z]{4}\d{16}', // Virgin Islands
|
||||
'WF' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
'XK' => 'XK\d{2}\d{4}\d{10}\d{2}', // Kosovo
|
||||
'YT' => 'FR\d{2}\d{5}\d{5}[\dA-Z]{11}\d{2}', // France
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
Copyright (c) 2004-present Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -130,16 +130,22 @@ abstract class ConstraintValidatorTestCase extends TestCase
|
|||
$context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath);
|
||||
$context->setConstraint($this->constraint);
|
||||
|
||||
$contextualValidator = $this->getMockBuilder(AssertingContextualValidator::class)
|
||||
->setConstructorArgs([$context])
|
||||
->setMethods([
|
||||
'atPath',
|
||||
'validate',
|
||||
'validateProperty',
|
||||
'validatePropertyValue',
|
||||
'getViolations',
|
||||
])
|
||||
->getMock();
|
||||
$contextualValidatorMockBuilder = $this->getMockBuilder(AssertingContextualValidator::class)
|
||||
->setConstructorArgs([$context]);
|
||||
$contextualValidatorMethods = [
|
||||
'atPath',
|
||||
'validate',
|
||||
'validateProperty',
|
||||
'validatePropertyValue',
|
||||
'getViolations',
|
||||
];
|
||||
// PHPUnit 10 removed MockBuilder::setMethods()
|
||||
if (method_exists($contextualValidatorMockBuilder, 'onlyMethods')) {
|
||||
$contextualValidatorMockBuilder->onlyMethods($contextualValidatorMethods);
|
||||
} else {
|
||||
$contextualValidatorMockBuilder->setMethods($contextualValidatorMethods);
|
||||
}
|
||||
$contextualValidator = $contextualValidatorMockBuilder->getMock();
|
||||
$contextualValidator->expects($this->any())
|
||||
->method('atPath')
|
||||
->willReturnCallback(function ($path) use ($contextualValidator) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
"symfony/translation": "^4.4|^5.0|^6.0",
|
||||
"doctrine/annotations": "^1.13|^2",
|
||||
"doctrine/cache": "^1.11|^2.0",
|
||||
"egulias/email-validator": "^2.1.10|^3"
|
||||
"egulias/email-validator": "^2.1.10|^3|^4"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/annotations": "<1.13",
|
||||
|
|
|
|||
Loading…
Reference in New Issue