]> BookStack Code Mirror - bookstack/blob - app/Providers/AppServiceProvider.php
Added ability to configure email sender name
[bookstack] / app / Providers / AppServiceProvider.php
1 <?php namespace BookStack\Providers;
2
3 use BookStack\Services\SettingService;
4 use BookStack\Setting;
5 use Illuminate\Support\ServiceProvider;
6 use Validator;
7
8 class AppServiceProvider extends ServiceProvider
9 {
10     /**
11      * Bootstrap any application services.
12      *
13      * @return void
14      */
15     public function boot()
16     {
17         // Custom validation methods
18         Validator::extend('is_image', function ($attribute, $value, $parameters, $validator) {
19             $imageMimes = ['image/png', 'image/bmp', 'image/gif', 'image/jpeg', 'image/jpg', 'image/tiff', 'image/webp'];
20             return in_array($value->getMimeType(), $imageMimes);
21         });
22
23         \Blade::directive('icon', function ($expression) {
24             return "<?php echo icon($expression); ?>";
25         });
26
27         // Allow longer string lengths after upgrade to utf8mb4
28         \Schema::defaultStringLength(191);
29     }
30
31     /**
32      * Register any application services.
33      *
34      * @return void
35      */
36     public function register()
37     {
38         $this->app->singleton(SettingService::class, function ($app) {
39             return new SettingService($app->make(Setting::class), $app->make('Illuminate\Contracts\Cache\Repository'));
40         });
41     }
42 }