diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e0dbca86..0ddc2ff79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,41 +4,57 @@ Tutti i maggiori cambiamenti di questo progetto saranno documentati in questo fi Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://keepachangelog.com/), e il progetto segue il [Semantic Versioning](http://semver.org/) per definire le versioni delle release. -- [2.4.2](#242) +- [2.4.3](#243) - [Aggiunto (Added)](#aggiunto-added) + - [Fixed](#fixed) +- [2.4.2 (2018-11-14)](#242-2018-11-14) + - [Aggiunto (Added)](#aggiunto-added-1) - [Modificato (Changed)](#modificato-changed) - [Deprecato (Deprecated)](#deprecato-deprecated) - [Rimosso (Removed)](#rimosso-removed) - [Sicurezza (Security)](#sicurezza-security) - [2.4.1 (2018-08-01)](#241-2018-08-01) - - [Aggiunto (Added)](#aggiunto-added) - - [Modificato (Changed)](#modificato-changed) - - [Fixed](#fixed) + - [Aggiunto (Added)](#aggiunto-added-2) + - [Modificato (Changed)](#modificato-changed-1) + - [Fixed](#fixed-1) - [2.4 (2018-03-30)](#24-2018-03-30) - - [Aggiunto (Added)](#aggiunto-added) - - [Modificato (Changed)](#modificato-changed) - - [Fixed](#fixed) + - [Aggiunto (Added)](#aggiunto-added-3) + - [Modificato (Changed)](#modificato-changed-2) + - [Fixed](#fixed-2) - [2.3.1 (2018-02-19)](#231-2018-02-19) - - [Aggiunto (Added)](#aggiunto-added) - - [Modificato (Changed)](#modificato-changed) - - [Fixed](#fixed) + - [Aggiunto (Added)](#aggiunto-added-4) + - [Modificato (Changed)](#modificato-changed-3) + - [Fixed](#fixed-3) - [2.3 (2018-02-16)](#23-2018-02-16) - - [Aggiunto (Added)](#aggiunto-added) - - [Modificato (Changed)](#modificato-changed) - - [Deprecato (Deprecated)](#deprecato-deprecated) - - [Rimosso (Removed)](#rimosso-removed) - - [Fixed](#fixed) - - [Sicurezza (Security)](#sicurezza-security) + - [Aggiunto (Added)](#aggiunto-added-5) + - [Modificato (Changed)](#modificato-changed-4) + - [Deprecato (Deprecated)](#deprecato-deprecated-1) + - [Rimosso (Removed)](#rimosso-removed-1) + - [Fixed](#fixed-4) + - [Sicurezza (Security)](#sicurezza-security-1) - [2.2 (2016-11-10)](#22-2016-11-10) - - [Aggiunto (Added)](#aggiunto-added) - - [Fixed](#fixed) + - [Aggiunto (Added)](#aggiunto-added-6) + - [Fixed](#fixed-5) - [2.1 (2015-04-02)](#21-2015-04-02) - - [Aggiunto (Added)](#aggiunto-added) - - [Modificato (Changed)](#modificato-changed) - - [Fixed](#fixed) + - [Aggiunto (Added)](#aggiunto-added-7) + - [Modificato (Changed)](#modificato-changed-5) + - [Fixed](#fixed-6) -## 2.4.2 +## 2.4.3 + +### Aggiunto (Added) + + - Nodi secondari per la Fatturazione Elettronica + - Messaggi informativi in vari campi + +### Fixed + + - Risolti alcuni problemi di compatibilità + - Risolti malfunzionamenti delle righe dei documenti + - Fix dei calcoli + +## 2.4.2 (2018-11-14) ### Aggiunto (Added) diff --git a/src/Validate.php b/src/Validate.php index 6a87ae344..33f4ad5e8 100644 --- a/src/Validate.php +++ b/src/Validate.php @@ -11,6 +11,36 @@ use Respect\Validation\Validator as v; */ class Validate { + public static function VatCheck($partita_iva) + { + if ($partita_iva === '') { + return true; + } + + if (strlen($partita_iva) != 11 || preg_match("/^[0-9]+\$/D", $partita_iva) != 1) { + return false; + } + + $s = 0; + for ($i = 0; $i <= 9; $i += 2) { + $s += ord($partita_iva[$i]) - ord('0'); + } + + for ($i = 1; $i <= 9; $i += 2) { + $c = 2*(ord($partita_iva[$i]) - ord('0')); + if ($c > 9) { + $c = $c - 9; + } + $s += $c; + } + + if ((10 - $s%10)%10 != ord($partita_iva[10]) - ord('0')) { + return false; + } + + return true; + } + /** * Controlla se la partita iva inserita è valida. *