Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Test Failed
Pull Request — main (#5478)
by Pedro
27:49 queued 12:44
created
src/app/Library/CrudPanel/Traits/FieldsProtectedMethods.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
             return ['name' => Str::replace(' ', '', $field)];
116 116
         }
117 117
 
118
-        if (is_array($field) && ! isset($field['name'])) {
118
+        if (is_array($field) && !isset($field['name'])) {
119 119
             abort(500, 'All fields must have their name defined');
120 120
         }
121 121
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
         }
190 190
         // if there's a model defined, but no attribute
191 191
         // guess an attribute using the identifiableAttribute functionality in CrudTrait
192
-        if (isset($field['model']) && ! isset($field['attribute']) && method_exists($field['model'], 'identifiableAttribute')) {
192
+        if (isset($field['model']) && !isset($field['attribute']) && method_exists($field['model'], 'identifiableAttribute')) {
193 193
             $field['attribute'] = (new $field['model']())->identifiableAttribute();
194 194
         }
195 195
 
@@ -205,7 +205,7 @@  discard block
 block discarded – undo
205 205
      */
206 206
     protected function makeSureFieldHasLabel($field)
207 207
     {
208
-        if (! isset($field['label'])) {
208
+        if (!isset($field['label'])) {
209 209
             $name = str_replace(',', ' ', $field['name']);
210 210
             $name = str_replace('_id', '', $name);
211 211
             $field['label'] = mb_ucfirst(str_replace('_', ' ', $name));
@@ -223,7 +223,7 @@  discard block
 block discarded – undo
223 223
      */
224 224
     protected function makeSureFieldHasType($field)
225 225
     {
226
-        if (! isset($field['type'])) {
226
+        if (!isset($field['type'])) {
227 227
             $field['type'] = isset($field['relation_type']) ? $this->inferFieldTypeFromRelationType($field['relation_type']) : $this->inferFieldTypeFromDbColumnType($field['name']);
228 228
         }
229 229
 
@@ -256,16 +256,16 @@  discard block
 block discarded – undo
256 256
      */
257 257
     protected function makeSureSubfieldsHaveNecessaryAttributes($field)
258 258
     {
259
-        if (! isset($field['subfields']) || ! is_array($field['subfields'])) {
259
+        if (!isset($field['subfields']) || !is_array($field['subfields'])) {
260 260
             return $field;
261 261
         }
262 262
 
263
-        if (! is_multidimensional_array($field['subfields'], true)) {
263
+        if (!is_multidimensional_array($field['subfields'], true)) {
264 264
             abort(500, 'Subfields of «'.$field['name'].'» are malformed. Make sure you provide an array of subfields.');
265 265
         }
266 266
 
267 267
         foreach ($field['subfields'] as $key => $subfield) {
268
-            if (empty($subfield) || ! isset($subfield['name'])) {
268
+            if (empty($subfield) || !isset($subfield['name'])) {
269 269
                 abort(500, 'A subfield of «'.$field['name'].'» is malformed. Subfield attribute name can\'t be empty.');
270 270
             }
271 271
 
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
             $subfield['baseFieldName'] = is_array($subfield['name']) ? implode(',', $subfield['name']) : $subfield['name'];
281 281
             $subfield['baseFieldName'] = Str::afterLast($subfield['baseFieldName'], '.');
282 282
 
283
-            if (! isset($field['model'])) {
283
+            if (!isset($field['model'])) {
284 284
                 // we're inside a simple 'repeatable' with no model/relationship, so
285 285
                 // we assume all subfields are supposed to be text fields
286 286
                 $subfield['type'] = $subfield['type'] ?? 'text';
@@ -305,11 +305,11 @@  discard block
 block discarded – undo
305 305
                 case 'BelongsToMany':
306 306
                     $pivotSelectorField = static::getPivotFieldStructure($field);
307 307
 
308
-                    $pivot = Arr::where($field['subfields'], function ($item) use ($pivotSelectorField) {
308
+                    $pivot = Arr::where($field['subfields'], function($item) use ($pivotSelectorField) {
309 309
                         return $item['name'] === $pivotSelectorField['name'];
310 310
                     });
311 311
 
312
-                    if (! empty($pivot)) {
312
+                    if (!empty($pivot)) {
313 313
                         break;
314 314
                     }
315 315
 
@@ -322,11 +322,11 @@  discard block
 block discarded – undo
322 322
                     $entity = isset($field['baseEntity']) ? $field['baseEntity'].'.'.$field['entity'] : $field['entity'];
323 323
                     $relationInstance = $this->getRelationInstance(['entity' => $entity]);
324 324
 
325
-                    $localKeyField = Arr::where($field['subfields'], function ($item) use ($relationInstance) {
325
+                    $localKeyField = Arr::where($field['subfields'], function($item) use ($relationInstance) {
326 326
                         return $item['name'] === $relationInstance->getRelated()->getKeyName();
327 327
                     });
328 328
 
329
-                    if (! empty($localKeyField)) {
329
+                    if (!empty($localKeyField)) {
330 330
                         break;
331 331
                     }
332 332
 
@@ -351,7 +351,7 @@  discard block
 block discarded – undo
351 351
     {
352 352
         // if a tab was mentioned, we should enable it
353 353
         if (isset($field['tab'])) {
354
-            if (! $this->tabsEnabled()) {
354
+            if (!$this->tabsEnabled()) {
355 355
                 $this->enableTabs();
356 356
             }
357 357
         }
Please login to merge, or discard this patch.
src/app/Library/Validation/Rules/ValidUploadMultiple.php 1 patch
Spacing   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -23,8 +23,7 @@
 block discarded – undo
23 23
         }
24 24
 
25 25
         $previousValues = str_contains($attribute, '.') ?
26
-                            (Arr::get($entry?->{Str::before($attribute, '.')} ?? [], Str::after($attribute, '.')) ?? []) :
27
-                            ($entry?->{$attribute} ?? []);
26
+                            (Arr::get($entry?->{Str::before($attribute, '.')} ?? [], Str::after($attribute, '.')) ?? []) : ($entry?->{$attribute} ?? []);
28 27
 
29 28
         if (is_string($previousValues)) {
30 29
             $previousValues = json_decode($previousValues, true) ?? [];
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/UploadersRepository.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
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
     }
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
      */
85 85
     public function registerRepeatableUploader(string $uploadName, UploaderInterface $uploader): void
86 86
     {
87
-        if (! array_key_exists($uploadName, $this->repeatableUploaders) || ! in_array($uploader, $this->repeatableUploaders[$uploadName])) {
87
+        if (!array_key_exists($uploadName, $this->repeatableUploaders) || !in_array($uploader, $this->repeatableUploaders[$uploadName])) {
88 88
             $this->repeatableUploaders[$uploadName][] = $uploader;
89 89
         }
90 90
     }
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
      */
119 119
     public function getRegisteredUploadNames(string $uploadName): array
120 120
     {
121
-        return array_map(function ($uploader) {
121
+        return array_map(function($uploader) {
122 122
             return $uploader->getName();
123 123
         }, $this->getRepeatableUploadersFor($uploadName));
124 124
     }
@@ -149,11 +149,11 @@  discard block
 block discarded – undo
149 149
 
150 150
             $uploaders = $this->getRepeatableUploadersFor($repeatableContainerName);
151 151
 
152
-            $uploader = Arr::first($uploaders, function ($uploader) use ($requestInputName) {
152
+            $uploader = Arr::first($uploaders, function($uploader) use ($requestInputName) {
153 153
                 return $uploader->getName() === $requestInputName;
154 154
             });
155 155
             
156
-            if (! $uploader) {
156
+            if (!$uploader) {
157 157
                 abort(500, 'Could not find the field in the repeatable uploaders.');
158 158
             }
159 159
 
@@ -164,16 +164,16 @@  discard block
 block discarded – undo
164 164
             abort(500, 'Could not find the field in the CRUD fields.');
165 165
         }
166 166
 
167
-        if (! $uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) {
167
+        if (!$uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) {
168 168
             abort(500, 'There is no uploader defined for the given field type.');
169 169
         }
170 170
 
171
-        if (! $this->isValidUploadField($crudObject, $uploaderMacro)) {
171
+        if (!$this->isValidUploadField($crudObject, $uploaderMacro)) {
172 172
             abort(500, 'Invalid field for upload.');
173 173
         }
174 174
 
175 175
         $uploaderConfiguration = $crudObject[$uploaderMacro] ?? [];
176
-        $uploaderConfiguration = ! is_array($uploaderConfiguration) ? [] : $uploaderConfiguration;
176
+        $uploaderConfiguration = !is_array($uploaderConfiguration) ? [] : $uploaderConfiguration;
177 177
         $uploaderClass = $this->getUploadFor($crudObject['type'], $uploaderMacro);
178 178
 
179 179
         return new $uploaderClass(['name' => $requestInputName], $uploaderConfiguration);
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
     /**
183 183
      * Get the upload field macro type for the given object.
184 184
      */
185
-    private function getUploadCrudObjectMacroType(array $crudObject): string|null
185
+    private function getUploadCrudObjectMacroType(array $crudObject): string | null
186 186
     {
187 187
         return isset($crudObject['withFiles']) ? 'withFiles' : (isset($crudObject['withMedia']) ? 'withMedia' : null);
188 188
     }
@@ -191,11 +191,11 @@  discard block
 block discarded – undo
191 191
     {
192 192
         if (Str::contains($crudObject['name'], '#')) {
193 193
             $container = Str::before($crudObject['name'], '#');
194
-            $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function ($item) use ($crudObject, $uploaderMacro) {
194
+            $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function($item) use ($crudObject, $uploaderMacro) {
195 195
                 return $item['name'] === $crudObject['name'] && in_array($item['type'], $this->getAjaxUploadTypes($uploaderMacro));
196 196
             });
197 197
 
198
-            return ! empty($field);
198
+            return !empty($field);
199 199
         }
200 200
 
201 201
         return in_array($crudObject['type'], $this->getAjaxUploadTypes($uploaderMacro));
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/Traits/HandleRepeatableUploads.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -14,7 +14,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
     }
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) {
133 133
             $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getAttributeName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader));
134 134
 
135
-            $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) {
135
+            $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) {
136 136
                 $item[$uploader->getAttributeName()] = $uploadedValues[$key] ?? null;
137 137
 
138 138
                 return $item;
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 
153 153
         $values = $entry->{$this->getRepeatableContainerName()};
154 154
         $values = is_string($values) ? json_decode($values, true) : $values;
155
-        $values = array_map(function ($item) use ($repeatableUploaders) {
155
+        $values = array_map(function($item) use ($repeatableUploaders) {
156 156
             foreach ($repeatableUploaders as $upload) {
157 157
                 $item[$upload->getAttributeName()] = $this->getValuesWithPathStripped($item, $upload);
158 158
             }
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
     private function retrieveRepeatableRelationFiles(Model $entry)
169 169
     {
170
-        switch($this->getRepeatableRelationType()) {
170
+        switch ($this->getRepeatableRelationType()) {
171 171
             case 'BelongsToMany':
172 172
             case 'MorphToMany':
173 173
                 $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass();
@@ -213,12 +213,12 @@  discard block
 block discarded – undo
213 213
 
214 214
         $repeatableValues = collect($entry->{$this->getName()});
215 215
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) {
216
-            if (! $upload->shouldDeleteFiles()) {
216
+            if (!$upload->shouldDeleteFiles()) {
217 217
                 continue;
218 218
             }
219 219
             $values = $repeatableValues->pluck($upload->getName())->toArray();
220 220
             foreach ($values as $value) {
221
-                if (! $value) {
221
+                if (!$value) {
222 222
                     continue;
223 223
                 }
224 224
 
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
     /**
242 242
      * Given two multidimensional arrays/collections, merge them recursively.
243 243
      */
244
-    protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection
244
+    protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection
245 245
     {
246 246
         $merged = $array1;
247 247
         foreach ($array2 as $key => &$value) {
@@ -263,7 +263,7 @@  discard block
 block discarded – undo
263 263
     {
264 264
         $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? [];
265 265
 
266
-        array_walk($items, function (&$key, $value) {
266
+        array_walk($items, function(&$key, $value) {
267 267
             $requestValue = $key[$this->getName()] ?? null;
268 268
             $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue;
269 269
         });
@@ -275,18 +275,18 @@  discard block
 block discarded – undo
275 275
     {
276 276
         $previousValues = json_decode($entry->getOriginal($uploader->getRepeatableContainerName()), true);
277 277
 
278
-        if (! empty($previousValues)) {
278
+        if (!empty($previousValues)) {
279 279
             $previousValues = array_column($previousValues, $uploader->getName());
280 280
         }
281 281
 
282 282
         return $previousValues ?? [];
283 283
     }
284 284
 
285
-    private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $uploader)
285
+    private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $uploader)
286 286
     {
287 287
         $uploadedValues = $item[$uploader->getName()] ?? null;
288 288
         if (is_array($uploadedValues)) {
289
-            return array_map(function ($value) use ($uploader) {
289
+            return array_map(function($value) use ($uploader) {
290 290
                 return $uploader->getValueWithoutPath($value);
291 291
             }, $uploadedValues);
292 292
         }
@@ -305,19 +305,19 @@  discard block
 block discarded – undo
305 305
     {
306 306
         if (in_array($this->getRepeatableRelationType(), ['BelongsToMany', 'MorphToMany'])) {
307 307
             $pivotAttributes = $entry->getAttributes();
308
-            $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function ($item) use ($pivotAttributes) {
308
+            $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) {
309 309
                 $itemPivotAttributes = $item->pivot->only(array_keys($pivotAttributes));
310 310
 
311 311
                 return $itemPivotAttributes === $pivotAttributes;
312 312
             })->first();
313 313
 
314
-            if (! $connectedPivot) {
314
+            if (!$connectedPivot) {
315 315
                 return;
316 316
             }
317 317
 
318 318
             $files = $connectedPivot->getOriginal()['pivot_'.$this->getAttributeName()];
319 319
 
320
-            if (! $files) {
320
+            if (!$files) {
321 321
                 return;
322 322
             }
323 323
 
Please login to merge, or discard this patch.
src/app/Library/Validation/Rules/ValidUpload.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
     {
18 18
         $entry = CrudPanelFacade::getCurrentEntry();
19 19
 
20
-        if (! array_key_exists($attribute, $this->data) && $entry) {
20
+        if (!array_key_exists($attribute, $this->data) && $entry) {
21 21
             if (str_contains($attribute, '.') && get_class($entry) === get_class(CrudPanelFacade::getModel())) {
22 22
                 $previousValue = Arr::get($this->data, '_order_'.Str::before($attribute, '.'));
23 23
                 $previousValue = Arr::get($previousValue, Str::after($attribute, '.'));
@@ -33,14 +33,14 @@  discard block
 block discarded – undo
33 33
 
34 34
         $fieldErrors = $this->validateFieldRules($attribute, $value);
35 35
 
36
-        if (! empty($value) && ! empty($this->getFileRules())) {
36
+        if (!empty($value) && !empty($this->getFileRules())) {
37 37
             $fileErrors = $this->validateFileRules($attribute, $value);
38 38
         }
39 39
 
40 40
         return array_merge($fieldErrors, $fileErrors ?? []);
41 41
     }
42 42
 
43
-    public static function field(string|array|ValidationRule|Rule $rules = []): self
43
+    public static function field(string | array | ValidationRule | Rule $rules = []): self
44 44
     {
45 45
         return parent::field($rules);
46 46
     }
Please login to merge, or discard this patch.
src/app/Library/Validation/Rules/BackpackCustomRule.php 1 patch
Spacing   +14 added lines, -15 removed lines patch added patch discarded remove patch
@@ -28,13 +28,13 @@  discard block
 block discarded – undo
28 28
 
29 29
     public bool $implicit = true;
30 30
 
31
-    public static function field(string|array|ValidationRule|Rule $rules = []): self
31
+    public static function field(string | array | ValidationRule | Rule $rules = []): self
32 32
     {
33 33
         $instance = new static();
34 34
         $instance->fieldRules = self::getRulesAsArray($rules);
35 35
 
36 36
         if ($instance->validatesArrays()) {
37
-            if (! in_array('array', $instance->getFieldRules())) {
37
+            if (!in_array('array', $instance->getFieldRules())) {
38 38
                 $instance->fieldRules[] = 'array';
39 39
             }
40 40
         }
@@ -94,7 +94,7 @@  discard block
 block discarded – undo
94 94
 
95 95
     public function getFieldRules(): array
96 96
     {
97
-        return tap($this->fieldRules, function ($rule) {
97
+        return tap($this->fieldRules, function($rule) {
98 98
             if (is_a($rule, BackpackCustomRule::class, true)) {
99 99
                 $rule = $rule->getFieldRules();
100 100
             }
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
             $rules = explode('|', $rules);
110 110
         }
111 111
 
112
-        if (! is_array($rules)) {
112
+        if (!is_array($rules)) {
113 113
             $rules = [$rules];
114 114
         }
115 115
 
@@ -118,10 +118,10 @@  discard block
 block discarded – undo
118 118
 
119 119
     protected function ensureValueIsValid($value)
120 120
     {
121
-        if ($this->validatesArrays() && ! is_array($value)) {
121
+        if ($this->validatesArrays() && !is_array($value)) {
122 122
             try {
123 123
                 $value = json_decode($value, true) ?? [];
124
-            } catch(\Exception $e) {
124
+            } catch (\Exception $e) {
125 125
                 return false;
126 126
             }
127 127
         }
@@ -140,14 +140,13 @@  discard block
 block discarded – undo
140 140
             $attribute => $rules,
141 141
         ], $this->validator->customMessages, $this->validator->customAttributes);
142 142
 
143
-        return $validator->errors()->messages()[$attribute] ?? (! empty($validator->errors()->messages()) ? current($validator->errors()->messages()) : []);
143
+        return $validator->errors()->messages()[$attribute] ?? (!empty($validator->errors()->messages()) ? current($validator->errors()->messages()) : []);
144 144
     }
145 145
 
146 146
     protected function getValidationAttributeString(string $attribute)
147 147
     {
148 148
         return Str::substrCount($attribute, '.') > 1 ?
149
-                Str::before($attribute, '.').'.*.'.Str::afterLast($attribute, '.') :
150
-                $attribute;
149
+                Str::before($attribute, '.').'.*.'.Str::afterLast($attribute, '.') : $attribute;
151 150
     }
152 151
 
153 152
     protected function validateOnSubmit(string $attribute, mixed $value): array
@@ -155,7 +154,7 @@  discard block
 block discarded – undo
155 154
         return $this->validateRules($attribute, $value);
156 155
     }
157 156
 
158
-    protected function validateFieldAndFile(string $attribute, null|array $data = null, array|null $customRules = null): array
157
+    protected function validateFieldAndFile(string $attribute, null | array $data = null, array | null $customRules = null): array
159 158
     {
160 159
         $fieldErrors = $this->validateFieldRules($attribute, $data, $customRules);
161 160
 
@@ -167,7 +166,7 @@  discard block
 block discarded – undo
167 166
     /**
168 167
      * Implementation.
169 168
      */
170
-    public function validateFieldRules(string $attribute, null|array|string|UploadedFile $data = null, array|null $customRules = null): array
169
+    public function validateFieldRules(string $attribute, null | array | string | UploadedFile $data = null, array | null $customRules = null): array
171 170
     {
172 171
         $data = $data ?? $this->data;
173 172
         $validationRuleAttribute = $this->getValidationAttributeString($attribute);
@@ -176,16 +175,16 @@  discard block
 block discarded – undo
176 175
         return $this->validateAndGetErrors($validationRuleAttribute, $data, $customRules ?? $this->getFieldRules());
177 176
     }
178 177
 
179
-    protected function prepareValidatorData(array|string|UploadedFile $data, string $attribute): array
178
+    protected function prepareValidatorData(array | string | UploadedFile $data, string $attribute): array
180 179
     {
181
-        if ($this->validatesArrays() && is_array($data) && ! Str::contains($attribute, '.')) {
180
+        if ($this->validatesArrays() && is_array($data) && !Str::contains($attribute, '.')) {
182 181
             return Arr::has($data, $attribute) ? $data : [$attribute => $data];
183 182
         }
184 183
 
185 184
         if (Str::contains($attribute, '.')) {
186 185
             $validData = [];
187 186
 
188
-            Arr::set($validData, $attribute, ! is_array($data) ? $data : Arr::get($data, $attribute));
187
+            Arr::set($validData, $attribute, !is_array($data) ? $data : Arr::get($data, $attribute));
189 188
 
190 189
             return $validData;
191 190
         }
@@ -199,7 +198,7 @@  discard block
 block discarded – undo
199 198
         $items = is_array($items) ? $items : [$items];
200 199
         $validationRuleAttribute = $this->getValidationAttributeString($attribute);
201 200
         $filesToValidate = Arr::get($items, $attribute);
202
-        $filesToValidate = array_filter($filesToValidate ?? [], function ($item) {
201
+        $filesToValidate = array_filter($filesToValidate ?? [], function($item) {
203 202
             return $item instanceof UploadedFile;
204 203
         });
205 204
 
Please login to merge, or discard this patch.