Filippo Bertilotti
2024-09-19 072cbba7a5c6aeb9dab04904b6d27312aa7fe6ac
commit | author | age
24347e 1 <?php
D 2
3 namespace App\Rules;
4
5 use Illuminate\Contracts\Validation\Rule;
6
7 class KeysiteCheck implements Rule
8 {
9
ebf6bb 10     public string $referer;
D 11     public bool $picasso;
24347e 12
D 13     /**
14      * Create a new rule instance.
15      *
16      * @return void
17      */
ebf6bb 18     public function __construct($referer, $picasso = true)
24347e 19     {
D 20         $this->referer = $referer;
ebf6bb 21         $this->picasso = $picasso;
24347e 22     }
D 23
24     /**
25      * Determine if the validation rule passes.
26      *
27      * @param  string  $attribute
28      * @param  mixed  $value
29      * @return bool
30      */
31     public function passes($attribute, $value)
32     {
33         if (config('custom.enforce_parameters',false)) {
ebf6bb 34             $refererList = ($this->picasso) ? config('custom.picasso_referer-keysite_match', []) : config('custom.legacy_sso_referer-keysite_match', []);
24347e 35             if (isset($refererList[$this->referer])) {
D 36                 return ($refererList[$this->referer] === $value);
37             }
38             return false;
39         }
40         return true;
41     }
42
43     /**
44      * Get the validation error message.
45      *
46      * @return string
47      */
48     public function message()
49     {
ebf6bb 50         return 'Il keysite fornito non corrisponde con il referer. Keysite fornito ' . isset($this->referer) ? $this->referer : 'null';
24347e 51     }
D 52
53 }