public function addGallery(Request $request, Skill $skill) { // if(!$request->hasFile('sample_file')) return response('No file was sent',404); $validator = Validator::make($request->all(), ['sample_file' => 'required | image']); if ($validator->fails()) { return ['hasCallback' => 0, 'callback' => '', 'hasMsg' => 1, 'msg' => trans('profile.invalidGallery'), 'msgType' => 'danger', 'returns' => '']; } $file = $request->file('sample_file'); $input = $request->except('sample_file'); $user = Auth::user(); $imageName = $user->id . str_random(20) . '.' . $file->getClientOriginalExtension(); $file->move(public_path() . '/img/files/' . $user->id . '/', $imageName); $real_name = $file->getClientOriginalName(); $size = $file->getClientSize() / (1024 * 1024); //calculate the file size in MB $gallery = $skill->galleries()->create($input); $user->usage->add(filesize(public_path() . '/img/files/' . $user->id . '/' . $imageName) / (1024 * 1024)); // storage add Gallery::where('id', $gallery->id)->first()->files()->create(['user_id' => $user->id, 'real_name' => $real_name, 'name' => $user->id . '/' . $imageName, 'size' => $size]); $input['file'] = $imageName; return ['hasCallback' => '1', 'callback' => 'skill_galleries', 'hasMsg' => 0, 'msg' => '', 'returns' => $skill->galleries()->with('files')->get()]; }