コード例 #1
0
 function editTeam($id_game, $id_entry, $old_players, $email, Request $req)
 {
     $entry = $req->all();
     $entry['id'] = $id_entry;
     $game = Game::get($id_game);
     $vld_approv = ['name' => 'required', 'password' => 'required', 'campus' => 'required|in:Cergy,Pau,Mixte', 'real_name.0' => 'required', 'p_name.0' => 'required', 'p_campus.0' => 'required|in:Cergy,Pau,Mixte', 'id' => 'required|numeric'];
     for ($i = 1; $i < $game->num_players; $i++) {
         $vld_approv['real_name.' . $i] = 'required_with:p_name.' . $i;
         $vld_approv['p_name.' . $i] = 'required_with:real_name.' . $i;
     }
     $vld = Validator::make($entry, $vld_approv);
     if ($vld->fails()) {
         if ($req->is('light/*')) {
             return redirect()->back()->with('errors', $vld->messages()->all())->with('entry', $entry);
         }
         return response()->json($vld->messages()->all(), 400);
     }
     $team = $req->only('name', 'password', 'campus');
     $team['id'] = $id_entry;
     $team['real_name'] = '';
     if (Entry::update($team) == 0) {
         if ($req->is('light/*')) {
             return redirect()->back()->with('errors', ["Mot de passe non valide."])->with('entry', $entry);
         }
         return response()->json(["Mot de passe non valide."], 400);
     }
     $i = 0;
     while ($req->input('p_name.' . $i) || !empty($old_players[$i])) {
         if (empty($req->input('p_name.' . $i))) {
             Entry::delete($old_players[$i]->rowid, $req->input('password'));
         } else {
             if (!empty($old_players[$i])) {
                 Entry::update(['id' => $old_players[$i]->rowid, 'real_name' => $req->input('real_name.' . $i), 'name' => $req->input('p_name.' . $i), 'campus' => $req->input('p_campus.' . $i) || $players[0]['p_campus'], 'password' => $req->input('password')]);
             } else {
                 Entry::create(['real_name' => $req->input('real_name.' . $i), 'name' => $req->input('p_name.' . $i), 'campus' => $req->input('p_campus.' . $i) || $players[0]['p_campus'], 'id_team' => $id_entry, 'password' => Hash::make($req->input('password')), 'time' => time(), 'email' => $email, 'id_game' => $id_game]);
             }
         }
         $i++;
     }
     if ($req->is('light/*')) {
         return redirect('light/' . $id_game);
     }
     return response()->json("success");
 }