public function getConfig()
 {
     if (!Request::ajax()) {
         return Redirect::to('/');
     }
     $view = ['capacity' => AppFile::getAccountSpaceInfo()];
     return view('ajax/config', $view);
 }
 public static function upload($id, $file)
 {
     $filename_exp = explode('.', $file->getClientOriginalName());
     $extention = array_pop($filename_exp);
     $fileSize = $file->getClientSize();
     $usedSpace = AppFile::getAccountSpaceInfo();
     $freeSpace = Config::get('constants.CAPACITY') - $usedSpace[0]->used_space;
     if ($fileSize > $freeSpace) {
         return false;
     }
     do {
         $fileName = Str::random(20) . '.' . $extention;
         $is_filename = DB::select('SELECT count(file_name) as is_filename FROM files WHERE file_name = "' . $fileName . '"');
     } while ($is_filename[0]->is_filename > 1);
     $root = Folder::getRootId();
     $path = public_path() . '/users_files/';
     $path .= $root == $id ? $root : $root . '/' . $id;
     $mimetypes = new \GuzzleHttp\Mimetypes();
     if ($file->move($path, $fileName)) {
         DB::table('files')->insert(['name' => $file->getClientOriginalName(), 'file_name' => $fileName, 'folder_id' => $id, 'user_id' => Auth::id(), 'mime' => $mimetypes->fromExtension($extention), 'size' => $fileSize]);
     }
     return true;
 }