public function add(Request $request)
 {
     $file = $request->file('filefield');
     $name = $request->name;
     $extension = $file->getClientOriginalExtension();
     Storage::disk('local')->put($file->getFilename() . '.' . $extension, File::get($file));
     $entry = new FileEntry();
     $entry->mime = $file->getClientMimeType();
     $entry->original_filename = $file->getClientOriginalName();
     $entry->filename = $file->getFilename() . '.' . $extension;
     $entry->name = $name;
     $entry->save();
     return redirect('/');
 }
 public function upload(Request $request, $redir = true, $email_message_id = null)
 {
     $files = $request->file('file');
     if (!empty($files)) {
         $uploaded = 0;
         $filesuploadedids = array();
         foreach ($files as $file) {
             $extension = $file->getClientOriginalExtension();
             $entry = new FileEntry();
             $entry->mime = $file->getClientMimeType();
             $entry->original_filename = $file->getClientOriginalName();
             $entry->filename = $file->getFilename() . '.' . $extension;
             $entry->owner_id = $request->user()->id;
             if ($email_message_id != null) {
                 Storage::put($request->user()->id . '/' . $email_message_id . '/' . $file->getClientOriginalName(), File::get($file));
                 $entry->email_message_id = $email_message_id;
             } else {
                 Storage::put($request->user()->id . '/' . $file->getClientOriginalName(), File::get($file));
             }
             $entry->save();
             $filesuploadedids[] = $entry->id;
             $uploaded++;
         }
         if (count($files) - $uploaded != 0) {
             $erroruploadmsg = count($files) - $uploaded . ' arquivos não enviados!';
         } else {
             $erroruploadmsg = '';
         }
         $sys_notifications[] = array('type' => 'success', 'message' => $uploaded . ' arquivos enviados com sucesso! ' . $erroruploadmsg);
         $request->session()->flash('sys_notifications', $sys_notifications);
     }
     if ($redir == true) {
         return back()->withInput($request->all());
     } else {
         return array('uploaded' => $uploaded, 'error' => count($files) - $uploaded, 'ids' => $filesuploadedids);
     }
 }