PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.1
4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 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 2 years ago BarcodeExtension.php 2 years ago BloodExtension.php 2 years ago ColorExtension.php 2 years ago CompanyExtension.php 2 years ago CountryExtension.php 2 years ago DateTimeExtension.php 2 years ago Extension.php 2 years ago ExtensionNotFound.php 2 years ago FileExtension.php 2 years ago GeneratorAwareExtension.php 2 years ago GeneratorAwareExtensionTrait.php 2 years ago Helper.php 2 years ago NumberExtension.php 2 years ago PersonExtension.php 2 years ago PhoneNumberExtension.php 2 years ago UuidExtension.php 2 years ago VersionExtension.php 2 years ago
Helper.php
115 lines
1 <?php
2 /**
3 * @license MIT
4 *
5 * Modified by impress-org on 23-January-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