We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
@@ -14,7 +14,7 @@ discard block |
||
14 | 14 | { |
15 | 15 | public bool $handleRepeatableFiles = false; |
16 | 16 | |
17 | - public null|string $repeatableContainerName = null; |
|
17 | + public null | string $repeatableContainerName = null; |
|
18 | 18 | |
19 | 19 | /******************************* |
20 | 20 | * Setters - fluently configure the uploader |
@@ -31,7 +31,7 @@ discard block |
||
31 | 31 | /******************************* |
32 | 32 | * Getters |
33 | 33 | *******************************/ |
34 | - public function getRepeatableContainerName(): null|string |
|
34 | + public function getRepeatableContainerName(): null | string |
|
35 | 35 | { |
36 | 36 | return $this->repeatableContainerName; |
37 | 37 | } |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) { |
160 | 160 | $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getAttributeName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader)); |
161 | 161 | |
162 | - $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) { |
|
162 | + $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) { |
|
163 | 163 | $item[$uploader->getAttributeName()] = $uploadedValues[$key] ?? null; |
164 | 164 | |
165 | 165 | return $item; |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | |
191 | 191 | $values = $entry->{$this->getAttributeName()}; |
192 | 192 | $values = is_string($values) ? json_decode($values, true) : $values; |
193 | - $values = array_map(function ($item) use ($repeatableUploaders) { |
|
193 | + $values = array_map(function($item) use ($repeatableUploaders) { |
|
194 | 194 | foreach ($repeatableUploaders as $upload) { |
195 | 195 | $item[$upload->getAttributeName()] = $this->getValuesWithPathStripped($item, $upload); |
196 | 196 | } |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | |
206 | 206 | private function retrieveRepeatableRelationFiles(Model $entry) |
207 | 207 | { |
208 | - switch($this->getRepeatableRelationType()) { |
|
208 | + switch ($this->getRepeatableRelationType()) { |
|
209 | 209 | case 'BelongsToMany': |
210 | 210 | case 'MorphToMany': |
211 | 211 | $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass(); |
@@ -258,12 +258,12 @@ discard block |
||
258 | 258 | $repeatableValues ??= collect($entry->{$this->getRepeatableContainerName()}); |
259 | 259 | |
260 | 260 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) { |
261 | - if (! $upload->shouldDeleteFiles()) { |
|
261 | + if (!$upload->shouldDeleteFiles()) { |
|
262 | 262 | continue; |
263 | 263 | } |
264 | 264 | $values = $repeatableValues->pluck($upload->getName())->toArray(); |
265 | 265 | foreach ($values as $value) { |
266 | - if (! $value) { |
|
266 | + if (!$value) { |
|
267 | 267 | continue; |
268 | 268 | } |
269 | 269 | |
@@ -286,7 +286,7 @@ discard block |
||
286 | 286 | /** |
287 | 287 | * Given two multidimensional arrays/collections, merge them recursively. |
288 | 288 | */ |
289 | - protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection |
|
289 | + protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection |
|
290 | 290 | { |
291 | 291 | $merged = $array1; |
292 | 292 | foreach ($array2 as $key => &$value) { |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | { |
309 | 309 | $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? []; |
310 | 310 | |
311 | - array_walk($items, function (&$key, $value) { |
|
311 | + array_walk($items, function(&$key, $value) { |
|
312 | 312 | $requestValue = $key[$this->getName()] ?? null; |
313 | 313 | $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue; |
314 | 314 | }); |
@@ -320,22 +320,22 @@ discard block |
||
320 | 320 | { |
321 | 321 | $previousValues = $entry->getOriginal($uploader->getRepeatableContainerName()); |
322 | 322 | |
323 | - if (! is_array($previousValues)) { |
|
323 | + if (!is_array($previousValues)) { |
|
324 | 324 | $previousValues = json_decode($previousValues, true); |
325 | 325 | } |
326 | 326 | |
327 | - if (! empty($previousValues)) { |
|
327 | + if (!empty($previousValues)) { |
|
328 | 328 | $previousValues = array_column($previousValues, $uploader->getName()); |
329 | 329 | } |
330 | 330 | |
331 | 331 | return $previousValues ?? []; |
332 | 332 | } |
333 | 333 | |
334 | - private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $uploader) |
|
334 | + private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $uploader) |
|
335 | 335 | { |
336 | 336 | $uploadedValues = $item[$uploader->getName()] ?? null; |
337 | 337 | if (is_array($uploadedValues)) { |
338 | - return array_map(function ($value) use ($uploader) { |
|
338 | + return array_map(function($value) use ($uploader) { |
|
339 | 339 | return $uploader->getValueWithoutPath($value); |
340 | 340 | }, $uploadedValues); |
341 | 341 | } |
@@ -354,19 +354,19 @@ discard block |
||
354 | 354 | { |
355 | 355 | if (in_array($this->getRepeatableRelationType(), ['BelongsToMany', 'MorphToMany'])) { |
356 | 356 | $pivotAttributes = $entry->getAttributes(); |
357 | - $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function ($item) use ($pivotAttributes) { |
|
357 | + $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) { |
|
358 | 358 | $itemPivotAttributes = $item->pivot->only(array_keys($pivotAttributes)); |
359 | 359 | |
360 | 360 | return $itemPivotAttributes === $pivotAttributes; |
361 | 361 | })->first(); |
362 | 362 | |
363 | - if (! $connectedPivot) { |
|
363 | + if (!$connectedPivot) { |
|
364 | 364 | return; |
365 | 365 | } |
366 | 366 | |
367 | 367 | $files = $connectedPivot->getOriginal()['pivot_'.$this->getAttributeName()]; |
368 | 368 | |
369 | - if (! $files) { |
|
369 | + if (!$files) { |
|
370 | 370 | return; |
371 | 371 | } |
372 | 372 |
@@ -48,7 +48,7 @@ |
||
48 | 48 | $app['config']->set('database.default', 'testing'); |
49 | 49 | $app['config']->set('backpack.base.route_prefix', 'admin'); |
50 | 50 | |
51 | - $app->bind('App\Http\Middleware\CheckIfAdmin', function () { |
|
51 | + $app->bind('App\Http\Middleware\CheckIfAdmin', function() { |
|
52 | 52 | return new class |
53 | 53 | { |
54 | 54 | public function handle($request, $next) |
@@ -11,7 +11,7 @@ |
||
11 | 11 | */ |
12 | 12 | public function up(): void |
13 | 13 | { |
14 | - Schema::create('uploaders', function (Blueprint $table) { |
|
14 | + Schema::create('uploaders', function(Blueprint $table) { |
|
15 | 15 | $table->increments('id'); |
16 | 16 | $table->string('upload')->nullable(); |
17 | 17 | $table->json('upload_multiple')->nullable(); |
@@ -21,8 +21,7 @@ discard block |
||
21 | 21 | } |
22 | 22 | |
23 | 23 | $previousValues = str_contains($attribute, '.') ? |
24 | - (Arr::get($entry?->{Str::before($attribute, '.')} ?? [], Str::after($attribute, '.')) ?? []) : |
|
25 | - ($entry?->{$attribute} ?? []); |
|
24 | + (Arr::get($entry?->{Str::before($attribute, '.')} ?? [], Str::after($attribute, '.')) ?? []) : ($entry?->{$attribute} ?? []); |
|
26 | 25 | |
27 | 26 | if (is_string($previousValues)) { |
28 | 27 | $previousValues = json_decode($previousValues, true) ?? []; |
@@ -39,7 +38,7 @@ discard block |
||
39 | 38 | |
40 | 39 | // if there is no entry, the values we are going to validate need to be files |
41 | 40 | // the request was tampered so we will set the attribute to null |
42 | - if (! $entry && ! empty(Arr::get($data, $attribute)) && ! $this->allFiles(Arr::get($data, $attribute))) { |
|
41 | + if (!$entry && !empty(Arr::get($data, $attribute)) && !$this->allFiles(Arr::get($data, $attribute))) { |
|
43 | 42 | Arr::set($data, $attribute, null); |
44 | 43 | } |
45 | 44 | |
@@ -50,7 +49,7 @@ discard block |
||
50 | 49 | private function allFiles(array $values): bool |
51 | 50 | { |
52 | 51 | foreach ($values as $value) { |
53 | - if (! $value instanceof \Illuminate\Http\UploadedFile) { |
|
52 | + if (!$value instanceof \Illuminate\Http\UploadedFile) { |
|
54 | 53 | return false; |
55 | 54 | } |
56 | 55 | } |
@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | |
21 | 21 | // if the attribute is not set in the request, and an entry exists, |
22 | 22 | // we will check if there is a previous value, as this field might not have changed. |
23 | - if (! Arr::has($this->data, $attribute) && $entry) { |
|
23 | + if (!Arr::has($this->data, $attribute) && $entry) { |
|
24 | 24 | if (str_contains($attribute, '.') && get_class($entry) === get_class(CrudPanelFacade::getModel())) { |
25 | 25 | $previousValue = Arr::get($this->data, '_order_'.Str::before($attribute, '.')); |
26 | 26 | $previousValue = Arr::get($previousValue, Str::after($attribute, '.')); |
@@ -37,25 +37,25 @@ discard block |
||
37 | 37 | |
38 | 38 | // if the value is an uploaded file, or the attribute is not |
39 | 39 | // set in the request, we force fill the data with the value |
40 | - if ($value instanceof UploadedFile || ! Arr::has($this->data, $attribute)) { |
|
40 | + if ($value instanceof UploadedFile || !Arr::has($this->data, $attribute)) { |
|
41 | 41 | Arr::set($this->data, $attribute, $value); |
42 | 42 | } |
43 | 43 | |
44 | 44 | // if there are no entry, and the new value it's not a file ... well we don't want it at all. |
45 | - if (! $entry && ! $value instanceof UploadedFile) { |
|
45 | + if (!$entry && !$value instanceof UploadedFile) { |
|
46 | 46 | Arr::set($this->data, $attribute, null); |
47 | 47 | } |
48 | 48 | |
49 | 49 | $fieldErrors = $this->validateFieldRules($attribute); |
50 | 50 | |
51 | - if (! empty($value) && ! empty($this->getFileRules())) { |
|
51 | + if (!empty($value) && !empty($this->getFileRules())) { |
|
52 | 52 | $fileErrors = $this->validateFileRules($attribute, $value); |
53 | 53 | } |
54 | 54 | |
55 | 55 | return array_merge($fieldErrors, $fileErrors ?? []); |
56 | 56 | } |
57 | 57 | |
58 | - public static function field(string|array|ValidationRule|Rule $rules = []): self |
|
58 | + public static function field(string | array | ValidationRule | Rule $rules = []): self |
|
59 | 59 | { |
60 | 60 | return parent::field($rules); |
61 | 61 | } |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | |
26 | 26 | private bool $deleteWhenEntryIsDeleted = true; |
27 | 27 | |
28 | - private bool|string $attachedToFakeField = false; |
|
28 | + private bool | string $attachedToFakeField = false; |
|
29 | 29 | |
30 | 30 | /** |
31 | 31 | * Cloud disks have the ability to generate temporary URLs to files, should we do it? |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | /******************************* |
63 | 63 | * Static methods |
64 | 64 | *******************************/ |
65 | - public static function for(array $crudObject, array $definition): UploaderInterface |
|
65 | + public static function for (array $crudObject, array $definition): UploaderInterface |
|
66 | 66 | { |
67 | 67 | return new static($crudObject, $definition); |
68 | 68 | } |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | public function deleteUploadedFiles(Model $entry): void |
104 | 104 | { |
105 | 105 | if ($this->deleteWhenEntryIsDeleted) { |
106 | - if (! in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
106 | + if (!in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
107 | 107 | $this->performFileDeletion($entry); |
108 | 108 | |
109 | 109 | return; |
@@ -179,7 +179,7 @@ discard block |
||
179 | 179 | |
180 | 180 | public function getPreviousFiles(Model $entry): mixed |
181 | 181 | { |
182 | - if (! $this->attachedToFakeField) { |
|
182 | + if (!$this->attachedToFakeField) { |
|
183 | 183 | return $this->getOriginalValue($entry); |
184 | 184 | } |
185 | 185 | $value = $this->getOriginalValue($entry, $this->attachedToFakeField); |
@@ -198,7 +198,7 @@ discard block |
||
198 | 198 | return $this->attachedToFakeField !== false; |
199 | 199 | } |
200 | 200 | |
201 | - public function getFakeAttribute(): bool|string |
|
201 | + public function getFakeAttribute(): bool | string |
|
202 | 202 | { |
203 | 203 | return $this->attachedToFakeField; |
204 | 204 | } |
@@ -220,7 +220,7 @@ discard block |
||
220 | 220 | return $this; |
221 | 221 | } |
222 | 222 | |
223 | - public function fake(bool|string $isFake): self |
|
223 | + public function fake(bool | string $isFake): self |
|
224 | 224 | { |
225 | 225 | $this->attachedToFakeField = $isFake; |
226 | 226 | |
@@ -251,7 +251,7 @@ discard block |
||
251 | 251 | } |
252 | 252 | |
253 | 253 | if ($this->handleMultipleFiles) { |
254 | - if (! isset($entry->getCasts()[$this->getName()]) && is_string($value)) { |
|
254 | + if (!isset($entry->getCasts()[$this->getName()]) && is_string($value)) { |
|
255 | 255 | $entry->{$this->getAttributeName()} = json_decode($value, true); |
256 | 256 | } |
257 | 257 | |
@@ -265,7 +265,7 @@ discard block |
||
265 | 265 | |
266 | 266 | private function deleteFiles(Model $entry) |
267 | 267 | { |
268 | - if (! $this->shouldDeleteFiles()) { |
|
268 | + if (!$this->shouldDeleteFiles()) { |
|
269 | 269 | return; |
270 | 270 | } |
271 | 271 | |
@@ -300,7 +300,7 @@ discard block |
||
300 | 300 | |
301 | 301 | private function performFileDeletion(Model $entry) |
302 | 302 | { |
303 | - if (! $this->handleRepeatableFiles) { |
|
303 | + if (!$this->handleRepeatableFiles) { |
|
304 | 304 | $this->deleteFiles($entry); |
305 | 305 | |
306 | 306 | return; |
@@ -329,7 +329,7 @@ discard block |
||
329 | 329 | |
330 | 330 | $previousValue = $entry->getOriginal($field); |
331 | 331 | |
332 | - if (! $previousValue) { |
|
332 | + if (!$previousValue) { |
|
333 | 333 | return $previousValue; |
334 | 334 | } |
335 | 335 |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | |
63 | 63 | $this->assertDatabaseHas('uploaders', [ |
64 | 64 | 'upload' => 'avatar1.jpg', |
65 | - 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
65 | + 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
66 | 66 | ]); |
67 | 67 | |
68 | 68 | $this->assertTrue(Storage::disk('uploaders')->exists('avatar1.jpg')); |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | $response = $this->put($this->testBaseUrl.'/1', [ |
98 | 98 | 'upload' => $this->getUploadedFile('avatar4.jpg'), |
99 | 99 | 'upload_multiple' => $this->getUploadedFiles(['avatar5.jpg', 'avatar6.jpg']), |
100 | - 'clear_upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], |
|
100 | + 'clear_upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], |
|
101 | 101 | 'id' => 1, |
102 | 102 | ]); |
103 | 103 | |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | |
110 | 110 | $this->assertDatabaseHas('uploaders', [ |
111 | 111 | 'upload' => 'avatar4.jpg', |
112 | - 'upload_multiple' => json_encode(['avatar5.jpg', 'avatar6.jpg']), |
|
112 | + 'upload_multiple' => json_encode(['avatar5.jpg', 'avatar6.jpg']), |
|
113 | 113 | ]); |
114 | 114 | |
115 | 115 | $files = Storage::disk('uploaders')->allFiles(); |
@@ -138,7 +138,7 @@ discard block |
||
138 | 138 | |
139 | 139 | $this->assertDatabaseHas('uploaders', [ |
140 | 140 | 'upload' => null, |
141 | - 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
141 | + 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
142 | 142 | ]); |
143 | 143 | |
144 | 144 | $files = Storage::disk('uploaders')->allFiles(); |
@@ -168,7 +168,7 @@ discard block |
||
168 | 168 | self::initUploaderWithFiles(); |
169 | 169 | |
170 | 170 | $response = $this->put($this->testBaseUrl.'/1', [ |
171 | - 'upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], |
|
171 | + 'upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], |
|
172 | 172 | 'id' => 1, |
173 | 173 | ]); |
174 | 174 | |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | |
181 | 181 | $this->assertDatabaseHas('uploaders', [ |
182 | 182 | 'upload' => 'avatar1.jpg', |
183 | - 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
183 | + 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
184 | 184 | ]); |
185 | 185 | |
186 | 186 | $files = Storage::disk('uploaders')->allFiles(); |
@@ -210,7 +210,7 @@ discard block |
||
210 | 210 | |
211 | 211 | $this->assertDatabaseHas('uploaders', [ |
212 | 212 | 'upload' => 'avatar1.jpg', |
213 | - 'upload_multiple' => json_encode(['avatar3.jpg', 'avatar4.jpg', 'avatar5.jpg']), |
|
213 | + 'upload_multiple' => json_encode(['avatar3.jpg', 'avatar4.jpg', 'avatar5.jpg']), |
|
214 | 214 | ]); |
215 | 215 | |
216 | 216 | $files = Storage::disk('uploaders')->allFiles(); |
@@ -231,7 +231,7 @@ discard block |
||
231 | 231 | |
232 | 232 | Uploader::create([ |
233 | 233 | 'upload' => 'avatar1.jpg', |
234 | - 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
234 | + 'upload_multiple' => json_encode(['avatar2.jpg', 'avatar3.jpg']), |
|
235 | 235 | ]); |
236 | 236 | } |
237 | 237 |
@@ -93,7 +93,7 @@ discard block |
||
93 | 93 | '_method' => 'PUT', |
94 | 94 | 'upload' => $this->getUploadedFile('avatar4.jpg'), |
95 | 95 | 'upload_multiple' => $this->getUploadedFiles(['avatar5.jpg', 'avatar6.jpg']), |
96 | - 'clear_upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], |
|
96 | + 'clear_upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], |
|
97 | 97 | 'id' => 1, |
98 | 98 | ]); |
99 | 99 | |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | $this->assertDatabaseCount('uploaders', 1); |
174 | 174 | |
175 | 175 | $this->assertDatabaseHas('uploaders', [ |
176 | - 'extras' => json_encode(['upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], 'upload' => 'avatar1.jpg']), |
|
176 | + 'extras' => json_encode(['upload_multiple' => ['avatar2.jpg', 'avatar3.jpg'], 'upload' => 'avatar1.jpg']), |
|
177 | 177 | ]); |
178 | 178 | |
179 | 179 | $files = Storage::disk('uploaders')->allFiles(); |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | self::initUploaderWithFiles(); |
191 | 191 | |
192 | 192 | $response = $this->put($this->testBaseUrl.'/1', [ |
193 | - 'upload_multiple' => $this->getUploadedFiles(['avatar4.jpg', 'avatar5.jpg']), |
|
193 | + 'upload_multiple' => $this->getUploadedFiles(['avatar4.jpg', 'avatar5.jpg']), |
|
194 | 194 | 'clear_upload_multiple' => ['avatar2.jpg'], |
195 | 195 | 'id' => 1, |
196 | 196 | ]); |
@@ -202,7 +202,7 @@ discard block |
||
202 | 202 | $this->assertDatabaseCount('uploaders', 1); |
203 | 203 | |
204 | 204 | $this->assertDatabaseHas('uploaders', [ |
205 | - 'extras' => json_encode(['upload_multiple' => ['avatar3.jpg', 'avatar4.jpg', 'avatar5.jpg'], 'upload' => 'avatar1.jpg']), |
|
205 | + 'extras' => json_encode(['upload_multiple' => ['avatar3.jpg', 'avatar4.jpg', 'avatar5.jpg'], 'upload' => 'avatar1.jpg']), |
|
206 | 206 | ]); |
207 | 207 | |
208 | 208 | $files = Storage::disk('uploaders')->allFiles(); |
@@ -222,7 +222,7 @@ discard block |
||
222 | 222 | UploadedFile::fake()->image('avatar3.jpg')->storeAs('', 'avatar3.jpg', ['disk' => 'uploaders']); |
223 | 223 | |
224 | 224 | FakeUploader::create([ |
225 | - 'extras' => ['upload' => 'avatar1.jpg', 'upload_multiple' => ['avatar2.jpg', 'avatar3.jpg']], |
|
225 | + 'extras' => ['upload' => 'avatar1.jpg', 'upload_multiple' => ['avatar2.jpg', 'avatar3.jpg']], |
|
226 | 226 | ]); |
227 | 227 | } |
228 | 228 |
@@ -13,7 +13,7 @@ |
||
13 | 13 | |
14 | 14 | protected function getUploadedFiles(array $fileNames, string $mime = 'image/jpg') |
15 | 15 | { |
16 | - return array_map(function ($fileName) use ($mime) { |
|
16 | + return array_map(function($fileName) use ($mime) { |
|
17 | 17 | return new UploadedFile(__DIR__.'/assets/'.$fileName, $fileName, $mime, null, true); |
18 | 18 | }, $fileNames); |
19 | 19 | } |