예제 #1
0
 public function get_token(Request $request)
 {
     if ($request->ajax()) {
         $id = $request->input('idmengawasi');
         $djadwal = djadwal::find($id);
         $djadwal->token = str_random(6);
         $djadwal->jam_mulai = date('H:i:s');
         $djadwal->save();
         return $djadwal->token;
     }
 }
예제 #2
0
 public function ujian_berlangsung(Request $request)
 {
     $rules = ['token' => 'required'];
     $pesan = ['token.required' => 'Token harus diisi'];
     $validasi = Validator::make($request->all(), $rules, $pesan);
     if ($validasi->fails()) {
         return Redirect::back()->withInput()->withErrors($validasi);
     } else {
         //cek apakah token yang dimasukkan sama dengan jadwal ini atau tidak
         $djadwal = djadwal::find($request->input('detailjadwal'));
         if ($request->input('token') == $djadwal->token) {
             //setelah token sesuai, maka cek apakah user ini sudah pernah membuka halaman ini atau belum
             //seharusnya ketika sudah pernah membuka halaman ini maka user ini sudah mendapatkan soal
             //secara random, jika belum maka random soal untuk user ini.
             $idjadwal = $request->input('idjadwal');
             $detail_jadwal = $request->input('detailjadwal');
             Session::put('jadwal', $idjadwal);
             Session::put('detailjadwal', $detail_jadwal);
             $soal = DB::table('soal_siswa')->where('id_jadwal', $idjadwal)->where('id_detail_jadwal', $detail_jadwal)->where('nis', $this->getNis());
             if ($soal->count() > 0) {
                 return Redirect::to('siswa/ujian-berlangsung/' . $idjadwal . '/' . $detail_jadwal);
             } else {
                 //cari data jadwal
                 $jadwal = Jadwal::find($idjadwal);
                 //cari soal yang mata pelajaran dan jurusannya sama dengan jadwal
                 $carisoal = Soal::where('kd_mapel', $jadwal->kd_mapel)->where('kode_jurusan', $jadwal->kode_jurusan);
                 if ($carisoal->count() > 0) {
                     $hasilsoal = $carisoal->first();
                     $detailsoal = DB::table('detail_soal')->where('id_soal', $hasilsoal->id)->orderBy(DB::raw('RAND()'))->get();
                     $no = 0;
                     foreach ($detailsoal as $row) {
                         $no++;
                         $data = array('id' => Uuid::uuid4()->getHex(), 'nis' => $this->getNis(), 'id_jadwal' => $idjadwal, 'id_detail_jadwal' => $detail_jadwal, 'id_soal' => $row->id_soal, 'id_detail_soal' => $row->id, 'soal_ke' => $no, 'status' => 0);
                         DB::table('soal_siswa')->insert($data);
                     }
                     return Redirect::to('siswa/ujian-berlangsung/' . $idjadwal . '/' . $detail_jadwal);
                 }
             }
         } else {
             Session::flash('pesan', "Token Tidak sesuai");
             return Redirect::back();
         }
     }
 }