| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- namespace Intervention\Image;
- use Illuminate\Support\ServiceProvider;
- class ImageServiceProviderLaravelRecent extends ServiceProvider
- {
- /**
- * Determines if Intervention Imagecache is installed
- *
- * @return boolean
- */
- private function cacheIsInstalled()
- {
- return class_exists('Intervention\\Image\\ImageCache');
- }
- /**
- * Bootstrap the application events.
- *
- * @return void
- */
- public function boot()
- {
- $this->publishes([
- __DIR__.'/../../config/config.php' => config_path('image.php')
- ]);
- // setup intervention/imagecache if package is installed
- $this->cacheIsInstalled() ? $this->bootstrapImageCache() : null;
- }
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $app = $this->app;
- // merge default config
- $this->mergeConfigFrom(
- __DIR__.'/../../config/config.php',
- 'image'
- );
- // create image
- $app->singleton('image', function ($app) {
- return new ImageManager($this->getImageConfig($app));
- });
- $app->alias('image', 'Intervention\Image\ImageManager');
- }
- /**
- * Bootstrap imagecache
- *
- * @return void
- */
- protected function bootstrapImageCache()
- {
- $app = $this->app;
- $config = __DIR__.'/../../../../imagecache/src/config/config.php';
- $this->publishes([
- $config => config_path('imagecache.php')
- ]);
- // merge default config
- $this->mergeConfigFrom(
- $config,
- 'imagecache'
- );
- // imagecache route
- if (is_string(config('imagecache.route'))) {
- $filename_pattern = '[ \w\\.\\/\\-\\@\(\)]+';
- // route to access template applied image file
- $app['router']->get(config('imagecache.route').'/{template}/{filename}', [
- 'uses' => 'Intervention\Image\ImageCacheController@getResponse',
- 'as' => 'imagecache'
- ])->where(['filename' => $filename_pattern]);
- }
- }
- /**
- * Return image configuration as array
- *
- * @param Application $app
- * @return array
- */
- private function getImageConfig($app)
- {
- $config = $app['config']->get('image');
- if (is_null($config)) {
- return [];
- }
- return $config;
- }
- }
|