@@ -40,92 +40,92 @@ discard block |
||
| 40 | 40 | * Array of all avaialable odd characters. |
| 41 | 41 | */ |
| 42 | 42 | private $odd = array( |
| 43 | - '0' => 1, |
|
| 44 | - '1' => 0, |
|
| 45 | - '2' => 5, |
|
| 46 | - '3' => 7, |
|
| 47 | - '4' => 9, |
|
| 48 | - '5' => 13, |
|
| 49 | - '6' => 15, |
|
| 50 | - '7' => 17, |
|
| 51 | - '8' => 19, |
|
| 52 | - '9' => 21, |
|
| 53 | - 'A' => 1, |
|
| 54 | - 'B' => 0, |
|
| 55 | - 'C' => 5, |
|
| 56 | - 'D' => 7, |
|
| 57 | - 'E' => 9, |
|
| 58 | - 'F' => 13, |
|
| 59 | - 'G' => 15, |
|
| 60 | - 'H' => 17, |
|
| 61 | - 'I' => 19, |
|
| 62 | - 'J' => 21, |
|
| 63 | - 'K' => 2, |
|
| 64 | - 'L' => 4, |
|
| 65 | - 'M' => 18, |
|
| 66 | - 'N' => 20, |
|
| 67 | - 'O' => 11, |
|
| 68 | - 'P' => 3, |
|
| 69 | - 'Q' => 6, |
|
| 70 | - 'R' => 8, |
|
| 71 | - 'S' => 12, |
|
| 72 | - 'T' => 14, |
|
| 73 | - 'U' => 16, |
|
| 74 | - 'V' => 10, |
|
| 75 | - 'W' => 22, |
|
| 76 | - 'X' => 25, |
|
| 77 | - 'Y' => 24, |
|
| 78 | - 'Z' => 23 |
|
| 79 | - ); |
|
| 43 | + '0' => 1, |
|
| 44 | + '1' => 0, |
|
| 45 | + '2' => 5, |
|
| 46 | + '3' => 7, |
|
| 47 | + '4' => 9, |
|
| 48 | + '5' => 13, |
|
| 49 | + '6' => 15, |
|
| 50 | + '7' => 17, |
|
| 51 | + '8' => 19, |
|
| 52 | + '9' => 21, |
|
| 53 | + 'A' => 1, |
|
| 54 | + 'B' => 0, |
|
| 55 | + 'C' => 5, |
|
| 56 | + 'D' => 7, |
|
| 57 | + 'E' => 9, |
|
| 58 | + 'F' => 13, |
|
| 59 | + 'G' => 15, |
|
| 60 | + 'H' => 17, |
|
| 61 | + 'I' => 19, |
|
| 62 | + 'J' => 21, |
|
| 63 | + 'K' => 2, |
|
| 64 | + 'L' => 4, |
|
| 65 | + 'M' => 18, |
|
| 66 | + 'N' => 20, |
|
| 67 | + 'O' => 11, |
|
| 68 | + 'P' => 3, |
|
| 69 | + 'Q' => 6, |
|
| 70 | + 'R' => 8, |
|
| 71 | + 'S' => 12, |
|
| 72 | + 'T' => 14, |
|
| 73 | + 'U' => 16, |
|
| 74 | + 'V' => 10, |
|
| 75 | + 'W' => 22, |
|
| 76 | + 'X' => 25, |
|
| 77 | + 'Y' => 24, |
|
| 78 | + 'Z' => 23 |
|
| 79 | + ); |
|
| 80 | 80 | |
| 81 | 81 | /** |
| 82 | 82 | * Array of all avaialable even characters. |
| 83 | 83 | */ |
| 84 | - private $even = array( |
|
| 85 | - '0' => 0, |
|
| 86 | - '1' => 1, |
|
| 87 | - '2' => 2, |
|
| 88 | - '3' => 3, |
|
| 89 | - '4' => 4, |
|
| 90 | - '5' => 5, |
|
| 91 | - '6' => 6, |
|
| 92 | - '7' => 7, |
|
| 93 | - '8' => 8, |
|
| 94 | - '9' => 9, |
|
| 95 | - 'A' => 0, |
|
| 96 | - 'B' => 1, |
|
| 97 | - 'C' => 2, |
|
| 98 | - 'D' => 3, |
|
| 99 | - 'E' => 4, |
|
| 100 | - 'F' => 5, |
|
| 101 | - 'G' => 6, |
|
| 102 | - 'H' => 7, |
|
| 103 | - 'I' => 8, |
|
| 104 | - 'J' => 9, |
|
| 105 | - 'K' => 10, |
|
| 106 | - 'L' => 11, |
|
| 107 | - 'M' => 12, |
|
| 108 | - 'N' => 13, |
|
| 109 | - 'O' => 14, |
|
| 110 | - 'P' => 15, |
|
| 111 | - 'Q' => 16, |
|
| 112 | - 'R' => 17, |
|
| 113 | - 'S' => 18, |
|
| 114 | - 'T' => 19, |
|
| 115 | - 'U' => 20, |
|
| 116 | - 'V' => 21, |
|
| 117 | - 'W' => 22, |
|
| 118 | - 'X' => 23, |
|
| 119 | - 'Y' => 24, |
|
| 120 | - 'Z' => 25 |
|
| 121 | - ); |
|
| 84 | + private $even = array( |
|
| 85 | + '0' => 0, |
|
| 86 | + '1' => 1, |
|
| 87 | + '2' => 2, |
|
| 88 | + '3' => 3, |
|
| 89 | + '4' => 4, |
|
| 90 | + '5' => 5, |
|
| 91 | + '6' => 6, |
|
| 92 | + '7' => 7, |
|
| 93 | + '8' => 8, |
|
| 94 | + '9' => 9, |
|
| 95 | + 'A' => 0, |
|
| 96 | + 'B' => 1, |
|
| 97 | + 'C' => 2, |
|
| 98 | + 'D' => 3, |
|
| 99 | + 'E' => 4, |
|
| 100 | + 'F' => 5, |
|
| 101 | + 'G' => 6, |
|
| 102 | + 'H' => 7, |
|
| 103 | + 'I' => 8, |
|
| 104 | + 'J' => 9, |
|
| 105 | + 'K' => 10, |
|
| 106 | + 'L' => 11, |
|
| 107 | + 'M' => 12, |
|
| 108 | + 'N' => 13, |
|
| 109 | + 'O' => 14, |
|
| 110 | + 'P' => 15, |
|
| 111 | + 'Q' => 16, |
|
| 112 | + 'R' => 17, |
|
| 113 | + 'S' => 18, |
|
| 114 | + 'T' => 19, |
|
| 115 | + 'U' => 20, |
|
| 116 | + 'V' => 21, |
|
| 117 | + 'W' => 22, |
|
| 118 | + 'X' => 23, |
|
| 119 | + 'Y' => 24, |
|
| 120 | + 'Z' => 25 |
|
| 121 | + ); |
|
| 122 | 122 | |
| 123 | 123 | /** |
| 124 | 124 | * Array of all avaialable omocodia characters. |
| 125 | 125 | */ |
| 126 | - private $omocodiaCodes = array( |
|
| 127 | - '0' => 'L', |
|
| 128 | - '1' => 'M', |
|
| 126 | + private $omocodiaCodes = array( |
|
| 127 | + '0' => 'L', |
|
| 128 | + '1' => 'M', |
|
| 129 | 129 | '2' => 'N', |
| 130 | 130 | '3' => 'P', |
| 131 | 131 | '4' => 'Q', |
@@ -134,20 +134,20 @@ discard block |
||
| 134 | 134 | '7' => 'T', |
| 135 | 135 | '8' => 'U', |
| 136 | 136 | '9' => 'V' |
| 137 | - ); |
|
| 137 | + ); |
|
| 138 | 138 | |
| 139 | - /** |
|
| 140 | - * Create a Codice Fiscale instance. |
|
| 141 | - * @param Subject $subject The subject that will have the codice fiscale. |
|
| 139 | + /** |
|
| 140 | + * Create a Codice Fiscale instance. |
|
| 141 | + * @param Subject $subject The subject that will have the codice fiscale. |
|
| 142 | 142 | * @param $properties An array with additional properties. |
| 143 | - */ |
|
| 144 | - public function __construct(Subject $subject, $properties = array()){ |
|
| 143 | + */ |
|
| 144 | + public function __construct(Subject $subject, $properties = array()){ |
|
| 145 | 145 | $this->subject = $subject; |
| 146 | 146 | |
| 147 | 147 | if (array_key_exists('omocodiaLevel', $properties)) { |
| 148 | 148 | $this->omocodiaLevel = $properties['omocodiaLevel']; |
| 149 | 149 | } |
| 150 | - } |
|
| 150 | + } |
|
| 151 | 151 | |
| 152 | 152 | /** |
| 153 | 153 | * Calculate the code fiscale. |
@@ -155,7 +155,7 @@ discard block |
||
| 155 | 155 | */ |
| 156 | 156 | public function calculate(){ |
| 157 | 157 | $temporaryCodiceFiscale = $this->calculateSurname() . $this->calculateName() . |
| 158 | - $this->calculateBirthDateAndGender() . $this->calculateBelfioreCode(); |
|
| 158 | + $this->calculateBirthDateAndGender() . $this->calculateBelfioreCode(); |
|
| 159 | 159 | $temporaryCodiceFiscale = $this->calculateOmocodia($temporaryCodiceFiscale); |
| 160 | 160 | return $temporaryCodiceFiscale . $this->calculateCheckDigit($temporaryCodiceFiscale); |
| 161 | 161 | } |
@@ -184,7 +184,7 @@ discard block |
||
| 184 | 184 | $result = substr($consonants, 0, 3); |
| 185 | 185 | } else { |
| 186 | 186 | $vowels = str_replace(str_split($consonants), '', $this->subject->getSurname()); |
| 187 | - $result = substr($consonants . $vowels . 'XXX', 0, 3); |
|
| 187 | + $result = substr($consonants . $vowels . 'XXX', 0, 3); |
|
| 188 | 188 | } |
| 189 | 189 | return $result; |
| 190 | 190 | } |
@@ -201,7 +201,7 @@ discard block |
||
| 201 | 201 | $result = join($consonants); |
| 202 | 202 | } else{ |
| 203 | 203 | $vowels = str_replace(str_split($consonants), '', $this->subject->getName()); |
| 204 | - $result = substr($consonants . $vowels . 'XXX', 0, 3); |
|
| 204 | + $result = substr($consonants . $vowels . 'XXX', 0, 3); |
|
| 205 | 205 | } |
| 206 | 206 | return $result; |
| 207 | 207 | } |
@@ -250,10 +250,10 @@ discard block |
||
| 250 | 250 | private function calculateSumByDictionary($temporaryCodiceFiscale, $dictionaryArray, $i){ |
| 251 | 251 | $sum = 0; |
| 252 | 252 | for (; $i < 15; $i = $i + 2) |
| 253 | - { |
|
| 254 | - $k = $temporaryCodiceFiscale{$i}; |
|
| 255 | - $sum = $sum + $dictionaryArray[$k]; |
|
| 256 | - } |
|
| 253 | + { |
|
| 254 | + $k = $temporaryCodiceFiscale{$i}; |
|
| 255 | + $sum = $sum + $dictionaryArray[$k]; |
|
| 256 | + } |
|
| 257 | 257 | return $sum; |
| 258 | 258 | } |
| 259 | 259 | |
@@ -141,7 +141,7 @@ discard block |
||
| 141 | 141 | * @param Subject $subject The subject that will have the codice fiscale. |
| 142 | 142 | * @param $properties An array with additional properties. |
| 143 | 143 | */ |
| 144 | - public function __construct(Subject $subject, $properties = array()){ |
|
| 144 | + public function __construct(Subject $subject, $properties = array()) { |
|
| 145 | 145 | $this->subject = $subject; |
| 146 | 146 | |
| 147 | 147 | if (array_key_exists('omocodiaLevel', $properties)) { |
@@ -153,7 +153,7 @@ discard block |
||
| 153 | 153 | * Calculate the code fiscale. |
| 154 | 154 | * @returns Returns the complete codice fiscale. |
| 155 | 155 | */ |
| 156 | - public function calculate(){ |
|
| 156 | + public function calculate() { |
|
| 157 | 157 | $temporaryCodiceFiscale = $this->calculateSurname() . $this->calculateName() . |
| 158 | 158 | $this->calculateBirthDateAndGender() . $this->calculateBelfioreCode(); |
| 159 | 159 | $temporaryCodiceFiscale = $this->calculateOmocodia($temporaryCodiceFiscale); |
@@ -164,9 +164,9 @@ discard block |
||
| 164 | 164 | * Calculate all possibilities for the code fiscale. |
| 165 | 165 | * @returns Returns the complete codice fiscale. |
| 166 | 166 | */ |
| 167 | - public function calculateAllPossibilities(){ |
|
| 167 | + public function calculateAllPossibilities() { |
|
| 168 | 168 | $allPossibilities = array(); |
| 169 | - for($i = 0; $i < 8; $i++){ |
|
| 169 | + for ($i = 0; $i < 8; $i++) { |
|
| 170 | 170 | $this->omocodiaLevel = $i; |
| 171 | 171 | $allPossibilities[] = $this->calculate(); |
| 172 | 172 | } |
@@ -178,9 +178,9 @@ discard block |
||
| 178 | 178 | * Calculate the surname part of the codice fiscale. |
| 179 | 179 | * @returns Returns the surname part of the codice fiscale. |
| 180 | 180 | */ |
| 181 | - private function calculateSurname(){ |
|
| 181 | + private function calculateSurname() { |
|
| 182 | 182 | $consonants = str_replace($this->vowels, '', $this->subject->getSurname()); |
| 183 | - if(strlen($consonants) > 2){ |
|
| 183 | + if (strlen($consonants) > 2) { |
|
| 184 | 184 | $result = substr($consonants, 0, 3); |
| 185 | 185 | } else { |
| 186 | 186 | $vowels = str_replace(str_split($consonants), '', $this->subject->getSurname()); |
@@ -193,13 +193,13 @@ discard block |
||
| 193 | 193 | * Calculate the name part of the codice fiscale. |
| 194 | 194 | * @returns Returns the name part of the codice fiscale. |
| 195 | 195 | */ |
| 196 | - private function calculateName(){ |
|
| 196 | + private function calculateName() { |
|
| 197 | 197 | $consonants = str_replace($this->vowels, '', $this->subject->getName()); |
| 198 | - if(strlen($consonants) > 3){ |
|
| 198 | + if (strlen($consonants) > 3) { |
|
| 199 | 199 | $result = $consonants[0] . $consonants[2] . $consonants[3]; |
| 200 | - } else if(strlen($consonants) == 3){ |
|
| 200 | + } else if (strlen($consonants) == 3) { |
|
| 201 | 201 | $result = join($consonants); |
| 202 | - } else{ |
|
| 202 | + } else { |
|
| 203 | 203 | $vowels = str_replace(str_split($consonants), '', $this->subject->getName()); |
| 204 | 204 | $result = substr($consonants . $vowels . 'XXX', 0, 3); |
| 205 | 205 | } |
@@ -210,11 +210,11 @@ discard block |
||
| 210 | 210 | * Calculate the birth date and the gender. |
| 211 | 211 | * @returns Returns the birth date and gender part of the codice fiscale. |
| 212 | 212 | */ |
| 213 | - private function calculateBirthDateAndGender(){ |
|
| 213 | + private function calculateBirthDateAndGender() { |
|
| 214 | 214 | $year = $this->subject->getBirthDate()->format('y'); |
| 215 | 215 | $month = $this->months[$this->subject->getBirthDate()->format('n')]; |
| 216 | 216 | $day = $this->subject->getBirthDate()->format('d'); |
| 217 | - if($this->subject->getGender() == "F"){ |
|
| 217 | + if ($this->subject->getGender() == "F") { |
|
| 218 | 218 | $day += 40; |
| 219 | 219 | } |
| 220 | 220 | return $year . $month . $day; |
@@ -224,7 +224,7 @@ discard block |
||
| 224 | 224 | * Calculate the Belfiore code. |
| 225 | 225 | * @returns Returns the Belfiore code. |
| 226 | 226 | */ |
| 227 | - private function calculateBelfioreCode(){ |
|
| 227 | + private function calculateBelfioreCode() { |
|
| 228 | 228 | return $this->subject->getBelfioreCode(); |
| 229 | 229 | } |
| 230 | 230 | |
@@ -233,7 +233,7 @@ discard block |
||
| 233 | 233 | * @param $temporaryCodiceFiscale The first part of the codice fiscale. |
| 234 | 234 | * @returns Returns the check digit part of the codice fiscale. |
| 235 | 235 | */ |
| 236 | - private function calculateCheckDigit($temporaryCodiceFiscale){ |
|
| 236 | + private function calculateCheckDigit($temporaryCodiceFiscale) { |
|
| 237 | 237 | $sumEven = $this->calculateSumByDictionary($temporaryCodiceFiscale, $this->even, 1); |
| 238 | 238 | $sumOdd = $this->calculateSumByDictionary($temporaryCodiceFiscale, $this->odd, 0); |
| 239 | 239 | return chr(($sumOdd + $sumEven) % 26 + 65); |
@@ -247,7 +247,7 @@ discard block |
||
| 247 | 247 | * @returns Returns the sum by the given dictionary for the given temporary codice fiscale. |
| 248 | 248 | * |
| 249 | 249 | */ |
| 250 | - private function calculateSumByDictionary($temporaryCodiceFiscale, $dictionaryArray, $i){ |
|
| 250 | + private function calculateSumByDictionary($temporaryCodiceFiscale, $dictionaryArray, $i) { |
|
| 251 | 251 | $sum = 0; |
| 252 | 252 | for (; $i < 15; $i = $i + 2) |
| 253 | 253 | { |
@@ -262,12 +262,12 @@ discard block |
||
| 262 | 262 | * @param $temporaryCodiceFiscale The first part of the codice fiscale. |
| 263 | 263 | * @returns Returns the new codice fiscale. |
| 264 | 264 | */ |
| 265 | - private function calculateOmocodia($temporaryCodiceFiscale){ |
|
| 266 | - if($this->omocodiaLevel > 0){ |
|
| 265 | + private function calculateOmocodia($temporaryCodiceFiscale) { |
|
| 266 | + if ($this->omocodiaLevel > 0) { |
|
| 267 | 267 | $omocodiaLevelApplied = 0; |
| 268 | - for($i = strlen($temporaryCodiceFiscale) - 1; $i > 0; $i--){ |
|
| 268 | + for ($i = strlen($temporaryCodiceFiscale) - 1; $i > 0; $i--) { |
|
| 269 | 269 | $k = $temporaryCodiceFiscale{$i}; |
| 270 | - if($omocodiaLevelApplied < $this->omocodiaLevel && is_numeric($k)){ |
|
| 270 | + if ($omocodiaLevelApplied < $this->omocodiaLevel && is_numeric($k)) { |
|
| 271 | 271 | $newChar = $this->omocodiaCodes[$k]; |
| 272 | 272 | $temporaryCodiceFiscale{$i} = $newChar; |
| 273 | 273 | $omocodiaLevelApplied++; |