]> BookStack Code Mirror - bookstack/blob - app/Providers/ValidationRuleServiceProvider.php
Increased attachment link limit from 192 to 2k
[bookstack] / app / Providers / ValidationRuleServiceProvider.php
1 <?php
2
3 namespace BookStack\Providers;
4
5 use BookStack\Uploads\ImageService;
6 use Illuminate\Support\Facades\Validator;
7 use Illuminate\Support\ServiceProvider;
8
9 class ValidationRuleServiceProvider extends ServiceProvider
10 {
11     /**
12      * Register our custom validation rules when the application boots.
13      */
14     public function boot(): void
15     {
16         Validator::extend('image_extension', function ($attribute, $value, $parameters, $validator) {
17             $extension = strtolower($value->getClientOriginalExtension());
18
19             return ImageService::isExtensionSupported($extension);
20         });
21
22         Validator::extend('safe_url', function ($attribute, $value, $parameters, $validator) {
23             $cleanLinkName = strtolower(trim($value));
24             $isJs = str_starts_with($cleanLinkName, 'javascript:');
25             $isData = str_starts_with($cleanLinkName, 'data:');
26
27             return !$isJs && !$isData;
28         });
29     }
30 }