Beispiel #1
0
 /**
  * Displays the user administration
  */
 public function download($id)
 {
     $request = \App\Models\SharedFile::find($id);
     $now = \Carbon\Carbon::now();
     $expires = $request->request->expires_at;
     if ($now->timestamp < $expires->timestamp) {
         $file = $request->file;
         $path = $file->path;
         $rackRepo = new \App\Repositories\Rackspace();
         $container = $rackRepo->getRackspaceContainer();
         $distantFile = $container->getObject($path);
         $url = $distantFile->getTemporaryUrl(60, 'GET');
         return \Redirect::away($url);
     } else {
         return view('share.expired');
     }
 }
Beispiel #2
0
 /**
  * Create a file sharing request
  */
 public function create($input)
 {
     $user = \Auth::user();
     $input['user_id'] = $user->id;
     $now = \Carbon\Carbon::now();
     $input['expires_at'] = $now->addDays($input['expires_at'])->toDateTimeString();
     $request = \App\Models\SharedFileRequest::create($input);
     if ($request) {
         foreach ($input['files'] as $file) {
             $fileShare = \App\Models\SharedFile::create(['request_id' => $request->id, 'file_id' => $file['id'], 'user_id' => $user->id]);
             $file = FSFile::find($file['id']);
             $file->resolvable_type = 'FileShare';
             $file->resolvable_id = $fileShare->id;
             $file->save();
         }
         foreach ($input['recipients'] as $recipient) {
             $d = \App\Models\SharedFileRecipient::create(['request_id' => $request->id, 'email' => $recipient]);
         }
         \Event::fire(new \App\Events\FileShared($request));
     }
     return $request;
 }