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 / Provider / Image.php
give / vendor / vendor-prefixed / fakerphp / faker / src / Faker / Provider Last commit date
ar_EG 1 year ago ar_JO 1 year ago ar_SA 1 year ago at_AT 1 year ago bg_BG 1 year ago bn_BD 1 year ago cs_CZ 1 year ago da_DK 1 year ago de_AT 1 year ago de_CH 1 year ago de_DE 1 year ago el_CY 1 year ago el_GR 1 year ago en_AU 1 year ago en_CA 1 year ago en_GB 1 year ago en_HK 1 year ago en_IN 1 year ago en_NG 1 year ago en_NZ 1 year ago en_PH 1 year ago en_SG 1 year ago en_UG 1 year ago en_US 1 year ago en_ZA 1 year ago es_AR 1 year ago es_ES 1 year ago es_PE 1 year ago es_VE 1 year ago et_EE 1 year ago fa_IR 1 year ago fi_FI 1 year ago fr_BE 1 year ago fr_CA 1 year ago fr_CH 1 year ago fr_FR 1 year ago he_IL 1 year ago hr_HR 1 year ago hu_HU 1 year ago hy_AM 1 year ago id_ID 1 year ago is_IS 1 year ago it_CH 1 year ago it_IT 1 year ago ja_JP 1 year ago ka_GE 1 year ago kk_KZ 1 year ago ko_KR 1 year ago lt_LT 1 year ago lv_LV 1 year ago me_ME 1 year ago mn_MN 1 year ago ms_MY 1 year ago nb_NO 1 year ago ne_NP 1 year ago nl_BE 1 year ago nl_NL 1 year ago pl_PL 1 year ago pt_BR 1 year ago pt_PT 1 year ago ro_MD 1 year ago ro_RO 1 year ago ru_RU 1 year ago sk_SK 1 year ago sl_SI 1 year ago sr_Cyrl_RS 1 year ago sr_Latn_RS 1 year ago sr_RS 1 year ago sv_SE 1 year ago th_TH 1 year ago tr_TR 1 year ago uk_UA 1 year ago vi_VN 1 year ago zh_CN 1 year ago zh_TW 1 year ago Address.php 1 year ago Barcode.php 1 year ago Base.php 1 year ago Biased.php 1 year ago Color.php 1 year ago Company.php 1 year ago DateTime.php 1 year ago File.php 1 year ago HtmlLorem.php 1 year ago Image.php 1 year ago Internet.php 1 year ago Lorem.php 1 year ago Medical.php 1 year ago Miscellaneous.php 1 year ago Payment.php 1 year ago Person.php 1 year ago PhoneNumber.php 1 year ago Text.php 1 year ago UserAgent.php 1 year ago Uuid.php 1 year ago
Image.php
202 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\Provider;
10
11 /**
12 * Depends on image generation from http://lorempixel.com/
13 */
14 class Image extends Base
15 {
16 /**
17 * @var string
18 */
19 public const BASE_URL = 'https://via.placeholder.com';
20
21 public const FORMAT_JPG = 'jpg';
22 public const FORMAT_JPEG = 'jpeg';
23 public const FORMAT_PNG = 'png';
24
25 /**
26 * @var array
27 *
28 * @deprecated Categories are no longer used as a list in the placeholder API but referenced as string instead
29 */
30 protected static $categories = [
31 'abstract', 'animals', 'business', 'cats', 'city', 'food', 'nightlife',
32 'fashion', 'people', 'nature', 'sports', 'technics', 'transport',
33 ];
34
35 /**
36 * Generate the URL that will return a random image
37 *
38 * Set randomize to false to remove the random GET parameter at the end of the url.
39 *
40 * @example 'http://via.placeholder.com/640x480.png/CCCCCC?text=well+hi+there'
41 *
42 * @param int $width
43 * @param int $height
44 * @param string|null $category
45 * @param bool $randomize
46 * @param string|null $word
47 * @param bool $gray
48 * @param string $format
49 *
50 * @return string
51 */
52 public static function imageUrl(
53 $width = 640,
54 $height = 480,
55 $category = null,
56 $randomize = true,
57 $word = null,
58 $gray = false,
59 $format = 'png'
60 ) {
61 trigger_deprecation(
62 'fakerphp/faker',
63 '1.20',
64 'Provider is deprecated and will no longer be available in Faker 2. Please use a custom provider instead'
65 );
66
67 // Validate image format
68 $imageFormats = static::getFormats();
69
70 if (!in_array(strtolower($format), $imageFormats, true)) {
71 throw new \InvalidArgumentException(sprintf(
72 'Invalid image format "%s". Allowable formats are: %s',
73 $format,
74 implode(', ', $imageFormats)
75 ));
76 }
77
78 $size = sprintf('%dx%d.%s', $width, $height, $format);
79
80 $imageParts = [];
81
82 if ($category !== null) {
83 $imageParts[] = $category;
84 }
85
86 if ($word !== null) {
87 $imageParts[] = $word;
88 }
89
90 if ($randomize === true) {
91 $imageParts[] = Lorem::word();
92 }
93
94 $backgroundColor = $gray === true ? 'CCCCCC' : str_replace('#', '', Color::safeHexColor());
95
96 return sprintf(
97 '%s/%s/%s%s',
98 self::BASE_URL,
99 $size,
100 $backgroundColor,
101 count($imageParts) > 0 ? '?text=' . urlencode(implode(' ', $imageParts)) : ''
102 );
103 }
104
105 /**
106 * Download a remote random image to disk and return its location
107 *
108 * Requires curl, or allow_url_fopen to be on in php.ini.
109 *
110 * @example '/path/to/dir/13b73edae8443990be1aa8f1a483bc27.png'
111 *
112 * @return bool|string
113 */
114 public static function image(
115 $dir = null,
116 $width = 640,
117 $height = 480,
118 $category = null,
119 $fullPath = true,
120 $randomize = true,
121 $word = null,
122 $gray = false,
123 $format = 'png'
124 ) {
125 trigger_deprecation(
126 'fakerphp/faker',
127 '1.20',
128 'Provider is deprecated and will no longer be available in Faker 2. Please use a custom provider instead'
129 );
130
131 $dir = null === $dir ? sys_get_temp_dir() : $dir; // GNU/Linux / OS X / Windows compatible
132 // Validate directory path
133 if (!is_dir($dir) || !is_writable($dir)) {
134 throw new \InvalidArgumentException(sprintf('Cannot write to directory "%s"', $dir));
135 }
136
137 // Generate a random filename. Use the server address so that a file
138 // generated at the same time on a different server won't have a collision.
139 $name = md5(uniqid(empty($_SERVER['SERVER_ADDR']) ? '' : $_SERVER['SERVER_ADDR'], true));
140 $filename = sprintf('%s.%s', $name, $format);
141 $filepath = $dir . DIRECTORY_SEPARATOR . $filename;
142
143 $url = static::imageUrl($width, $height, $category, $randomize, $word, $gray, $format);
144
145 // save file
146 if (function_exists('curl_exec')) {
147 // use cURL
148 $fp = fopen($filepath, 'w');
149 $ch = curl_init($url);
150 curl_setopt($ch, CURLOPT_FILE, $fp);
151 $success = curl_exec($ch) && curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200;
152 fclose($fp);
153 curl_close($ch);
154
155 if (!$success) {
156 unlink($filepath);
157
158 // could not contact the distant URL or HTTP error - fail silently.
159 return false;
160 }
161 } elseif (ini_get('allow_url_fopen')) {
162 // use remote fopen() via copy()
163 $success = copy($url, $filepath);
164
165 if (!$success) {
166 // could not contact the distant URL or HTTP error - fail silently.
167 return false;
168 }
169 } else {
170 return new \RuntimeException('The image formatter downloads an image from a remote HTTP server. Therefore, it requires that PHP can request remote hosts, either via cURL or fopen()');
171 }
172
173 return $fullPath ? $filepath : $filename;
174 }
175
176 public static function getFormats(): array
177 {
178 trigger_deprecation(
179 'fakerphp/faker',
180 '1.20',
181 'Provider is deprecated and will no longer be available in Faker 2. Please use a custom provider instead'
182 );
183
184 return array_keys(static::getFormatConstants());
185 }
186
187 public static function getFormatConstants(): array
188 {
189 trigger_deprecation(
190 'fakerphp/faker',
191 '1.20',
192 'Provider is deprecated and will no longer be available in Faker 2. Please use a custom provider instead'
193 );
194
195 return [
196 static::FORMAT_JPG => constant('IMAGETYPE_JPEG'),
197 static::FORMAT_JPEG => constant('IMAGETYPE_JPEG'),
198 static::FORMAT_PNG => constant('IMAGETYPE_PNG'),
199 ];
200 }
201 }
202