PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.2
GiveWP – Donation Plugin and Fundraising Platform v3.14.2
4.16.4 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 / vendor-prefixed / fakerphp / faker / src / Faker / Extension / Helper.php
give / vendor / vendor-prefixed / fakerphp / faker / src / Faker / Extension Last commit date
AddressExtension.php 1 year ago BarcodeExtension.php 1 year ago BloodExtension.php 1 year ago ColorExtension.php 1 year ago CompanyExtension.php 1 year ago CountryExtension.php 1 year ago DateTimeExtension.php 1 year ago Extension.php 1 year ago ExtensionNotFound.php 1 year ago FileExtension.php 1 year ago GeneratorAwareExtension.php 1 year ago GeneratorAwareExtensionTrait.php 1 year ago Helper.php 1 year ago NumberExtension.php 1 year ago PersonExtension.php 1 year ago PhoneNumberExtension.php 1 year ago UuidExtension.php 1 year ago VersionExtension.php 1 year ago
Helper.php
115 lines
1 <?php
2 /**
3 * @license MIT
4 *
5 * Modified by impress-org on 07-August-2024 using Strauss.
6 * @see https://github.com/BrianHenryIE/strauss
7 */
8
9 namespace Give\Vendors\Faker\Extension;
10
11 /**
12 * A class with some methods that may make building extensions easier.
13 *
14 * @experimental This class is experimental and does not fall under our BC promise
15 */
16 final class Helper
17 {
18 /**
19 * Returns a random element from a passed array.
20 */
21 public static function randomElement(array $array)
22 {
23 if ($array === []) {
24 return null;
25 }
26
27 return $array[array_rand($array, 1)];
28 }
29
30 /**
31 * Replaces all hash sign ('#') occurrences with a random number
32 * Replaces all percentage sign ('%') occurrences with a non-zero number.
33 *
34 * @param string $string String that needs to bet parsed
35 */
36 public static function numerify(string $string): string
37 {
38 // instead of using randomDigit() several times, which is slow,
39 // count the number of hashes and generate once a large number
40 $toReplace = [];
41
42 if (($pos = strpos($string, '#')) !== false) {
43 for ($i = $pos, $last = strrpos($string, '#', $pos) + 1; $i < $last; ++$i) {
44 if ($string[$i] === '#') {
45 $toReplace[] = $i;
46 }
47 }
48 }
49
50 if ($nbReplacements = count($toReplace)) {
51 $maxAtOnce = strlen((string) mt_getrandmax()) - 1;
52 $numbers = '';
53 $i = 0;
54
55 while ($i < $nbReplacements) {
56 $size = min($nbReplacements - $i, $maxAtOnce);
57 $numbers .= str_pad((string) mt_rand(0, 10 ** $size - 1), $size, '0', STR_PAD_LEFT);
58 $i += $size;
59 }
60
61 for ($i = 0; $i < $nbReplacements; ++$i) {
62 $string[$toReplace[$i]] = $numbers[$i];
63 }
64 }
65
66 $string = self::replaceWildcard($string, '%', static function () {
67 return mt_rand(1, 9);
68 });
69
70 return $string;
71 }
72
73 /**
74 * Replaces all question mark ('?') occurrences with a random letter.
75 *
76 * @param string $string String that needs to bet parsed
77 */
78 public static function lexify(string $string): string
79 {
80 return self::replaceWildcard($string, '?', static function () {
81 return chr(mt_rand(97, 122));
82 });
83 }
84
85 /**
86 * Replaces hash signs ('#') and question marks ('?') with random numbers and letters
87 * An asterisk ('*') is replaced with either a random number or a random letter.
88 *
89 * @param string $string String that needs to bet parsed
90 */
91 public static function bothify(string $string): string
92 {
93 $string = self::replaceWildcard($string, '*', static function () {
94 return mt_rand(0, 1) ? '#' : '?';
95 });
96
97 return static::lexify(static::numerify($string));
98 }
99
100 private static function replaceWildcard(string $string, string $wildcard, callable $callback): string
101 {
102 if (($pos = strpos($string, $wildcard)) === false) {
103 return $string;
104 }
105
106 for ($i = $pos, $last = strrpos($string, $wildcard, $pos) + 1; $i < $last; ++$i) {
107 if ($string[$i] === $wildcard) {
108 $string[$i] = call_user_func($callback);
109 }
110 }
111
112 return $string;
113 }
114 }
115