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)
 {
     //
     if ($request->hasFile('sports_file')) {
         // 上传文件
         $xml = $request->file('sports_file');
         if ($xml->getClientOriginalExtension() != 'xml') {
             return 'File extension is not xml!';
         }
         $new_name = 'xml_' . date('Y-m-d H:m:s') . Auth::user()->id . '.xml';
         $xml->move(base_path() . '/public/file/sports/', $new_name);
         $obj = simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/file/sports/' . $new_name);
         for ($i = 0; $i < count($obj->xpath('sportsentry')); ++$i) {
             $e = $obj->xpath('sportsentry')[$i];
             $entry = new sportsentry();
             $entry->user_id = Auth::user()->id;
             $entry->type = $e->xpath('type')[0];
             $entry->value = $e->xpath('value')[0];
             $entry->last_time = $e->xpath('last_time')[0];
             $entry->calories = $e->xpath('calories')[0];
             $entry->start_time = $e->xpath('start_time')[0];
             $entry->save();
         }
     } else {
         // 手动输入
         $entry = new sportsentry();
         $entry->user_id = Auth::user()->id;
         $entry->type = sportsentry::TYPE_RUN;
         $entry->value = $request->input('dis');
         $entry->last_time = $request->input('l_h') * 3600 + $request->input('l_m') * 60 + $request->input('l_s');
         $entry->calories = $request->input('cal');
         $entry->start_time = $request->input('date') . ' ' . $request->input('s_h') . ':' . $request->input('s_m') . ':' . $request->input('s_s');
         $entry->save();
     }
     //        return Redirect::back();
     return Redirect::to('/player/sports/data');
 }