Example #1
0
 /**
  * @param ImageUploadRequest $request
  * @return \Illuminate\Http\Response|JsonResponse
  */
 public function upload(ImageUploadRequest $request, \Flow\File $file, \Flow\Request $flowRequest)
 {
     // We switch to flow.js
     if ($request->getMethod() === 'GET') {
         if (!$file->checkChunk()) {
             return \Response::make('', 204);
         }
     } else {
         if ($file->validateChunk()) {
             $file->saveChunk();
         } else {
             return \Response::make('', 400);
         }
     }
     $filename = FileHelper::generateUniqueName($flowRequest->getFileName());
     $destination = FileHelper::getTempDirectory() . DIRECTORY_SEPARATOR . $filename;
     if ($file->validateFile() && $file->save($destination)) {
         $tempFile = Temp::createFromFile($destination, $flowRequest->getFileName());
         return new JsonResponse(['id' => $tempFile->getKey()]);
     }
 }
Example #2
0
 /**
  * @param $filename
  * @return string
  */
 protected function sanitizeFilename($filename)
 {
     return FileHelper::sanitizeFilename($filename);
 }
Example #3
0
 /**
  * @return mixed
  */
 public static function getTempDirectory()
 {
     return FileHelper::getTempDirectory();
 }
Example #4
0
 /**
  * Register the application services.
  */
 public function register()
 {
     /*
      * Register the service provider for the dependency.
      */
     $this->app->register('Conner\\Tagging\\Providers\\TaggingServiceProvider');
     $this->app->register('Collective\\Html\\HtmlServiceProvider');
     $this->app->register('Intervention\\Image\\ImageServiceProvider');
     $this->app->register(\Cviebrock\EloquentSluggable\ServiceProvider::class);
     $this->app->register('Roumen\\Sitemap\\SitemapServiceProvider');
     $this->app->register('Rutorika\\Sortable\\SortableServiceProvider');
     $this->app->register('Jenssegers\\Agent\\AgentServiceProvider');
     $this->app->register('Spatie\\Permission\\PermissionServiceProvider');
     $this->app->register('Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider');
     /*
      * Create aliases for the dependency.
      */
     $loader = AliasLoader::getInstance();
     $loader->alias('Form', 'Collective\\Html\\FormFacade');
     $loader->alias('Html', 'Collective\\Html\\HtmlFacade');
     $loader->alias('Image', 'Intervention\\Image\\Facades\\Image');
     $loader->alias('Agent', 'Jenssegers\\Agent\\Facades\\Agent');
     /*
      * Assets manager
      */
     $this->app->singleton(AssetsContract::class, AssetManager::class);
     /*
      * Manually register Mailchimp
      */
     $this->app->singleton('Mailchimp', function ($app) {
         $config = $app['config']['mailchimp'];
         return new Mailchimp($config['apikey']);
     });
     /*
      * Swap Permission model implementation
      */
     $this->app->bind(Permission::class, \Despark\Cms\Models\Permission::class);
     $this->app->bind(Role::class, \Despark\Cms\Models\Role::class);
     /*
      * Image contract implementation
      */
     $this->app->bind(ImageContract::class, function ($app, $attributes = []) {
         return new Image($attributes);
     });
     /*
      * Flowjs
      */
     $this->app->bind(\Flow\File::class, function () {
         $config = new \Flow\Config(['tempDir' => FileHelper::getTempDirectory()]);
         return new \Flow\File($config);
     });
     /*
      * Switch View implementation
      */
     $this->app->bind(ViewContract::class, View::class);
     $this->registerFactory();
 }