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

Passed
Push — handle-uploads-inside-relation... ( 2bb392...c9a375 )
by Pedro
19:23
created
src/app/Library/Uploaders/Uploader.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
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?
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
     /*******************************
58 58
      * Static methods
59 59
      *******************************/
60
-    public static function for(array $crudObject, array $definition): UploaderInterface
60
+    public static function for (array $crudObject, array $definition): UploaderInterface
61 61
     {
62 62
         return new static($crudObject, $definition);
63 63
     }
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
     public function deleteUploadedFiles(Model $entry): void
99 99
     {
100 100
         if ($this->deleteWhenEntryIsDeleted) {
101
-            if (! in_array(SoftDeletes::class, class_uses_recursive($entry), true)) {
101
+            if (!in_array(SoftDeletes::class, class_uses_recursive($entry), true)) {
102 102
                 $this->performFileDeletion($entry);
103 103
 
104 104
                 return;
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
 
165 165
     public function getPreviousFiles(Model $entry): mixed
166 166
     {
167
-        if (! $this->attachedToFakeField) {
167
+        if (!$this->attachedToFakeField) {
168 168
             return $this->getOriginalValue($entry);
169 169
         }
170 170
 
@@ -203,7 +203,7 @@  discard block
 block discarded – undo
203 203
         $value = $entry->{$this->name};
204 204
 
205 205
         if ($this->handleMultipleFiles) {
206
-            if (! isset($entry->getCasts()[$this->name]) && is_string($value)) {
206
+            if (!isset($entry->getCasts()[$this->name]) && is_string($value)) {
207 207
                 $entry->{$this->name} = json_decode($value, true);
208 208
             }
209 209
 
@@ -231,7 +231,7 @@  discard block
 block discarded – undo
231 231
 
232 232
         if ($this->handleMultipleFiles) {
233 233
             // ensure we have an array of values when field is not casted in model.
234
-            if (! isset($entry->getCasts()[$this->name]) && is_string($values)) {
234
+            if (!isset($entry->getCasts()[$this->name]) && is_string($values)) {
235 235
                 $values = json_decode($values, true);
236 236
             }
237 237
             foreach ($values as $value) {
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
 
248 248
     private function performFileDeletion(Model $entry)
249 249
     {
250
-        if (! $this->handleRepeatableFiles) {
250
+        if (!$this->handleRepeatableFiles) {
251 251
             $this->deleteFiles($entry);
252 252
 
253 253
             return;
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
     {
271 271
         $previousValue = $entry->getOriginal($field ?? $this->getName());
272 272
 
273
-        if (! $previousValue) {
273
+        if (!$previousValue) {
274 274
             return $previousValue;
275 275
         }
276 276
 
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/RegisterUploadEvents.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -14,18 +14,18 @@  discard block
 block discarded – undo
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
 block discarded – undo
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;
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
         }
78 78
 
79 79
         $subfields = collect($this->crudObject->getAttributes()['subfields']);
80
-        $subfields = $subfields->map(function ($item) use ($subfield, $uploader) {
80
+        $subfields = $subfields->map(function($item) use ($subfield, $uploader) {
81 81
             if ($item['name'] === $subfield['name']) {
82 82
                 $item['upload'] = true;
83 83
                 $item['disk'] = $uploader->getDisk();
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
         }
108 108
 
109 109
         if ($this->crudObjectType === 'field') {
110
-            $model::saving(function ($entry) use ($uploader) {
110
+            $model::saving(function($entry) use ($uploader) {
111 111
                 $updatedCountKey = 'uploaded_'.($uploader->getRepeatableContainerName() ?? $uploader->getName()).'_count';
112 112
 
113 113
                 CRUD::set($updatedCountKey, CRUD::get($updatedCountKey) ?? 0);
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
             // is not called in pivot models when eager loading the relations.
127 127
             $retrieveModel = $this->getRetrieveModel($model, $uploader);
128 128
 
129
-            $retrieveModel::retrieved(function ($entry) use ($uploader) {
129
+            $retrieveModel::retrieved(function($entry) use ($uploader) {
130 130
                 if ($entry->translationEnabled()) {
131 131
                     $locale = request('_locale', \App::getLocale());
132 132
                     if (in_array($locale, array_keys($entry->getAvailableLocales()))) {
@@ -137,7 +137,7 @@  discard block
 block discarded – undo
137 137
             });
138 138
         }
139 139
 
140
-        $model::deleting(function ($entry) use ($uploader) {
140
+        $model::deleting(function($entry) use ($uploader) {
141 141
             $uploader->deleteUploadedFiles($entry);
142 142
         });
143 143
 
@@ -159,13 +159,13 @@  discard block
 block discarded – undo
159 159
         $customUploader = isset($uploaderConfiguration['uploader']) && class_exists($uploaderConfiguration['uploader']);
160 160
 
161 161
         if ($customUploader) {
162
-            return $uploaderConfiguration['uploader']::for($crudObject, $uploaderConfiguration);
162
+            return $uploaderConfiguration['uploader']::for ($crudObject, $uploaderConfiguration);
163 163
         }
164 164
 
165 165
         $uploader = app('UploadersRepository')->hasUploadFor($crudObject['type'], $this->macro);
166 166
 
167 167
         if ($uploader) {
168
-            return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for($crudObject, $uploaderConfiguration);
168
+            return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for ($crudObject, $uploaderConfiguration);
169 169
         }
170 170
 
171 171
         throw new Exception('Undefined upload type for '.$this->crudObjectType.' type: '.$crudObject['type']);
@@ -181,11 +181,11 @@  discard block
 block discarded – undo
181 181
 
182 182
     private function getSubfieldModel(array $subfield, UploaderInterface $uploader)
183 183
     {
184
-        if (! $uploader->isRelationship()) {
184
+        if (!$uploader->isRelationship()) {
185 185
             return $subfield['baseModel'] ?? get_class(app('crud')->getModel());
186 186
         }
187 187
 
188
-        switch($subfield['relation_type']) {
188
+        switch ($subfield['relation_type']) {
189 189
             case 'BelongsToMany':
190 190
                 return app('crud')->getModel()->{$subfield['baseEntity']}()->getPivotClass();
191 191
         }
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
 
194 194
     private function getRetrieveModel(string $model, UploaderInterface $uploader)
195 195
     {
196
-        if (! $uploader->isRelationship()) {
196
+        if (!$uploader->isRelationship()) {
197 197
             return $model;
198 198
         }
199 199
 
Please login to merge, or discard this patch.
src/BackpackServiceProvider.php 1 patch
Spacing   +13 added lines, -15 removed lines patch added patch discarded remove patch
@@ -81,24 +81,24 @@  discard block
 block discarded – undo
81 81
         $this->registerBackpackErrorViews();
82 82
 
83 83
         // Bind the CrudPanel object to Laravel's service container
84
-        $this->app->scoped('crud', function ($app) {
84
+        $this->app->scoped('crud', function($app) {
85 85
             return new CrudPanel();
86 86
         });
87 87
 
88
-        $this->app->scoped('DatabaseSchema', function ($app) {
88
+        $this->app->scoped('DatabaseSchema', function($app) {
89 89
             return new DatabaseSchema();
90 90
         });
91 91
 
92
-        $this->app->singleton('BackpackViewNamespaces', function ($app) {
92
+        $this->app->singleton('BackpackViewNamespaces', function($app) {
93 93
             return new ViewNamespaces();
94 94
         });
95 95
 
96 96
         // Bind the widgets collection object to Laravel's service container
97
-        $this->app->singleton('widgets', function ($app) {
97
+        $this->app->singleton('widgets', function($app) {
98 98
             return new Collection();
99 99
         });
100 100
 
101
-        $this->app->scoped('UploadersRepository', function ($app) {
101
+        $this->app->scoped('UploadersRepository', function($app) {
102 102
             return new UploadersRepository();
103 103
         });
104 104
 
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
         $middleware_key = config('backpack.base.middleware_key');
115 115
         $middleware_class = config('backpack.base.middleware_class');
116 116
 
117
-        if (! is_array($middleware_class)) {
117
+        if (!is_array($middleware_class)) {
118 118
             $router->pushMiddlewareToGroup($middleware_key, $middleware_class);
119 119
 
120 120
             return;
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
         $configs = scandir(__DIR__."/config/backpack/$dir/");
228 228
         $configs = array_diff($configs, ['.', '..']);
229 229
 
230
-        if (! count($configs)) {
230
+        if (!count($configs)) {
231 231
             return;
232 232
         }
233 233
 
@@ -276,8 +276,7 @@  discard block
 block discarded – undo
276 276
         // add the backpack_users password broker to the configuration
277 277
         $laravelAuthPasswordBrokers = app()->config['auth.passwords'];
278 278
         $laravelFirstPasswordBroker = is_array($laravelAuthPasswordBrokers) && current($laravelAuthPasswordBrokers) ?
279
-                                        current($laravelAuthPasswordBrokers)['table'] :
280
-                                        '';
279
+                                        current($laravelAuthPasswordBrokers)['table'] : '';
281 280
 
282 281
         $backpackPasswordBrokerTable = config('backpack.base.password_resets_table') ??
283 282
                                         config('auth.passwords.users.table') ??
@@ -305,7 +304,7 @@  discard block
 block discarded – undo
305 304
 
306 305
     public function loadViewComponents()
307 306
     {
308
-        $this->app->afterResolving(BladeCompiler::class, function () {
307
+        $this->app->afterResolving(BladeCompiler::class, function() {
309 308
             Blade::componentNamespace('Backpack\\CRUD\\app\\View\\Components', 'backpack');
310 309
         });
311 310
     }
@@ -331,13 +330,13 @@  discard block
 block discarded – undo
331 330
     private function registerBackpackErrorViews()
332 331
     {
333 332
         // register the backpack error when the exception handler is resolved from the container
334
-        $this->callAfterResolving(ExceptionHandler::class, function ($handler) {
335
-            if (! Str::startsWith(request()->path(), config('backpack.base.route_prefix'))) {
333
+        $this->callAfterResolving(ExceptionHandler::class, function($handler) {
334
+            if (!Str::startsWith(request()->path(), config('backpack.base.route_prefix'))) {
336 335
                 return;
337 336
             }
338 337
 
339 338
             // parse the namespaces set in config
340
-            [$themeNamespace, $themeFallbackNamespace] = (function () {
339
+            [$themeNamespace, $themeFallbackNamespace] = (function() {
341 340
                 $themeNamespace = config('backpack.ui.view_namespace');
342 341
                 $themeFallbackNamespace = config('backpack.ui.view_namespace_fallback');
343 342
 
@@ -354,8 +353,7 @@  discard block
 block discarded – undo
354 353
             // - fallback theme paths
355 354
             // - ui path
356 355
             $themeErrorPaths = $viewFinderHints[$themeNamespace] ?? [];
357
-            $themeErrorPaths = $themeNamespace === $themeFallbackNamespace ? $themeErrorPaths :
358
-                array_merge($viewFinderHints[$themeFallbackNamespace] ?? [], $themeErrorPaths);
356
+            $themeErrorPaths = $themeNamespace === $themeFallbackNamespace ? $themeErrorPaths : array_merge($viewFinderHints[$themeFallbackNamespace] ?? [], $themeErrorPaths);
359 357
             $uiErrorPaths = [base_path('vendor/backpack/crud/src/resources/views/ui')];
360 358
             $themeErrorPaths = array_merge($themeErrorPaths, $uiErrorPaths);
361 359
 
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/Traits/HandleRepeatableUploads.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) {
77 77
             $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader));
78 78
 
79
-            $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) {
79
+            $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) {
80 80
                 $item[$uploader->getName()] = $uploadedValues[$key] ?? null;
81 81
 
82 82
                 return $item;
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
 
97 97
         $values = $entry->{$this->getRepeatableContainerName()};
98 98
         $values = is_string($values) ? json_decode($values, true) : $values;
99
-        $values = array_map(function ($item) use ($repeatableUploaders) {
99
+        $values = array_map(function($item) use ($repeatableUploaders) {
100 100
             foreach ($repeatableUploaders as $upload) {
101 101
                 $item[$upload->getName()] = $this->getValuesWithPathStripped($item, $upload);
102 102
             }
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
 
112 112
     private function retrieveRepeatableRelationFiles(Model $entry)
113 113
     {
114
-        switch($this->getRepeatableRelationType()) {
114
+        switch ($this->getRepeatableRelationType()) {
115 115
             case 'BelongsToMany':
116 116
                 $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass();
117 117
                 $pivotFieldName = 'pivot_'.$this->getName();
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
     private function deleteRepeatableFiles(Model $entry): void
150 150
     {
151 151
         if ($this->isRelationship) {
152
-            switch($this->getRepeatableRelationType()) {
152
+            switch ($this->getRepeatableRelationType()) {
153 153
                 case 'BelongsToMany':
154 154
                     $pivotAttributes = $entry->getAttributes();
155 155
                     $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) {
@@ -160,13 +160,13 @@  discard block
 block discarded – undo
160 160
                        
161 161
                     })->first();
162 162
                     
163
-                    if(!$connectedPivot) {
163
+                    if (!$connectedPivot) {
164 164
                         return;
165 165
                     }
166 166
 
167 167
                     $files = $connectedPivot->getOriginal()['pivot_'.$this->getName()];
168 168
                    
169
-                    if(!$files) {
169
+                    if (!$files) {
170 170
                         return;
171 171
                     }
172 172
 
@@ -192,12 +192,12 @@  discard block
 block discarded – undo
192 192
 
193 193
         $repeatableValues = collect($entry->{$this->getName()});
194 194
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) {
195
-            if (! $upload->shouldDeleteFiles()) {
195
+            if (!$upload->shouldDeleteFiles()) {
196 196
                 continue;
197 197
             }
198 198
             $values = $repeatableValues->pluck($upload->getName())->toArray();
199 199
             foreach ($values as $value) {
200
-                if (! $value) {
200
+                if (!$value) {
201 201
                     continue;
202 202
                 }
203 203
 
@@ -220,7 +220,7 @@  discard block
 block discarded – undo
220 220
     /**
221 221
      * Given two multidimensional arrays/collections, merge them recursively.
222 222
      */
223
-    protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection
223
+    protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection
224 224
     {
225 225
         $merged = $array1;
226 226
         foreach ($array2 as $key => &$value) {
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
     {
243 243
         $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? [];
244 244
 
245
-        array_walk($items, function (&$key, $value) {
245
+        array_walk($items, function(&$key, $value) {
246 246
             $requestValue = $key[$this->getName()] ?? null;
247 247
             $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue;
248 248
         });
@@ -254,18 +254,18 @@  discard block
 block discarded – undo
254 254
     {
255 255
         $previousValues = json_decode($entry->getOriginal($uploader->getRepeatableContainerName()), true);
256 256
 
257
-        if (! empty($previousValues)) {
257
+        if (!empty($previousValues)) {
258 258
             $previousValues = array_column($previousValues, $uploader->getName());
259 259
         }
260 260
 
261 261
         return $previousValues ?? [];
262 262
     }
263 263
 
264
-    private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $upload)
264
+    private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $upload)
265 265
     {
266 266
         $uploadedValues = $item[$upload->getName()] ?? null;
267 267
         if (is_array($uploadedValues)) {
268
-            return array_map(function ($value) use ($upload) {
268
+            return array_map(function($value) use ($upload) {
269 269
                 return Str::after($value, $upload->getPath());
270 270
             }, $uploadedValues);
271 271
         }
Please login to merge, or discard this patch.
src/app/Library/CrudPanel/Traits/FieldsProtectedMethods.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
             return ['name' => $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
 
@@ -187,7 +187,7 @@  discard block
 block discarded – undo
187 187
         }
188 188
         // if there's a model defined, but no attribute
189 189
         // guess an attribute using the identifiableAttribute functionality in CrudTrait
190
-        if (isset($field['model']) && ! isset($field['attribute']) && method_exists($field['model'], 'identifiableAttribute')) {
190
+        if (isset($field['model']) && !isset($field['attribute']) && method_exists($field['model'], 'identifiableAttribute')) {
191 191
             $field['attribute'] = (new $field['model']())->identifiableAttribute();
192 192
         }
193 193
 
@@ -203,7 +203,7 @@  discard block
 block discarded – undo
203 203
      */
204 204
     protected function makeSureFieldHasLabel($field)
205 205
     {
206
-        if (! isset($field['label'])) {
206
+        if (!isset($field['label'])) {
207 207
             $name = str_replace(',', ' ', $field['name']);
208 208
             $name = str_replace('_id', '', $name);
209 209
             $field['label'] = mb_ucfirst(str_replace('_', ' ', $name));
@@ -221,7 +221,7 @@  discard block
 block discarded – undo
221 221
      */
222 222
     protected function makeSureFieldHasType($field)
223 223
     {
224
-        if (! isset($field['type'])) {
224
+        if (!isset($field['type'])) {
225 225
             $field['type'] = isset($field['relation_type']) ? $this->inferFieldTypeFromRelationType($field['relation_type']) : $this->inferFieldTypeFromDbColumnType($field['name']);
226 226
         }
227 227
 
@@ -254,12 +254,12 @@  discard block
 block discarded – undo
254 254
      */
255 255
     protected function makeSureSubfieldsHaveNecessaryAttributes($field)
256 256
     {
257
-        if (! isset($field['subfields'])) {
257
+        if (!isset($field['subfields'])) {
258 258
             return $field;
259 259
         }
260 260
 
261 261
         foreach ($field['subfields'] as $key => $subfield) {
262
-            if (empty($subfield) || ! isset($subfield['name'])) {
262
+            if (empty($subfield) || !isset($subfield['name'])) {
263 263
                 abort(500, 'Subfield name can\'t be empty');
264 264
             }
265 265
 
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
 
271 271
             $subfield['parentFieldName'] = $field['name'];
272 272
 
273
-            if (! isset($field['model'])) {
273
+            if (!isset($field['model'])) {
274 274
                 // we're inside a simple 'repeatable' with no model/relationship, so
275 275
                 // we assume all subfields are supposed to be text fields
276 276
                 $subfield['type'] = $subfield['type'] ?? 'text';
@@ -301,7 +301,7 @@  discard block
 block discarded – undo
301 301
                         return $item['name'] === $pivotSelectorField['name'];
302 302
                     });
303 303
 
304
-                    if(!empty($pivot)) {
304
+                    if (!empty($pivot)) {
305 305
                         break;
306 306
                     }
307 307
 
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
                         return $item['name'] === $relationInstance->getRelated()->getKeyName();
319 319
                     });
320 320
                     
321
-                    if(!empty($localKeyField)) {
321
+                    if (!empty($localKeyField)) {
322 322
                         break;
323 323
                     }
324 324
 
@@ -343,7 +343,7 @@  discard block
 block discarded – undo
343 343
     {
344 344
         // if a tab was mentioned, we should enable it
345 345
         if (isset($field['tab'])) {
346
-            if (! $this->tabsEnabled()) {
346
+            if (!$this->tabsEnabled()) {
347 347
                 $this->enableTabs();
348 348
             }
349 349
         }
Please login to merge, or discard this patch.