Пример #1
0
 public function connect(Request $request)
 {
     $this->validate($request, ['code' => 'required|digits:5|exists:testroom,code', 'name' => 'required', 'lastname' => 'required']);
     $code = $request->get('code');
     $name = $request->get('name');
     $lastname = $request->get('lastname');
     $students = TestRoomStudents::where('code', '=', $code);
     Session::put('name', $name);
     Session::put('lastname', $lastname);
     $testroom = TestRoom::where('code', '=', $code)->get()[0];
     if ($students->count() >= 1) {
         if ($students->where('name', '=', $name)->where('lastname', '=', $lastname)->count() != 0) {
             if ($testroom->status == 2) {
                 return redirect()->route('testroom.start', ['code' => $code]);
             } elseif ($testroom->status == 1) {
                 return view('testroom.connected', ['code' => $code]);
             }
         } else {
             $number = TestRoomStudents::where('code', '=', $code)->orderBy('id', 'desc')->first()->number + 1;
         }
     } else {
         $number = 1;
     }
     $newStudent = new TestRoomStudents();
     $newStudent->name = $name;
     $newStudent->lastname = $lastname;
     $newStudent->code = $code;
     $newStudent->number = $number;
     $newStudent->save();
     $pusher = App::make('pusher');
     $pusher->trigger('TestRoomChanel', 'StudentConnected', array('code' => $code, 'name' => $name, 'lastname' => $lastname, 'number' => $number));
     if ($testroom->status == 2) {
         return redirect()->route('testroom.start', ['code' => $code]);
     } elseif ($testroom->status == 1) {
         return view('testroom.connected', ['code' => $code]);
     }
 }