We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
@@ -10,7 +10,7 @@ discard block |
||
10 | 10 | |
11 | 11 | class MultipleFiles extends Uploader |
12 | 12 | { |
13 | - public static function for(array $field, $configuration): UploaderInterface |
|
13 | + public static function for (array $field, $configuration): UploaderInterface |
|
14 | 14 | { |
15 | 15 | return (new self($field, $configuration))->multiple(); |
16 | 16 | } |
@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | $value = $value ?? CRUD::getRequest()->file($this->getName()); |
22 | 22 | $previousFiles = $entry->getOriginal($this->getName()) ?? []; |
23 | 23 | |
24 | - if (! is_array($previousFiles) && is_string($previousFiles)) { |
|
24 | + if (!is_array($previousFiles) && is_string($previousFiles)) { |
|
25 | 25 | $previousFiles = json_decode($previousFiles, true); |
26 | 26 | } |
27 | 27 | |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | if (in_array($previousFile, $filesToDelete)) { |
31 | 31 | Storage::disk($this->getDisk())->delete($previousFile); |
32 | 32 | |
33 | - $previousFiles = Arr::where($previousFiles, function ($value, $key) use ($previousFile) { |
|
33 | + $previousFiles = Arr::where($previousFiles, function($value, $key) use ($previousFile) { |
|
34 | 34 | return $value != $previousFile; |
35 | 35 | }); |
36 | 36 | } |
@@ -56,7 +56,7 @@ discard block |
||
56 | 56 | /******************************* |
57 | 57 | * Static methods |
58 | 58 | *******************************/ |
59 | - public static function for(array $crudObject, array $definition): UploaderInterface |
|
59 | + public static function for (array $crudObject, array $definition): UploaderInterface |
|
60 | 60 | { |
61 | 61 | return new static($crudObject, $definition); |
62 | 62 | } |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | public function deleteUploadedFiles(Model $entry): void |
88 | 88 | { |
89 | 89 | if ($this->deleteWhenEntryIsDeleted) { |
90 | - if (! in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
90 | + if (!in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
91 | 91 | $this->performFileDeletion($entry); |
92 | 92 | |
93 | 93 | return; |
@@ -169,7 +169,7 @@ discard block |
||
169 | 169 | { |
170 | 170 | $value = $entry->{$this->name}; |
171 | 171 | |
172 | - if ($this->handleMultipleFiles && ! isset($entry->getCasts()[$this->name]) && is_string($value)) { |
|
172 | + if ($this->handleMultipleFiles && !isset($entry->getCasts()[$this->name]) && is_string($value)) { |
|
173 | 173 | $entry->{$this->name} = json_decode($value, true); |
174 | 174 | |
175 | 175 | return $entry; |
@@ -186,7 +186,7 @@ discard block |
||
186 | 186 | |
187 | 187 | if ($this->handleMultipleFiles) { |
188 | 188 | // ensure we have an array of values when field is not casted in model. |
189 | - if (! isset($entry->getCasts()[$this->name]) && is_string($values)) { |
|
189 | + if (!isset($entry->getCasts()[$this->name]) && is_string($values)) { |
|
190 | 190 | $values = json_decode($values, true); |
191 | 191 | } |
192 | 192 | foreach ($values as $value) { |
@@ -202,7 +202,7 @@ discard block |
||
202 | 202 | |
203 | 203 | private function performFileDeletion(Model $entry) |
204 | 204 | { |
205 | - if ($this->isRelationship || ! $this->handleRepeatableFiles) { |
|
205 | + if ($this->isRelationship || !$this->handleRepeatableFiles) { |
|
206 | 206 | $this->deleteFiles($entry); |
207 | 207 | |
208 | 208 | return; |
@@ -23,7 +23,7 @@ discard block |
||
23 | 23 | return $this->getPath().$fileName; |
24 | 24 | } |
25 | 25 | |
26 | - if (! $value && CrudPanelFacade::getRequest()->has($this->getName()) && $previousFile) { |
|
26 | + if (!$value && CrudPanelFacade::getRequest()->has($this->getName()) && $previousFile) { |
|
27 | 27 | Storage::disk($this->getDisk())->delete($previousFile); |
28 | 28 | |
29 | 29 | return null; |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | } |
48 | 48 | |
49 | 49 | foreach ($previousRepeatableValues as $row => $file) { |
50 | - if ($file && ! isset($orderedFiles[$row])) { |
|
50 | + if ($file && !isset($orderedFiles[$row])) { |
|
51 | 51 | $orderedFiles[$row] = null; |
52 | 52 | Storage::disk($this->getDisk())->delete($file); |
53 | 53 | } |
@@ -13,18 +13,18 @@ discard block |
||
13 | 13 | private string $crudObjectType; |
14 | 14 | |
15 | 15 | public function __construct( |
16 | - private readonly CrudField|CrudColumn $crudObject, |
|
16 | + private readonly CrudField | CrudColumn $crudObject, |
|
17 | 17 | private readonly array $uploaderConfiguration, |
18 | 18 | private readonly string $macro |
19 | 19 | ) { |
20 | 20 | $this->crudObjectType = is_a($crudObject, CrudField::class) ? 'field' : (is_a($crudObject, CrudColumn::class) ? 'column' : null); |
21 | 21 | |
22 | - if (! $this->crudObjectType) { |
|
22 | + if (!$this->crudObjectType) { |
|
23 | 23 | abort(500, 'Upload handlers only work for CrudField and CrudColumn classes.'); |
24 | 24 | } |
25 | 25 | } |
26 | 26 | |
27 | - public static function handle(CrudField|CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null): void |
|
27 | + public static function handle(CrudField | CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null): void |
|
28 | 28 | { |
29 | 29 | $instance = new self($crudObject, $uploaderConfiguration, $macro); |
30 | 30 | |
@@ -34,9 +34,9 @@ discard block |
||
34 | 34 | /******************************* |
35 | 35 | * Private methods - implementation |
36 | 36 | *******************************/ |
37 | - private function registerEvents(array|null $subfield = []): void |
|
37 | + private function registerEvents(array | null $subfield = []): void |
|
38 | 38 | { |
39 | - if (! empty($subfield)) { |
|
39 | + if (!empty($subfield)) { |
|
40 | 40 | $this->registerSubfieldEvent($subfield); |
41 | 41 | |
42 | 42 | return; |
@@ -71,12 +71,12 @@ discard block |
||
71 | 71 | |
72 | 72 | // for subfields, we only register one event so that we have access to the repeatable container name. |
73 | 73 | // all the uploaders for a given container are stored in the UploadersRepository. |
74 | - if (! app('UploadersRepository')->hasRepeatableUploadersFor($uploader->getRepeatableContainerName())) { |
|
74 | + if (!app('UploadersRepository')->hasRepeatableUploadersFor($uploader->getRepeatableContainerName())) { |
|
75 | 75 | $this->setupModelEvents($model, $uploader); |
76 | 76 | } |
77 | 77 | |
78 | 78 | $subfields = collect($this->crudObject->getAttributes()['subfields']); |
79 | - $subfields = $subfields->map(function ($item) use ($subfield, $uploader) { |
|
79 | + $subfields = $subfields->map(function($item) use ($subfield, $uploader) { |
|
80 | 80 | if ($item['name'] === $subfield['name']) { |
81 | 81 | $item['upload'] = true; |
82 | 82 | $item['disk'] = $uploader->getDisk(); |
@@ -106,7 +106,7 @@ discard block |
||
106 | 106 | } |
107 | 107 | |
108 | 108 | if ($this->crudObjectType === 'field') { |
109 | - $model::saving(function ($entry) use ($uploader) { |
|
109 | + $model::saving(function($entry) use ($uploader) { |
|
110 | 110 | $updatedCountKey = 'uploaded_'.($uploader->getRepeatableContainerName() ?? $uploader->getName()).'_count'; |
111 | 111 | |
112 | 112 | CRUD::set($updatedCountKey, CRUD::get($updatedCountKey) ?? 0); |
@@ -117,11 +117,11 @@ discard block |
||
117 | 117 | }); |
118 | 118 | } |
119 | 119 | |
120 | - $model::retrieved(function ($entry) use ($uploader) { |
|
120 | + $model::retrieved(function($entry) use ($uploader) { |
|
121 | 121 | $entry = $uploader->retrieveUploadedFiles($entry); |
122 | 122 | }); |
123 | 123 | |
124 | - $model::deleting(function ($entry) use ($uploader) { |
|
124 | + $model::deleting(function($entry) use ($uploader) { |
|
125 | 125 | $uploader->deleteUploadedFiles($entry); |
126 | 126 | }); |
127 | 127 | |
@@ -144,13 +144,13 @@ discard block |
||
144 | 144 | $customUploader = isset($uploaderConfiguration['uploader']) && class_exists($uploaderConfiguration['uploader']); |
145 | 145 | |
146 | 146 | if ($customUploader) { |
147 | - return $uploaderConfiguration['uploader']::for($crudObject, $uploaderConfiguration); |
|
147 | + return $uploaderConfiguration['uploader']::for ($crudObject, $uploaderConfiguration); |
|
148 | 148 | } |
149 | 149 | |
150 | 150 | $uploader = app('UploadersRepository')->hasUploadFor($crudObject['type'], $this->macro); |
151 | 151 | |
152 | 152 | if ($uploader) { |
153 | - return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for($crudObject, $uploaderConfiguration); |
|
153 | + return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for ($crudObject, $uploaderConfiguration); |
|
154 | 154 | } |
155 | 155 | |
156 | 156 | throw new Exception('Undefined upload type for '.$this->crudObjectType.' type: '.$crudObject['type']); |
@@ -11,7 +11,7 @@ discard block |
||
11 | 11 | |
12 | 12 | public FileNameGeneratorInterface $fileNameGenerator; |
13 | 13 | |
14 | - public function getFileName(string|UploadedFile $file): string |
|
14 | + public function getFileName(string | UploadedFile $file): string |
|
15 | 15 | { |
16 | 16 | if ($this->fileName) { |
17 | 17 | return is_callable($this->fileName) ? ($this->fileName)($file, $this) : $this->fileName; |
@@ -24,11 +24,11 @@ discard block |
||
24 | 24 | { |
25 | 25 | $fileGeneratorClass = $fileNameGenerator ?? config('backpack.crud.file_name_generator'); |
26 | 26 | |
27 | - if (! class_exists($fileGeneratorClass)) { |
|
27 | + if (!class_exists($fileGeneratorClass)) { |
|
28 | 28 | throw new \Exception("The file name generator class [{$fileGeneratorClass}] does not exist."); |
29 | 29 | } |
30 | 30 | |
31 | - if (! in_array(FileNameGeneratorInterface::class, class_implements($fileGeneratorClass, false))) { |
|
31 | + if (!in_array(FileNameGeneratorInterface::class, class_implements($fileGeneratorClass, false))) { |
|
32 | 32 | throw new \Exception("The file name generator class [{$fileGeneratorClass}] must implement the [".FileNameGeneratorInterface::class.'] interface.'); |
33 | 33 | } |
34 | 34 |
@@ -76,7 +76,7 @@ discard block |
||
76 | 76 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) { |
77 | 77 | $uploadedValues = $uploader->uploadRepeatableFiles($entry, $value->pluck($uploader->getName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader)); |
78 | 78 | |
79 | - $value = $value->map(function ($item, $key) use ($uploadedValues, $uploader) { |
|
79 | + $value = $value->map(function($item, $key) use ($uploadedValues, $uploader) { |
|
80 | 80 | $item[$uploader->getName()] = $uploadedValues[$key] ?? null; |
81 | 81 | |
82 | 82 | return $item; |
@@ -105,13 +105,13 @@ discard block |
||
105 | 105 | |
106 | 106 | $repeatableValues = collect($entry->{$this->getName()}); |
107 | 107 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) { |
108 | - if (! $upload->shouldDeleteFiles()) { |
|
108 | + if (!$upload->shouldDeleteFiles()) { |
|
109 | 109 | continue; |
110 | 110 | } |
111 | 111 | $values = $repeatableValues->pluck($upload->getName())->toArray(); |
112 | 112 | foreach ($values as $value) { |
113 | 113 | |
114 | - if (! $value) { continue; } |
|
114 | + if (!$value) { continue; } |
|
115 | 115 | |
116 | 116 | if (is_array($value)) { |
117 | 117 | foreach ($value as $subvalue) { |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | /** |
132 | 132 | * Given two multidimensional arrays/collections, merge them recursively. |
133 | 133 | */ |
134 | - private function mergeValuesRecursive(array|Collection $array1,array|Collection $array2): array|Collection |
|
134 | + private function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection |
|
135 | 135 | { |
136 | 136 | $merged = $array1; |
137 | 137 | foreach ($array2 as $key => &$value) { |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | { |
154 | 154 | $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? []; |
155 | 155 | |
156 | - array_walk($items, function (&$key, $value) { |
|
156 | + array_walk($items, function(&$key, $value) { |
|
157 | 157 | $requestValue = $key[$this->getName()] ?? null; |
158 | 158 | $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue; |
159 | 159 | }); |
@@ -165,7 +165,7 @@ discard block |
||
165 | 165 | { |
166 | 166 | $previousValues = json_decode($entry->getOriginal($uploader->getRepeatableContainerName()), true); |
167 | 167 | |
168 | - if (! empty($previousValues)) { |
|
168 | + if (!empty($previousValues)) { |
|
169 | 169 | $previousValues = array_column($previousValues, $uploader->getName()); |
170 | 170 | } |
171 | 171 |
@@ -8,17 +8,17 @@ |
||
8 | 8 | |
9 | 9 | class FileNameGenerator implements FileNameGeneratorInterface |
10 | 10 | { |
11 | - public function getName(string|UploadedFile $file): string |
|
11 | + public function getName(string | UploadedFile $file): string |
|
12 | 12 | { |
13 | 13 | return $this->getFileName($file).'.'.$this->getExtensionFromFile($file); |
14 | 14 | } |
15 | 15 | |
16 | - private function getExtensionFromFile(string|UploadedFile $file): string |
|
16 | + private function getExtensionFromFile(string | UploadedFile $file): string |
|
17 | 17 | { |
18 | 18 | return is_a($file, UploadedFile::class, true) ? $file->extension() : Str::after(mime_content_type($file), '/'); |
19 | 19 | } |
20 | 20 | |
21 | - private function getFileName(string|UploadedFile $file): string |
|
21 | + private function getFileName(string | UploadedFile $file): string |
|
22 | 22 | { |
23 | 23 | if (is_file($file)) { |
24 | 24 | return Str::of($file->getClientOriginalName())->beforeLast('.')->slug()->append('-'.Str::random(4)); |
@@ -6,5 +6,5 @@ |
||
6 | 6 | |
7 | 7 | interface FileNameGeneratorInterface |
8 | 8 | { |
9 | - public function getName(string|UploadedFile $file): string; |
|
9 | + public function getName(string | UploadedFile $file): string; |
|
10 | 10 | } |
@@ -6,7 +6,7 @@ |
||
6 | 6 | use Illuminate\Http\UploadedFile; |
7 | 7 | |
8 | 8 | interface UploaderInterface |
9 | - { |
|
9 | + { |
|
10 | 10 | /** |
11 | 11 | * Static constructor function |
12 | 12 | */ |
@@ -10,7 +10,7 @@ discard block |
||
10 | 10 | /** |
11 | 11 | * Static constructor function |
12 | 12 | */ |
13 | - public static function for(array $field, array $configuration): UploaderInterface; |
|
13 | + public static function for (array $field, array $configuration): UploaderInterface; |
|
14 | 14 | |
15 | 15 | /** |
16 | 16 | * Default implementation functions |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | public function getPath(): string; |
35 | 35 | public function useTemporaryUrl(): bool; |
36 | 36 | public function getExpirationTimeInMinutes(): int; |
37 | - public function getFileName(string|UploadedFile $file): string; |
|
37 | + public function getFileName(string | UploadedFile $file): string; |
|
38 | 38 | public function getRepeatableContainerName(): ?string; |
39 | 39 | public function getIdentifier(): string; |
40 | 40 | public function shouldDeleteFiles(): bool; |