Exemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //        $file = $request->file('file');
     // ============== Redundancy Check! ==========================
     if ($request->hasFile('file') && $request->file('file')->isvalid()) {
         // .. 1. Search the same FileName, size, mime_type
         // .. 2. Search in $result for similar Size and File Type
         $tk = User::find(Auth::user()->id)->tokens;
         $result = collect();
         foreach ($tk as $t) {
             $files = $t->files;
             $search = $files->where('name', $_FILES['file']['name'])->where('bytes', $_FILES['file']['size'])->where('mime_type', $_FILES['file']['type']);
             $result = $result->merge($search);
         }
         if ($result->count() == 0) {
             // ============== Priorities Upload! ==========================
             $priority = array();
             $space = array();
             foreach ($tk as $t) {
                 $prov = new Provider($t->connection_name);
                 $space += [$t->connection_name => $prov->getStorage()['remain']];
             }
             dd($space);
             // ============================================================
         } else {
             return $result;
         }
         // ============================================================
     }
     return "Error";
 }
Exemplo n.º 2
0
 public function selectIn()
 {
     if (Auth::check()) {
         $id = $_GET['connection_name'];
         $any = $_GET['path'];
         $cname = 'all';
         $proObj = new Provider($id);
         $data = $proObj->getFiles($any);
         // dummy check
         $dummy_tk = Token::where('connection_name', $id)->where('user_id', Auth::user()->id)->firstOrFail();
         $dummy_files = DummyFile::where('dummy_store', $dummy_tk->id)->where('dummy_path', $any)->get();
         if (!empty($dummy_files)) {
             foreach ($dummy_files as $d) {
                 $real_tk = Token::where('id', $d->real_store)->where('user_id', Auth::user()->id)->firstOrFail();
                 $realProObj = new Provider($real_tk->connection_name);
                 $temp = $realProObj->getFiles($d->path);
                 $data = array_merge($data, $temp);
             }
         }
         if (!empty($data)) {
             foreach ($data as $key => $row) {
                 $is_dir[$key] = $row['is_dir'];
                 $name[$key] = $row['name'];
             }
             array_multisort($is_dir, SORT_DESC, $name, SORT_ASC, $data);
         }
         $parent = $this->getNavbar($cname, $proObj->getPathName($any), $any);
         return view('pages.gtl.components.gtl-board', ['data' => $data, "cname" => $cname, 'parent' => $parent, 'in' => $id]);
     } else {
         return Redirect::to('/');
     }
 }
Exemplo n.º 3
0
 public function rename()
 {
     // Provider(" waiting edit with ALL")
     $proObj = new Provider($_POST['connection_name']);
     $proObj->rename($_POST['file'], $_POST['new_name']);
     return "test--";
 }
Exemplo n.º 4
0
 public function search($id)
 {
     if ($id == 'all') {
         $token = User::find(Auth::user()->id)->token;
         $data = array();
         foreach ($token as $tk) {
             $proObj = new Provider($tk->connection_name);
             $temp = $proObj->SearchFile($_GET['keyword']);
             $data = array_merge($data, $temp);
         }
     } else {
         $proObj = new Provider($id);
         $data = $proObj->SearchFile($_GET['keyword']);
     }
     if (!empty($data)) {
         foreach ($data as $key => $row) {
             $is_dir[$key] = $row['is_dir'];
             $name[$key] = $row['name'];
         }
         array_multisort($is_dir, SORT_DESC, $name, SORT_ASC, $data);
     }
     $parent = $this->getNavbar("Results of '" . $_GET['keyword'] . "'", "", "");
     return view('pages.cloud.index', ['data' => $data, "cname" => $id, 'parent' => $parent, 'in' => $id]);
 }