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 |
} |