We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
@@ -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 | } |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | { |
27 | 27 | $connection = $connection ?: config('database.default'); |
28 | 28 | |
29 | - self::$schema[$connection] = LazyCollection::make(self::getCreateSchema($connection)->getTables())->mapWithKeys(function ($table, $key) use ($connection) { |
|
29 | + self::$schema[$connection] = LazyCollection::make(self::getCreateSchema($connection)->getTables())->mapWithKeys(function($table, $key) use ($connection) { |
|
30 | 30 | $tableName = is_array($table) ? $table['name'] : $table->getName(); |
31 | 31 | |
32 | 32 | if ($existingTable = self::$schema[$connection][$tableName] ?? false) { |
@@ -65,7 +65,7 @@ discard block |
||
65 | 65 | */ |
66 | 66 | private static function generateDatabaseSchema(string $connection, string $table) |
67 | 67 | { |
68 | - if (! isset(self::$schema[$connection][$table])) { |
|
68 | + if (!isset(self::$schema[$connection][$table])) { |
|
69 | 69 | self::$schema[$connection][$table] = self::mapTable($connection, $table); |
70 | 70 | } |
71 | 71 | } |
@@ -74,13 +74,12 @@ discard block |
||
74 | 74 | { |
75 | 75 | try { |
76 | 76 | $table = method_exists(self::getCreateSchema($connection), 'getTable') ? |
77 | - self::getCreateSchema($connection)->getTable($tableName) : |
|
78 | - self::getCreateSchema($connection)->getColumns($tableName); |
|
77 | + self::getCreateSchema($connection)->getTable($tableName) : self::getCreateSchema($connection)->getColumns($tableName); |
|
79 | 78 | } catch (\Exception $e) { |
80 | 79 | return new Table($tableName, []); |
81 | 80 | } |
82 | 81 | |
83 | - if (! is_array($table)) { |
|
82 | + if (!is_array($table)) { |
|
84 | 83 | return $table; |
85 | 84 | } |
86 | 85 | |
@@ -91,7 +90,7 @@ discard block |
||
91 | 90 | $schemaManager = self::getSchemaManager($connection); |
92 | 91 | $indexes = $schemaManager->getIndexes($tableName); |
93 | 92 | |
94 | - $indexes = array_map(function ($index) { |
|
93 | + $indexes = array_map(function($index) { |
|
95 | 94 | return $index['columns']; |
96 | 95 | }, $indexes); |
97 | 96 | |
@@ -109,7 +108,7 @@ discard block |
||
109 | 108 | |
110 | 109 | $indexes = self::$schema[$connection][$table]->getIndexes(); |
111 | 110 | |
112 | - $indexes = \Illuminate\Support\Arr::flatten(array_map(function ($index) { |
|
111 | + $indexes = \Illuminate\Support\Arr::flatten(array_map(function($index) { |
|
113 | 112 | return is_string($index) ? $index : $index->getColumns(); |
114 | 113 | }, $indexes)); |
115 | 114 |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | */ |
35 | 35 | public function markAsHandled(string $objectName): void |
36 | 36 | { |
37 | - if (! in_array($objectName, $this->handledUploaders)) { |
|
37 | + if (!in_array($objectName, $this->handledUploaders)) { |
|
38 | 38 | $this->handledUploaders[] = $objectName; |
39 | 39 | } |
40 | 40 | } |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | */ |
61 | 61 | public function getUploadFor(string $objectType, string $group): string |
62 | 62 | { |
63 | - if (! $this->hasUploadFor($objectType, $group)) { |
|
63 | + if (!$this->hasUploadFor($objectType, $group)) { |
|
64 | 64 | throw new \Exception('There is no uploader defined for the given field type.'); |
65 | 65 | } |
66 | 66 | |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | { |
83 | 83 | // ensure all uploaders implement the UploaderInterface |
84 | 84 | foreach ($uploaders as $uploader) { |
85 | - if (! is_a($uploader, UploaderInterface::class, true)) { |
|
85 | + if (!is_a($uploader, UploaderInterface::class, true)) { |
|
86 | 86 | throw new \Exception('The uploader class must implement the UploaderInterface.'); |
87 | 87 | } |
88 | 88 | } |
@@ -102,7 +102,7 @@ discard block |
||
102 | 102 | */ |
103 | 103 | public function registerRepeatableUploader(string $uploadName, UploaderInterface $uploader): void |
104 | 104 | { |
105 | - if (! array_key_exists($uploadName, $this->repeatableUploaders) || ! in_array($uploader, $this->repeatableUploaders[$uploadName])) { |
|
105 | + if (!array_key_exists($uploadName, $this->repeatableUploaders) || !in_array($uploader, $this->repeatableUploaders[$uploadName])) { |
|
106 | 106 | $this->repeatableUploaders[$uploadName][] = $uploader; |
107 | 107 | } |
108 | 108 | } |
@@ -136,7 +136,7 @@ discard block |
||
136 | 136 | */ |
137 | 137 | public function getRegisteredUploadNames(string $uploadName): array |
138 | 138 | { |
139 | - return array_map(function ($uploader) { |
|
139 | + return array_map(function($uploader) { |
|
140 | 140 | return $uploader->getName(); |
141 | 141 | }, $this->getRepeatableUploadersFor($uploadName)); |
142 | 142 | } |
@@ -167,11 +167,11 @@ discard block |
||
167 | 167 | |
168 | 168 | $uploaders = $this->getRepeatableUploadersFor($repeatableContainerName); |
169 | 169 | |
170 | - $uploader = Arr::first($uploaders, function ($uploader) use ($requestInputName) { |
|
170 | + $uploader = Arr::first($uploaders, function($uploader) use ($requestInputName) { |
|
171 | 171 | return $uploader->getName() === $requestInputName; |
172 | 172 | }); |
173 | 173 | |
174 | - if (! $uploader) { |
|
174 | + if (!$uploader) { |
|
175 | 175 | abort(500, 'Could not find the field in the repeatable uploaders.'); |
176 | 176 | } |
177 | 177 | |
@@ -182,16 +182,16 @@ discard block |
||
182 | 182 | abort(500, 'Could not find the field in the CRUD fields.'); |
183 | 183 | } |
184 | 184 | |
185 | - if (! $uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) { |
|
185 | + if (!$uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) { |
|
186 | 186 | abort(500, 'There is no uploader defined for the given field type.'); |
187 | 187 | } |
188 | 188 | |
189 | - if (! $this->isValidUploadField($crudObject, $uploaderMacro)) { |
|
189 | + if (!$this->isValidUploadField($crudObject, $uploaderMacro)) { |
|
190 | 190 | abort(500, 'Invalid field for upload.'); |
191 | 191 | } |
192 | 192 | |
193 | 193 | $uploaderConfiguration = $crudObject[$uploaderMacro] ?? []; |
194 | - $uploaderConfiguration = ! is_array($uploaderConfiguration) ? [] : $uploaderConfiguration; |
|
194 | + $uploaderConfiguration = !is_array($uploaderConfiguration) ? [] : $uploaderConfiguration; |
|
195 | 195 | $uploaderClass = $this->getUploadFor($crudObject['type'], $uploaderMacro); |
196 | 196 | |
197 | 197 | return new $uploaderClass(['name' => $requestInputName], $uploaderConfiguration); |
@@ -200,7 +200,7 @@ discard block |
||
200 | 200 | /** |
201 | 201 | * Get the upload field macro type for the given object. |
202 | 202 | */ |
203 | - private function getUploadCrudObjectMacroType(array $crudObject): string|null |
|
203 | + private function getUploadCrudObjectMacroType(array $crudObject): string | null |
|
204 | 204 | { |
205 | 205 | $uploadersGroups = $this->getUploadersGroupsNames(); |
206 | 206 | |
@@ -217,11 +217,11 @@ discard block |
||
217 | 217 | { |
218 | 218 | if (Str::contains($crudObject['name'], '#')) { |
219 | 219 | $container = Str::before($crudObject['name'], '#'); |
220 | - $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function ($item) use ($crudObject, $uploaderMacro) { |
|
220 | + $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function($item) use ($crudObject, $uploaderMacro) { |
|
221 | 221 | return $item['name'] === $crudObject['name'] && in_array($item['type'], $this->getAjaxUploadTypes($uploaderMacro)); |
222 | 222 | }); |
223 | 223 | |
224 | - return ! empty($field); |
|
224 | + return !empty($field); |
|
225 | 225 | } |
226 | 226 | |
227 | 227 | return in_array($crudObject['type'], $this->getAjaxUploadTypes($uploaderMacro)); |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | return $this->getPath().$fileName; |
30 | 30 | } |
31 | 31 | |
32 | - if (! $value && CrudPanelFacade::getRequest()->has($this->getNameForRequest()) && $previousFile) { |
|
32 | + if (!$value && CrudPanelFacade::getRequest()->has($this->getNameForRequest()) && $previousFile) { |
|
33 | 33 | Storage::disk($this->getDisk())->delete($previousFile); |
34 | 34 | |
35 | 35 | return null; |
@@ -55,10 +55,10 @@ discard block |
||
55 | 55 | |
56 | 56 | foreach ($previousRepeatableValues as $row => $file) { |
57 | 57 | if ($file) { |
58 | - if (! isset($orderedFiles[$row])) { |
|
58 | + if (!isset($orderedFiles[$row])) { |
|
59 | 59 | $orderedFiles[$row] = null; |
60 | 60 | } |
61 | - if (! in_array($file, $orderedFiles)) { |
|
61 | + if (!in_array($file, $orderedFiles)) { |
|
62 | 62 | Storage::disk($this->getDisk())->delete($file); |
63 | 63 | } |
64 | 64 | } |
@@ -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->bigIncrements('id')->unsigned(); |
16 | 16 | $table->string('upload')->nullable(); |
17 | 17 | $table->string('image')->nullable(); |
@@ -14,18 +14,18 @@ discard block |
||
14 | 14 | private string $crudObjectType; |
15 | 15 | |
16 | 16 | public function __construct( |
17 | - private readonly CrudField|CrudColumn $crudObject, |
|
17 | + private readonly CrudField | CrudColumn $crudObject, |
|
18 | 18 | private readonly array $uploaderConfiguration, |
19 | 19 | private readonly string $macro |
20 | 20 | ) { |
21 | 21 | $this->crudObjectType = is_a($crudObject, CrudField::class) ? 'field' : (is_a($crudObject, CrudColumn::class) ? 'column' : null); |
22 | 22 | |
23 | - if (! $this->crudObjectType) { |
|
23 | + if (!$this->crudObjectType) { |
|
24 | 24 | abort(500, 'Upload handlers only work for CrudField and CrudColumn classes.'); |
25 | 25 | } |
26 | 26 | } |
27 | 27 | |
28 | - public static function handle(CrudField|CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null, ?bool $registerModelEvents = true): void |
|
28 | + public static function handle(CrudField | CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null, ?bool $registerModelEvents = true): void |
|
29 | 29 | { |
30 | 30 | $instance = new self($crudObject, $uploaderConfiguration, $macro); |
31 | 31 | |
@@ -35,9 +35,9 @@ discard block |
||
35 | 35 | /******************************* |
36 | 36 | * Private methods - implementation |
37 | 37 | *******************************/ |
38 | - private function registerEvents(array|null $subfield = [], ?bool $registerModelEvents = true): void |
|
38 | + private function registerEvents(array | null $subfield = [], ?bool $registerModelEvents = true): void |
|
39 | 39 | { |
40 | - if (! empty($subfield)) { |
|
40 | + if (!empty($subfield)) { |
|
41 | 41 | $this->registerSubfieldEvent($subfield, $registerModelEvents); |
42 | 42 | |
43 | 43 | return; |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | } |
83 | 83 | |
84 | 84 | $subfields = collect($this->crudObject->getAttributes()['subfields']); |
85 | - $subfields = $subfields->map(function ($item) use ($subfield, $uploader) { |
|
85 | + $subfields = $subfields->map(function($item) use ($subfield, $uploader) { |
|
86 | 86 | if ($item['name'] === $subfield['name']) { |
87 | 87 | $item['upload'] = true; |
88 | 88 | $item['disk'] = $uploader->getDisk(); |
@@ -112,7 +112,7 @@ discard block |
||
112 | 112 | } |
113 | 113 | |
114 | 114 | if ($this->crudObjectType === 'field') { |
115 | - $model::saving(function ($entry) use ($uploader) { |
|
115 | + $model::saving(function($entry) use ($uploader) { |
|
116 | 116 | $entry = $uploader->storeUploadedFiles($entry); |
117 | 117 | }); |
118 | 118 | } |
@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | // is not called in pivot models when loading the relations. |
126 | 126 | $retrieveModel = $this->getModelForRetrieveEvent($model, $uploader); |
127 | 127 | |
128 | - $retrieveModel::retrieved(function ($entry) use ($uploader) { |
|
128 | + $retrieveModel::retrieved(function($entry) use ($uploader) { |
|
129 | 129 | if ($entry->translationEnabled()) { |
130 | 130 | $locale = request('_locale', app()->getLocale()); |
131 | 131 | if (in_array($locale, array_keys($entry->getAvailableLocales()))) { |
@@ -136,14 +136,14 @@ discard block |
||
136 | 136 | }); |
137 | 137 | } |
138 | 138 | |
139 | - $model::deleting(function ($entry) use ($uploader) { |
|
139 | + $model::deleting(function($entry) use ($uploader) { |
|
140 | 140 | $uploader->deleteUploadedFiles($entry); |
141 | 141 | }); |
142 | 142 | |
143 | 143 | // if the uploader is a relationship and handles repeatable files, we will also register the deleting event on the |
144 | 144 | // parent model. that way we can control the deletion of the files when the parent model is deleted. |
145 | 145 | if ($uploader->isRelationship() && $uploader->handleRepeatableFiles) { |
146 | - app('crud')->model::deleting(function ($entry) use ($uploader) { |
|
146 | + app('crud')->model::deleting(function($entry) use ($uploader) { |
|
147 | 147 | $uploader->deleteUploadedFiles($entry); |
148 | 148 | }); |
149 | 149 | } |
@@ -165,18 +165,18 @@ discard block |
||
165 | 165 | { |
166 | 166 | $hasCustomUploader = isset($uploaderConfiguration['uploader']); |
167 | 167 | |
168 | - if ($hasCustomUploader && ! is_a($uploaderConfiguration['uploader'], UploaderInterface::class, true)) { |
|
168 | + if ($hasCustomUploader && !is_a($uploaderConfiguration['uploader'], UploaderInterface::class, true)) { |
|
169 | 169 | throw new Exception('Invalid uploader class provided for '.$this->crudObjectType.' type: '.$crudObject['type']); |
170 | 170 | } |
171 | 171 | |
172 | 172 | if ($hasCustomUploader) { |
173 | - return $uploaderConfiguration['uploader']::for($crudObject, $uploaderConfiguration); |
|
173 | + return $uploaderConfiguration['uploader']::for ($crudObject, $uploaderConfiguration); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | $uploader = app('UploadersRepository')->hasUploadFor($crudObject['type'], $this->macro); |
177 | 177 | |
178 | 178 | if ($uploader) { |
179 | - return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for($crudObject, $uploaderConfiguration); |
|
179 | + return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for ($crudObject, $uploaderConfiguration); |
|
180 | 180 | } |
181 | 181 | |
182 | 182 | throw new Exception('Undefined upload type for '.$this->crudObjectType.' type: '.$crudObject['type']); |
@@ -197,7 +197,7 @@ discard block |
||
197 | 197 | |
198 | 198 | private function getSubfieldModel(array $subfield, UploaderInterface $uploader) |
199 | 199 | { |
200 | - if (! $uploader->isRelationship()) { |
|
200 | + if (!$uploader->isRelationship()) { |
|
201 | 201 | return $subfield['baseModel'] ?? get_class(app('crud')->getModel()); |
202 | 202 | } |
203 | 203 | |
@@ -210,7 +210,7 @@ discard block |
||
210 | 210 | |
211 | 211 | private function getModelForRetrieveEvent(string $model, UploaderInterface $uploader) |
212 | 212 | { |
213 | - if (! $uploader->isRelationship()) { |
|
213 | + if (!$uploader->isRelationship()) { |
|
214 | 214 | return $model; |
215 | 215 | } |
216 | 216 |
@@ -15,7 +15,7 @@ discard block |
||
15 | 15 | $value = $value ?? CRUD::getRequest()->get($this->getName()); |
16 | 16 | $previousImage = $this->getPreviousFiles($entry); |
17 | 17 | |
18 | - if (! $value && $previousImage) { |
|
18 | + if (!$value && $previousImage) { |
|
19 | 19 | Storage::disk($this->getDisk())->delete($previousImage); |
20 | 20 | |
21 | 21 | return null; |
@@ -68,6 +68,6 @@ discard block |
||
68 | 68 | |
69 | 69 | public function shouldKeepPreviousValueUnchanged(Model $entry, $entryValue): bool |
70 | 70 | { |
71 | - return $entry->exists && is_string($entryValue) && ! Str::startsWith($entryValue, 'data:image'); |
|
71 | + return $entry->exists && is_string($entryValue) && !Str::startsWith($entryValue, 'data:image'); |
|
72 | 72 | } |
73 | 73 | } |
@@ -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 | } |
@@ -102,7 +102,7 @@ discard block |
||
102 | 102 | |
103 | 103 | public function deleteUploadedFiles(Model $entry): void |
104 | 104 | { |
105 | - if (! in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
105 | + if (!in_array(SoftDeletes::class, class_uses_recursive($entry), true)) { |
|
106 | 106 | $this->performFileDeletion($entry); |
107 | 107 | |
108 | 108 | return; |
@@ -177,7 +177,7 @@ discard block |
||
177 | 177 | |
178 | 178 | public function getPreviousFiles(Model $entry): mixed |
179 | 179 | { |
180 | - if (! $this->attachedToFakeField) { |
|
180 | + if (!$this->attachedToFakeField) { |
|
181 | 181 | return $this->getOriginalValue($entry); |
182 | 182 | } |
183 | 183 | $value = $this->getOriginalValue($entry, $this->attachedToFakeField); |
@@ -196,7 +196,7 @@ discard block |
||
196 | 196 | return $this->attachedToFakeField !== false; |
197 | 197 | } |
198 | 198 | |
199 | - public function getFakeAttribute(): bool|string |
|
199 | + public function getFakeAttribute(): bool | string |
|
200 | 200 | { |
201 | 201 | return $this->attachedToFakeField; |
202 | 202 | } |
@@ -223,7 +223,7 @@ discard block |
||
223 | 223 | return $this; |
224 | 224 | } |
225 | 225 | |
226 | - public function fake(bool|string $isFake): self |
|
226 | + public function fake(bool | string $isFake): self |
|
227 | 227 | { |
228 | 228 | $this->attachedToFakeField = $isFake; |
229 | 229 | |
@@ -254,7 +254,7 @@ discard block |
||
254 | 254 | } |
255 | 255 | |
256 | 256 | if ($this->handleMultipleFiles) { |
257 | - if (! isset($entry->getCasts()[$this->getName()]) && is_string($value)) { |
|
257 | + if (!isset($entry->getCasts()[$this->getName()]) && is_string($value)) { |
|
258 | 258 | $entry->{$this->getAttributeName()} = json_decode($value, true); |
259 | 259 | } |
260 | 260 | |
@@ -268,7 +268,7 @@ discard block |
||
268 | 268 | |
269 | 269 | protected function deleteFiles(Model $entry) |
270 | 270 | { |
271 | - if (! $this->shouldDeleteFiles()) { |
|
271 | + if (!$this->shouldDeleteFiles()) { |
|
272 | 272 | return; |
273 | 273 | } |
274 | 274 | |
@@ -303,7 +303,7 @@ discard block |
||
303 | 303 | |
304 | 304 | private function performFileDeletion(Model $entry) |
305 | 305 | { |
306 | - if (! $this->handleRepeatableFiles && $this->deleteWhenEntryIsDeleted) { |
|
306 | + if (!$this->handleRepeatableFiles && $this->deleteWhenEntryIsDeleted) { |
|
307 | 307 | $this->deleteFiles($entry); |
308 | 308 | |
309 | 309 | return; |
@@ -332,7 +332,7 @@ discard block |
||
332 | 332 | |
333 | 333 | $previousValue = $entry->getOriginal($field); |
334 | 334 | |
335 | - if (! $previousValue) { |
|
335 | + if (!$previousValue) { |
|
336 | 336 | return $previousValue; |
337 | 337 | } |
338 | 338 |
@@ -18,7 +18,7 @@ discard block |
||
18 | 18 | { |
19 | 19 | public bool $handleRepeatableFiles = false; |
20 | 20 | |
21 | - public null|string $repeatableContainerName = null; |
|
21 | + public null | string $repeatableContainerName = null; |
|
22 | 22 | |
23 | 23 | /******************************* |
24 | 24 | * Setters - fluently configure the uploader |
@@ -35,7 +35,7 @@ discard block |
||
35 | 35 | /******************************* |
36 | 36 | * Getters |
37 | 37 | *******************************/ |
38 | - public function getRepeatableContainerName(): null|string |
|
38 | + public function getRepeatableContainerName(): null | string |
|
39 | 39 | { |
40 | 40 | return $this->repeatableContainerName; |
41 | 41 | } |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) { |
163 | 163 | $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getAttributeName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader)); |
164 | 164 | |
165 | - $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) { |
|
165 | + $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) { |
|
166 | 166 | $item[$uploader->getAttributeName()] = $uploadedValues[$key] ?? null; |
167 | 167 | |
168 | 168 | return $item; |
@@ -193,7 +193,7 @@ discard block |
||
193 | 193 | |
194 | 194 | $values = $entry->{$this->getRepeatableContainerName()}; |
195 | 195 | $values = is_string($values) ? json_decode($values, true) : $values; |
196 | - $values = array_map(function ($item) use ($repeatableUploaders) { |
|
196 | + $values = array_map(function($item) use ($repeatableUploaders) { |
|
197 | 197 | foreach ($repeatableUploaders as $upload) { |
198 | 198 | $item[$upload->getAttributeName()] = $this->getValuesWithPathStripped($item, $upload); |
199 | 199 | } |
@@ -208,7 +208,7 @@ discard block |
||
208 | 208 | |
209 | 209 | private function retrieveRepeatableRelationFiles(Model $entry) |
210 | 210 | { |
211 | - switch($this->getRepeatableRelationType()) { |
|
211 | + switch ($this->getRepeatableRelationType()) { |
|
212 | 212 | case 'BelongsToMany': |
213 | 213 | case 'MorphToMany': |
214 | 214 | $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass(); |
@@ -261,12 +261,12 @@ discard block |
||
261 | 261 | $repeatableValues ??= collect($entry->{$this->getRepeatableContainerName()}); |
262 | 262 | |
263 | 263 | foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) { |
264 | - if (! $upload->shouldDeleteFiles()) { |
|
264 | + if (!$upload->shouldDeleteFiles()) { |
|
265 | 265 | continue; |
266 | 266 | } |
267 | 267 | $values = $repeatableValues->pluck($upload->getName())->toArray(); |
268 | 268 | foreach ($values as $value) { |
269 | - if (! $value) { |
|
269 | + if (!$value) { |
|
270 | 270 | continue; |
271 | 271 | } |
272 | 272 | |
@@ -289,7 +289,7 @@ discard block |
||
289 | 289 | /** |
290 | 290 | * Given two multidimensional arrays/collections, merge them recursively. |
291 | 291 | */ |
292 | - protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection |
|
292 | + protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection |
|
293 | 293 | { |
294 | 294 | $merged = $array1; |
295 | 295 | foreach ($array2 as $key => &$value) { |
@@ -311,7 +311,7 @@ discard block |
||
311 | 311 | { |
312 | 312 | $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? []; |
313 | 313 | |
314 | - array_walk($items, function (&$key, $value) { |
|
314 | + array_walk($items, function(&$key, $value) { |
|
315 | 315 | $requestValue = $key[$this->getName()] ?? null; |
316 | 316 | $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue; |
317 | 317 | }); |
@@ -323,22 +323,22 @@ discard block |
||
323 | 323 | { |
324 | 324 | $previousValues = $entry->getOriginal($uploader->getRepeatableContainerName()); |
325 | 325 | |
326 | - if (! is_array($previousValues)) { |
|
326 | + if (!is_array($previousValues)) { |
|
327 | 327 | $previousValues = json_decode($previousValues, true); |
328 | 328 | } |
329 | 329 | |
330 | - if (! empty($previousValues)) { |
|
330 | + if (!empty($previousValues)) { |
|
331 | 331 | $previousValues = array_column($previousValues, $uploader->getName()); |
332 | 332 | } |
333 | 333 | |
334 | 334 | return $previousValues ?? []; |
335 | 335 | } |
336 | 336 | |
337 | - private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $uploader) |
|
337 | + private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $uploader) |
|
338 | 338 | { |
339 | 339 | $uploadedValues = $item[$uploader->getName()] ?? null; |
340 | 340 | if (is_array($uploadedValues)) { |
341 | - return array_map(function ($value) use ($uploader) { |
|
341 | + return array_map(function($value) use ($uploader) { |
|
342 | 342 | return $uploader->getValueWithoutPath($value); |
343 | 343 | }, $uploadedValues); |
344 | 344 | } |
@@ -348,8 +348,8 @@ discard block |
||
348 | 348 | |
349 | 349 | private function deleteRelationshipFiles(Model $entry): void |
350 | 350 | { |
351 | - if (! is_a($entry, Pivot::class, true) && |
|
352 | - ! $entry->relationLoaded($this->getRepeatableContainerName()) && |
|
351 | + if (!is_a($entry, Pivot::class, true) && |
|
352 | + !$entry->relationLoaded($this->getRepeatableContainerName()) && |
|
353 | 353 | method_exists($entry, $this->getRepeatableContainerName()) |
354 | 354 | ) { |
355 | 355 | $entry->loadMissing($this->getRepeatableContainerName()); |
@@ -376,8 +376,8 @@ discard block |
||
376 | 376 | $relatedEntries = $entry->{$this->getRepeatableContainerName()} ?? []; |
377 | 377 | } |
378 | 378 | |
379 | - if (! is_a($relatedEntries ?? '', Collection::class, true)) { |
|
380 | - $relatedEntries = ! empty($relatedEntries) ? [$relatedEntries] : [$entry]; |
|
379 | + if (!is_a($relatedEntries ?? '', Collection::class, true)) { |
|
380 | + $relatedEntries = !empty($relatedEntries) ? [$relatedEntries] : [$entry]; |
|
381 | 381 | } |
382 | 382 | |
383 | 383 | foreach ($relatedEntries as $relatedEntry) { |
@@ -385,9 +385,9 @@ discard block |
||
385 | 385 | } |
386 | 386 | } |
387 | 387 | |
388 | - protected function deletePivotFiles(Pivot|Model $entry) |
|
388 | + protected function deletePivotFiles(Pivot | Model $entry) |
|
389 | 389 | { |
390 | - if (! is_a($entry, Pivot::class, true)) { |
|
390 | + if (!is_a($entry, Pivot::class, true)) { |
|
391 | 391 | $pivots = $entry->{$this->getRepeatableContainerName()}; |
392 | 392 | foreach ($pivots as $pivot) { |
393 | 393 | $this->deletePivotModelFiles($pivot); |
@@ -397,24 +397,24 @@ discard block |
||
397 | 397 | } |
398 | 398 | |
399 | 399 | $pivotAttributes = $entry->getAttributes(); |
400 | - $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function ($item) use ($pivotAttributes) { |
|
400 | + $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) { |
|
401 | 401 | $itemPivotAttributes = $item->pivot->only(array_keys($pivotAttributes)); |
402 | 402 | |
403 | 403 | return $itemPivotAttributes === $pivotAttributes; |
404 | 404 | })->first(); |
405 | 405 | |
406 | - if (! $connectedPivot) { |
|
406 | + if (!$connectedPivot) { |
|
407 | 407 | return; |
408 | 408 | } |
409 | 409 | |
410 | 410 | $this->deletePivotModelFiles($connectedPivot); |
411 | 411 | } |
412 | 412 | |
413 | - private function deletePivotModelFiles(Pivot|Model $entry) |
|
413 | + private function deletePivotModelFiles(Pivot | Model $entry) |
|
414 | 414 | { |
415 | 415 | $files = $entry->getOriginal()['pivot_'.$this->getAttributeName()]; |
416 | 416 | |
417 | - if (! $files) { |
|
417 | + if (!$files) { |
|
418 | 418 | return; |
419 | 419 | } |
420 | 420 |