public function postUpload(Request $request) { $this->validate($request, ['image1' => 'required|image', 'image2' => 'image', 'image3' => 'image', 'image4' => 'image']); $media_files = [$request->file('image1')]; if ($request->hasFile('image2') && $request->file('image2')->isValid()) { $media_files[] = $request->file('image2'); } if ($request->hasFile('image3') && $request->file('image3')->isValid()) { $media_files[] = $request->file('image3'); } if ($request->hasFile('image4') && $request->file('image4')->isValid()) { $media_files[] = $request->file('image4'); } $media_ids = []; foreach ($media_files as $file) { $result = $this->api->media_upload(['media' => $file]); $error = $this->citcuit->parseError($result); if ($error) { return view('error', $error); } $media_ids[] = $result->media_id_string; } if ($request->has('fb')) { $fb = new FacebookController(); $fb->loadToken(); $fb->postImage($request->input('tweet'), $media_files); } $media_ids = implode(',', $media_ids); $param = ['status' => $request->input('tweet'), 'media_ids' => $media_ids]; $result = $this->api->statuses_update($param); $error = $this->citcuit->parseError($result); if ($error) { return view('error', $error); } return redirect('/'); }