public function add(Request $request)
 {
     //$this->middleware('auth');
     $this->validate($request, ['title' => 'required|max:200', 'keywords' => 'max:200']);
     // die(print_r($request->input('authors_firstname'),true));
     $authors_name = "";
     $i = 0;
     foreach ($request->input('authors_firstname') as $firstname) {
         $authors_name = $authors_name . $firstname . " " . $request->input('authors_lastname')[$i] . ",";
         $i++;
     }
     $request->merge(array('authors' => $authors_name));
     $request->merge(array('authors_firstname' => implode(',', $request->input('authors_firstname'))));
     $request->merge(array('authors_lastname' => implode(',', $request->input('authors_lastname'))));
     if ($request->hasFile('fulltext_file')) {
         $fulltext_file = $request->file('fulltext_file');
         $fulltext_filename = md5(microtime()) . "." . $fulltext_file->getClientOriginalExtension();
         // $request->merge(array('full_text_file' =>$fulltext_filename));
     }
     if ($request->hasFile('abstract_file')) {
         $abstract_file = $request->file('abstract_file');
         $abstract_filename = md5(microtime()) . "." . $abstract_file->getClientOriginalExtension();
         // $request->merge(array('full_text_file' =>$fulltext_filename));
     }
     if ($request->hasFile('article_file')) {
         $article_file = $request->file('article_file');
         $article_filename = md5(microtime()) . "." . $article_file->getClientOriginalExtension();
         // $request->merge(array('article_file' =>$article_filename));
     }
     if ($request->hasFile('cover_file')) {
         $cover_file = $request->file('cover_file');
         $cover_filename = md5(microtime()) . "." . $cover_file->getClientOriginalExtension();
         // $request->merge(array('cover_file' =>$cover_filename));
     }
     $request->merge(array('creator' => Auth::user()->id));
     if (count($request->input('article_level')) > 0) {
         $request->merge(array('article_level' => implode(',', $request->input('article_level'))));
     }
     if ($request->input('research_id', null)) {
         $research = Research::find($request->input('research_id', null));
         $research->update(array_merge($request->all()));
     } else {
         $research = Research::create(array_merge($request->all()));
     }
     $research_id = $research->id;
     $destinationPath = 'uploads/' . $research_id . '/';
     if ($request->hasFile('fulltext_file')) {
         $fulltext_file->move($destinationPath, $fulltext_filename);
         $research->full_text_file = $fulltext_filename;
         $research->save();
     }
     if ($request->hasFile('abstract_file')) {
         $abstract_file->move($destinationPath, $abstract_filename);
         $research->abstract_file = $abstract_filename;
         $research->save();
     }
     if ($request->hasFile('article_file')) {
         $article_file->move($destinationPath, $article_filename);
         $research->article_file = $article_filename;
         $research->save();
     }
     if ($request->hasFile('cover_file')) {
         $cover_file->move($destinationPath, $cover_filename);
         $research->cover_file = $cover_filename;
         $research->save();
     }
     if ($research) {
         $fields = Researchfield::all();
         if ($request->input('research_id')) {
             return view('researchcenter.new_research', ['fields' => $fields, 'alert_type' => 'success', 'msg' => 'Successfully update research data.']);
         } else {
             return view('researchcenter.new_research', ['fields' => $fields, 'alert_type' => 'success', 'msg' => 'Successfully insert new research.']);
         }
     }
 }