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
Pull Request — main (#5478)
by Cristian
28:14 queued 13:15
created

ValidUpload::validateRules()   B

Complexity

Conditions 9
Paths 8

Size

Total Lines 25
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 6
Bugs 5 Features 0
Metric Value
cc 9
eloc 14
c 6
b 5
f 0
nc 8
nop 2
dl 0
loc 25
rs 8.0555
1
<?php
2
3
namespace Backpack\CRUD\app\Library\Validation\Rules;
4
5
use Backpack\CRUD\app\Library\CrudPanel\CrudPanelFacade;
6
use Illuminate\Contracts\Validation\Rule;
7
use Illuminate\Contracts\Validation\ValidationRule;
8
use Illuminate\Support\Arr;
9
use Illuminate\Support\Str;
10
11
class ValidUpload extends BackpackCustomRule
12
{
13
    /**
14
     * Run the validation rule and return the array of errors.
15
     */
16
    public function validateRules(string $attribute, mixed $value): array
17
    {
18
        $entry = CrudPanelFacade::getCurrentEntry();
0 ignored issues
show
Bug introduced by
The method getCurrentEntry() does not exist on Backpack\CRUD\app\Librar...udPanel\CrudPanelFacade. Since you implemented __callStatic, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

18
        /** @scrutinizer ignore-call */ 
19
        $entry = CrudPanelFacade::getCurrentEntry();
Loading history...
19
20
        if (! array_key_exists($attribute, $this->data) && $entry) {
21
            if (str_contains($attribute, '.') && get_class($entry) === get_class(CrudPanelFacade::getModel())) {
0 ignored issues
show
Bug introduced by
The method getModel() does not exist on Backpack\CRUD\app\Librar...udPanel\CrudPanelFacade. Since you implemented __callStatic, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

21
            if (str_contains($attribute, '.') && get_class($entry) === get_class(CrudPanelFacade::/** @scrutinizer ignore-call */ getModel())) {
Loading history...
22
                $previousValue = Arr::get($this->data, '_order_'.Str::before($attribute, '.'));
23
                $previousValue = Arr::get($previousValue, Str::after($attribute, '.'));
24
            } else {
25
                $previousValue = Arr::get($entry, $attribute);
26
            }
27
28
            if ($previousValue && empty($value)) {
29
                return [];
30
            }
31
            Arr::set($this->data, $attribute, $previousValue ?? $value);
32
        }
33
34
        $fieldErrors = $this->validateFieldRules($attribute, $value);
35
36
        if (! empty($value) && ! empty($this->getFileRules())) {
37
            $fileErrors = $this->validateFileRules($attribute, $value);
38
        }
39
40
        return array_merge($fieldErrors, $fileErrors ?? []);
41
    }
42
43
    public static function field(string|array|ValidationRule|Rule $rules = []): self
44
    {
45
        return parent::field($rules);
0 ignored issues
show
Bug Best Practice introduced by
The expression return parent::field($rules) returns the type Backpack\CRUD\app\Librar...ules\BackpackCustomRule which includes types incompatible with the type-hinted return Backpack\CRUD\app\Librar...ation\Rules\ValidUpload.
Loading history...
46
    }
47
}
48