PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.7
GiveWP – Donation Plugin and Fundraising Platform v2.19.7
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / fakerphp / faker / src / Faker / Calculator / Iban.php
give / vendor / fakerphp / faker / src / Faker / Calculator Last commit date
Ean.php 5 years ago Iban.php 5 years ago Inn.php 5 years ago Luhn.php 5 years ago TCNo.php 5 years ago
Iban.php
74 lines
1 <?php
2
3 namespace Faker\Calculator;
4
5 class Iban
6 {
7 /**
8 * Generates IBAN Checksum
9 *
10 * @param string $iban
11 * @return string Checksum (numeric string)
12 */
13 public static function checksum($iban)
14 {
15 // Move first four digits to end and set checksum to '00'
16 $checkString = substr($iban, 4) . substr($iban, 0, 2) . '00';
17
18 // Replace all letters with their number equivalents
19 $checkString = preg_replace_callback('/[A-Z]/', array('self','alphaToNumberCallback'), $checkString);
20
21 // Perform mod 97 and subtract from 98
22 $checksum = 98 - self::mod97($checkString);
23
24 return str_pad($checksum, 2, '0', STR_PAD_LEFT);
25 }
26
27 /**
28 * @param string $match
29 *
30 * @return int
31 */
32 private static function alphaToNumberCallback($match)
33 {
34 return self::alphaToNumber($match[0]);
35 }
36
37 /**
38 * Converts letter to number
39 *
40 * @param string $char
41 * @return int
42 */
43 public static function alphaToNumber($char)
44 {
45 return ord($char) - 55;
46 }
47
48 /**
49 * Calculates mod97 on a numeric string
50 *
51 * @param string $number Numeric string
52 * @return int
53 */
54 public static function mod97($number)
55 {
56 $checksum = (int)$number[0];
57 for ($i = 1, $size = strlen($number); $i < $size; $i++) {
58 $checksum = (10 * $checksum + (int) $number[$i]) % 97;
59 }
60 return $checksum;
61 }
62
63 /**
64 * Checks whether an IBAN has a valid checksum
65 *
66 * @param string $iban
67 * @return boolean
68 */
69 public static function isValid($iban)
70 {
71 return self::checksum($iban) === substr($iban, 2, 2);
72 }
73 }
74