/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $items = (array) json_decode($request->input('items'));
     $connections_name = json_decode($request->input('connections_name'));
     $names = json_decode($request->input('names'));
     $sizes = json_decode($request->input('sizes'));
     $dates = json_decode($request->input('dates'));
     $path_names = json_decode($request->input('path_name'));
     $tmp_url = substr(base64_encode(sha1(mt_rand())), 0, 16);
     $link = new Link();
     $link->link_name = $request->input('lkname');
     $link->user_id = Auth::user()->id;
     $link->url = $tmp_url;
     $link->save();
     $lid = $link->id;
     $random = User::find(Auth::user()->id)->token->first()->id;
     $root = File::create(['name' => 'root', 'path' => $request->input("lkname"), 'link_id' => $lid, 'token_id' => $random]);
     foreach ($items as $index => $item) {
         $tokenName = $connections_name[$index];
         $name = $names[$index];
         $path = $item;
         $size = $sizes[$index];
         $date = $dates[$index];
         $provObj = new Provider($tokenName);
         $share_link = $provObj->getLink($path);
         //            $before_dir = str_replace('/'.basename($path), "", $path);
         $root->children()->create(['name' => $name, 'path' => $path_names[$index], 'bytes' => 0, 'size' => $size, 'mime_type' => "", 'is_dir' => $size == "" ? true : false, 'shared' => $share_link, 'modified' => $date, 'token_id' => $provObj->getTokenId(), 'link_id' => $lid]);
     }
     return Redirect::to('/gtl/' . $request->input("lkname"));
 }
Example #2
0
 public function getLink(Request $req)
 {
     $file = $req->input('file');
     $connection_name = $req->input('connection_name');
     $proObj = new Provider($connection_name);
     $link = $proObj->getLink($file);
     return $link;
 }