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"); }