We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
@@ -29,13 +29,13 @@ discard block |
||
| 29 | 29 | |
| 30 | 30 | public bool $implicit = true; |
| 31 | 31 | |
| 32 | - public static function field(string|array|ValidationRule|Rule $rules = []): self |
|
| 32 | + public static function field(string | array | ValidationRule | Rule $rules = []): self |
|
| 33 | 33 | { |
| 34 | 34 | $instance = new static(); |
| 35 | 35 | $instance->fieldRules = self::getRulesAsArray($rules); |
| 36 | 36 | |
| 37 | 37 | if ($instance->validatesArrays()) { |
| 38 | - if (! in_array('array', $instance->getFieldRules())) { |
|
| 38 | + if (!in_array('array', $instance->getFieldRules())) { |
|
| 39 | 39 | $instance->fieldRules[] = 'array'; |
| 40 | 40 | } |
| 41 | 41 | } |
@@ -95,7 +95,7 @@ discard block |
||
| 95 | 95 | |
| 96 | 96 | public function getFieldRules(): array |
| 97 | 97 | { |
| 98 | - return tap($this->fieldRules, function ($rule) { |
|
| 98 | + return tap($this->fieldRules, function($rule) { |
|
| 99 | 99 | if (is_a($rule, BackpackCustomRule::class, true)) { |
| 100 | 100 | $rule = $rule->getFieldRules(); |
| 101 | 101 | } |
@@ -110,7 +110,7 @@ discard block |
||
| 110 | 110 | $rules = explode('|', $rules); |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | - if (! is_array($rules)) { |
|
| 113 | + if (!is_array($rules)) { |
|
| 114 | 114 | $rules = [$rules]; |
| 115 | 115 | } |
| 116 | 116 | |
@@ -119,10 +119,10 @@ discard block |
||
| 119 | 119 | |
| 120 | 120 | protected function ensureValueIsValid($value) |
| 121 | 121 | { |
| 122 | - if ($this->validatesArrays() && ! is_array($value)) { |
|
| 122 | + if ($this->validatesArrays() && !is_array($value)) { |
|
| 123 | 123 | try { |
| 124 | 124 | $value = json_decode($value, true) ?? []; |
| 125 | - } catch(\Exception $e) { |
|
| 125 | + } catch (\Exception $e) { |
|
| 126 | 126 | return false; |
| 127 | 127 | } |
| 128 | 128 | } |
@@ -141,12 +141,12 @@ discard block |
||
| 141 | 141 | $attribute => $rules, |
| 142 | 142 | ], $this->validator->customMessages, $this->getValidatorCustomAttributes($attribute)); |
| 143 | 143 | |
| 144 | - return $validator->errors()->messages()[$attribute] ?? (! empty($validator->errors()->messages()) ? current($validator->errors()->messages()) : []); |
|
| 144 | + return $validator->errors()->messages()[$attribute] ?? (!empty($validator->errors()->messages()) ? current($validator->errors()->messages()) : []); |
|
| 145 | 145 | } |
| 146 | 146 | |
| 147 | 147 | private function getValidatorCustomAttributes(string $attribute): array |
| 148 | 148 | { |
| 149 | - if (! is_a($this, ValidGenericAjaxEndpoint::class) && ! Str::contains($attribute, '.*.')) { |
|
| 149 | + if (!is_a($this, ValidGenericAjaxEndpoint::class) && !Str::contains($attribute, '.*.')) { |
|
| 150 | 150 | return $this->validator->customAttributes; |
| 151 | 151 | } |
| 152 | 152 | |
@@ -157,8 +157,7 @@ discard block |
||
| 157 | 157 | protected function getValidationAttributeString(string $attribute) |
| 158 | 158 | { |
| 159 | 159 | return Str::substrCount($attribute, '.') > 1 ? |
| 160 | - Str::before($attribute, '.').'.*.'.Str::afterLast($attribute, '.') : |
|
| 161 | - $attribute; |
|
| 160 | + Str::before($attribute, '.').'.*.'.Str::afterLast($attribute, '.') : $attribute; |
|
| 162 | 161 | } |
| 163 | 162 | |
| 164 | 163 | protected function validateOnSubmit(string $attribute, mixed $value): array |
@@ -178,7 +177,7 @@ discard block |
||
| 178 | 177 | /** |
| 179 | 178 | * Implementation. |
| 180 | 179 | */ |
| 181 | - public function validateFieldRules(string $attribute, null|array|string|UploadedFile $data = null, ?array $customRules = null): array |
|
| 180 | + public function validateFieldRules(string $attribute, null | array | string | UploadedFile $data = null, ?array $customRules = null): array |
|
| 182 | 181 | { |
| 183 | 182 | $data = $data ?? $this->data; |
| 184 | 183 | $validationRuleAttribute = $this->getValidationAttributeString($attribute); |
@@ -187,16 +186,16 @@ discard block |
||
| 187 | 186 | return $this->validateAndGetErrors($validationRuleAttribute, $data, $customRules ?? $this->getFieldRules()); |
| 188 | 187 | } |
| 189 | 188 | |
| 190 | - protected function prepareValidatorData(array|string|UploadedFile $data, string $attribute): array |
|
| 189 | + protected function prepareValidatorData(array | string | UploadedFile $data, string $attribute): array |
|
| 191 | 190 | { |
| 192 | - if ($this->validatesArrays() && is_array($data) && ! Str::contains($attribute, '.')) { |
|
| 191 | + if ($this->validatesArrays() && is_array($data) && !Str::contains($attribute, '.')) { |
|
| 193 | 192 | return Arr::has($data, $attribute) ? $data : [$attribute => $data]; |
| 194 | 193 | } |
| 195 | 194 | |
| 196 | 195 | if (Str::contains($attribute, '.')) { |
| 197 | 196 | $validData = []; |
| 198 | 197 | |
| 199 | - Arr::set($validData, $attribute, ! is_array($data) ? $data : Arr::get($data, $attribute)); |
|
| 198 | + Arr::set($validData, $attribute, !is_array($data) ? $data : Arr::get($data, $attribute)); |
|
| 200 | 199 | |
| 201 | 200 | return $validData; |
| 202 | 201 | } |
@@ -211,7 +210,7 @@ discard block |
||
| 211 | 210 | $validationRuleAttribute = $this->getValidationAttributeString($attribute); |
| 212 | 211 | |
| 213 | 212 | $filesToValidate = Arr::get($items, $attribute); |
| 214 | - $filesToValidate = is_array($filesToValidate) ? array_filter($filesToValidate, function ($item) { |
|
| 213 | + $filesToValidate = is_array($filesToValidate) ? array_filter($filesToValidate, function($item) { |
|
| 215 | 214 | return $item instanceof UploadedFile; |
| 216 | 215 | }) : (is_a($filesToValidate, UploadedFile::class, true) ? [$filesToValidate] : []); |
| 217 | 216 | |
@@ -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.', ['developer-error-exception']); |
| 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 | |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | *******************************/ |
| 38 | 38 | private function registerEvents(?array $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 | |
@@ -85,7 +85,7 @@ discard block |
||
| 85 | 85 | $this->registerBackpackErrorViews(); |
| 86 | 86 | |
| 87 | 87 | // Bind the CrudPanel object to Laravel's service container |
| 88 | - $this->app->bind('crud', function ($app) { |
|
| 88 | + $this->app->bind('crud', function($app) { |
|
| 89 | 89 | // Prioritize explicit controller context |
| 90 | 90 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
| 91 | 91 | $controller = null; |
@@ -106,7 +106,7 @@ discard block |
||
| 106 | 106 | // Fallback to a more robust initialization |
| 107 | 107 | $cruds = Backpack::getCruds(); |
| 108 | 108 | |
| 109 | - if (! empty($cruds)) { |
|
| 109 | + if (!empty($cruds)) { |
|
| 110 | 110 | $crudPanel = reset($cruds); |
| 111 | 111 | |
| 112 | 112 | // Ensure upload events are registered |
@@ -117,7 +117,7 @@ discard block |
||
| 117 | 117 | }); |
| 118 | 118 | |
| 119 | 119 | // Bind a special CrudPanel object for the CrudPanelFacade |
| 120 | - $this->app->bind('backpack.crud', function ($app) { |
|
| 120 | + $this->app->bind('backpack.crud', function($app) { |
|
| 121 | 121 | // Similar logic to 'crud' binding |
| 122 | 122 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
| 123 | 123 | $controller = null; |
@@ -138,28 +138,28 @@ discard block |
||
| 138 | 138 | return Backpack::getCrudPanelInstance(); |
| 139 | 139 | }); |
| 140 | 140 | |
| 141 | - $this->app->scoped('backpack-manager', function ($app) { |
|
| 141 | + $this->app->scoped('backpack-manager', function($app) { |
|
| 142 | 142 | return new BackpackManager(); |
| 143 | 143 | }); |
| 144 | 144 | |
| 145 | - $this->app->scoped('DatabaseSchema', function ($app) { |
|
| 145 | + $this->app->scoped('DatabaseSchema', function($app) { |
|
| 146 | 146 | return new DatabaseSchema(); |
| 147 | 147 | }); |
| 148 | 148 | |
| 149 | - $this->app->scoped('BackpackLifecycleHooks', function ($app) { |
|
| 149 | + $this->app->scoped('BackpackLifecycleHooks', function($app) { |
|
| 150 | 150 | return new app\Library\CrudPanel\Hooks\LifecycleHooks(); |
| 151 | 151 | }); |
| 152 | 152 | |
| 153 | - $this->app->singleton('BackpackViewNamespaces', function ($app) { |
|
| 153 | + $this->app->singleton('BackpackViewNamespaces', function($app) { |
|
| 154 | 154 | return new ViewNamespaces(); |
| 155 | 155 | }); |
| 156 | 156 | |
| 157 | 157 | // Bind the widgets collection object to Laravel's service container |
| 158 | - $this->app->singleton('widgets', function ($app) { |
|
| 158 | + $this->app->singleton('widgets', function($app) { |
|
| 159 | 159 | return new Collection(); |
| 160 | 160 | }); |
| 161 | 161 | |
| 162 | - $this->app->scoped('UploadersRepository', function ($app) { |
|
| 162 | + $this->app->scoped('UploadersRepository', function($app) { |
|
| 163 | 163 | return new UploadersRepository(); |
| 164 | 164 | }); |
| 165 | 165 | |
@@ -175,7 +175,7 @@ discard block |
||
| 175 | 175 | $middleware_key = config('backpack.base.middleware_key'); |
| 176 | 176 | $middleware_class = config('backpack.base.middleware_class'); |
| 177 | 177 | |
| 178 | - if (! is_array($middleware_class)) { |
|
| 178 | + if (!is_array($middleware_class)) { |
|
| 179 | 179 | $router->pushMiddlewareToGroup($middleware_key, $middleware_class); |
| 180 | 180 | |
| 181 | 181 | return; |
@@ -290,7 +290,7 @@ discard block |
||
| 290 | 290 | $configs = scandir(__DIR__."/config/backpack/$dir/"); |
| 291 | 291 | $configs = array_diff($configs, ['.', '..']); |
| 292 | 292 | |
| 293 | - if (! count($configs)) { |
|
| 293 | + if (!count($configs)) { |
|
| 294 | 294 | return; |
| 295 | 295 | } |
| 296 | 296 | |
@@ -339,8 +339,7 @@ discard block |
||
| 339 | 339 | // add the backpack_users password broker to the configuration |
| 340 | 340 | $laravelAuthPasswordBrokers = app()->config['auth.passwords']; |
| 341 | 341 | $laravelFirstPasswordBroker = is_array($laravelAuthPasswordBrokers) && current($laravelAuthPasswordBrokers) ? |
| 342 | - current($laravelAuthPasswordBrokers)['table'] : |
|
| 343 | - ''; |
|
| 342 | + current($laravelAuthPasswordBrokers)['table'] : ''; |
|
| 344 | 343 | |
| 345 | 344 | $backpackPasswordBrokerTable = config('backpack.base.password_resets_table') ?? |
| 346 | 345 | config('auth.passwords.users.table') ?? |
@@ -368,7 +367,7 @@ discard block |
||
| 368 | 367 | |
| 369 | 368 | public function loadViewComponents() |
| 370 | 369 | { |
| 371 | - $this->app->afterResolving(BladeCompiler::class, function () { |
|
| 370 | + $this->app->afterResolving(BladeCompiler::class, function() { |
|
| 372 | 371 | Blade::componentNamespace('Backpack\\CRUD\\app\\View\\Components', 'backpack'); |
| 373 | 372 | }); |
| 374 | 373 | } |
@@ -394,13 +393,13 @@ discard block |
||
| 394 | 393 | private function registerBackpackErrorViews() |
| 395 | 394 | { |
| 396 | 395 | // register the backpack error when the exception handler is resolved from the container |
| 397 | - $this->callAfterResolving(ExceptionHandler::class, function ($handler) { |
|
| 398 | - if (! Str::startsWith(request()->path(), config('backpack.base.route_prefix'))) { |
|
| 396 | + $this->callAfterResolving(ExceptionHandler::class, function($handler) { |
|
| 397 | + if (!Str::startsWith(request()->path(), config('backpack.base.route_prefix'))) { |
|
| 399 | 398 | return; |
| 400 | 399 | } |
| 401 | 400 | |
| 402 | 401 | // parse the namespaces set in config |
| 403 | - [$themeNamespace, $themeFallbackNamespace] = (function () { |
|
| 402 | + [$themeNamespace, $themeFallbackNamespace] = (function() { |
|
| 404 | 403 | $themeNamespace = config('backpack.ui.view_namespace'); |
| 405 | 404 | $themeFallbackNamespace = config('backpack.ui.view_namespace_fallback'); |
| 406 | 405 | |
@@ -417,8 +416,7 @@ discard block |
||
| 417 | 416 | // - fallback theme paths |
| 418 | 417 | // - ui path |
| 419 | 418 | $themeErrorPaths = $viewFinderHints[$themeNamespace] ?? []; |
| 420 | - $themeErrorPaths = $themeNamespace === $themeFallbackNamespace ? $themeErrorPaths : |
|
| 421 | - array_merge($viewFinderHints[$themeFallbackNamespace] ?? [], $themeErrorPaths); |
|
| 419 | + $themeErrorPaths = $themeNamespace === $themeFallbackNamespace ? $themeErrorPaths : array_merge($viewFinderHints[$themeFallbackNamespace] ?? [], $themeErrorPaths); |
|
| 422 | 420 | $uiErrorPaths = [base_path('vendor/backpack/crud/src/resources/views/ui')]; |
| 423 | 421 | $themeErrorPaths = array_merge($themeErrorPaths, $uiErrorPaths); |
| 424 | 422 | |