123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- namespace Encore\Admin;
- use Illuminate\Support\Facades\Blade;
- use Illuminate\Support\ServiceProvider;
- class AdminServiceProvider extends ServiceProvider
- {
- /**
- * @var array
- */
- protected $commands = [
- Console\AdminCommand::class,
- Console\MakeCommand::class,
- Console\MenuCommand::class,
- Console\InstallCommand::class,
- Console\PublishCommand::class,
- Console\UninstallCommand::class,
- Console\ImportCommand::class,
- Console\CreateUserCommand::class,
- Console\ResetPasswordCommand::class,
- Console\ExtendCommand::class,
- Console\ExportSeedCommand::class,
- ];
- /**
- * The application's route middleware.
- *
- * @var array
- */
- protected $routeMiddleware = [
- 'admin.session' => Middleware\Session::class,
- 'admin.auth' => Middleware\Authenticate::class,
- 'admin.pjax' => Middleware\Pjax::class,
- 'admin.log' => Middleware\LogOperation::class,
- 'admin.permission' => Middleware\Permission::class,
- 'admin.bootstrap' => Middleware\Bootstrap::class,
- ];
- /**
- * The application's route middleware groups.
- *
- * @var array
- */
- protected $middlewareGroups = [
- 'admin' => [
- 'admin.session',
- 'admin.auth',
- 'admin.pjax',
- 'admin.log',
- 'admin.bootstrap',
- 'admin.permission',
- ],
- ];
- /**
- * Boot the service provider.
- *
- * @return void
- */
- public function boot()
- {
- $this->loadViewsFrom(__DIR__.'/../resources/views', 'admin');
- if (config('admin.https') || config('admin.secure')) {
- \URL::forceScheme('https');
- $this->app['request']->server->set('HTTPS', true);
- }
- if (file_exists($routes = admin_path('routes.php'))) {
- $this->loadRoutesFrom($routes);
- }
- if ($this->app->runningInConsole()) {
- $this->publishes([__DIR__.'/../config' => config_path()], 'laravel-admin-config');
- $this->publishes([__DIR__.'/../resources/lang' => resource_path('lang')], 'laravel-admin-lang');
- // $this->publishes([__DIR__.'/../resources/views' => resource_path('views/vendor/admin')], 'laravel-admin-views');
- $this->publishes([__DIR__.'/../database/migrations' => database_path('migrations')], 'laravel-admin-migrations');
- $this->publishes([__DIR__.'/../resources/assets' => public_path('vendor/laravel-admin')], 'laravel-admin-assets');
- }
- //remove default feature of double encoding enable in laravel 5.6 or later.
- $bladeReflectionClass = new \ReflectionClass('\Illuminate\View\Compilers\BladeCompiler');
- if ($bladeReflectionClass->hasMethod('withoutDoubleEncoding')) {
- Blade::withoutDoubleEncoding();
- }
- }
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $this->loadAdminAuthConfig();
- $this->registerRouteMiddleware();
- $this->commands($this->commands);
- }
- /**
- * Setup auth configuration.
- *
- * @return void
- */
- protected function loadAdminAuthConfig()
- {
- config(array_dot(config('admin.auth', []), 'auth.'));
- }
- /**
- * Register the route middleware.
- *
- * @return void
- */
- protected function registerRouteMiddleware()
- {
- // register route middleware.
- foreach ($this->routeMiddleware as $key => $middleware) {
- app('router')->aliasMiddleware($key, $middleware);
- }
- // register middleware group.
- foreach ($this->middlewareGroups as $key => $middleware) {
- app('router')->middlewareGroup($key, $middleware);
- }
- }
- }
|