/** * Show question details * * @return Response */ public function Question(Section\Section $section, Question\Question $question) { // session()->forget('exam_finishes_at_'.auth()->user()->id()); // session()->forget('exam_timer_'.auth()->user()->id()); session()->put('exam_finishes_at_' . auth()->user()->id(), session()->get('exam_finishes_at_' . auth()->user()->id(), \Carbon\Carbon::now()->timestamp + $question->getTimer())); session()->put('exam_timer_' . auth()->user()->id(), session()->get('exam_finishes_at_' . auth()->user()->id()) - \Carbon\Carbon::now()->timestamp); if (session()->get('exam_timer_' . auth()->user()->id()) <= 0) { auth()->user()->sections()->sync([$section->id => ['failed_at' => \Carbon\Carbon::now()->addHour()->format('Y-m-d H:i:s')]], false); session()->forget('exam_finishes_at_' . auth()->user()->id()); session()->forget('exam_timer_' . auth()->user()->id()); return redirect()->route('front.section.exam', $section); } return view('Front::section.question', ['question' => $question]); }
/** * Run the database seeds. * * @return void */ public function run() { \Model\Question\Question::truncate(); /* factory(\Model\Question\Question::class, 100)->create(); */ $section1 = \Model\Section\Section::where('course_id', '=', 2)->first(); $section2 = \Model\Section\Section::where('course_id', '=', 2)->where('id', '>', $section1->id())->first(); $section3 = \Model\Section\Section::where('course_id', '=', 2)->where('id', '>', $section2->id())->first(); $section4 = \Model\Section\Section::where('course_id', '=', 2)->where('id', '>', $section3->id())->first(); \Model\Question\Question::insert([['id' => 1, 'section_id' => $section1->id(), 'uid' => generate_id(), 'text' => '“Экология” терминин сунуштаган окумуштуу'], ['id' => 2, 'section_id' => $section1->id(), 'uid' => generate_id(), 'text' => '“Экосистема” терминин сунуштаган окумуштуу'], ['id' => 3, 'section_id' => $section1->id(), 'uid' => generate_id(), 'text' => 'Биосфера жана ноосфера жөнүндө окуунун негиздөөчүсү'], ['id' => 4, 'section_id' => $section1->id(), 'uid' => generate_id(), 'text' => 'Аутэкологиянын изилдөө предмети'], ['id' => 5, 'section_id' => $section1->id(), 'uid' => generate_id(), 'text' => 'Заманбап экологиянын максаты'], ['id' => 6, 'section_id' => $section2->id(), 'uid' => generate_id(), 'text' => 'Организмдин жашоо чөйрөсү деп эмнени айтабыз?'], ['id' => 7, 'section_id' => $section2->id(), 'uid' => generate_id(), 'text' => 'Эдафикалык факторлор бул:'], ['id' => 8, 'section_id' => $section2->id(), 'uid' => generate_id(), 'text' => 'Орографикалык факторлор бул:'], ['id' => 9, 'section_id' => $section2->id(), 'uid' => generate_id(), 'text' => 'Лимиттенген факторлордун түргө таасири кандай:'], ['id' => 10, 'section_id' => $section2->id(), 'uid' => generate_id(), 'text' => 'Эврибионттор кандай организмдер?'], ['id' => 11, 'section_id' => $section3->id(), 'uid' => generate_id(), 'text' => 'Биогеценоз түшүнүгүн сунуштаган окумуштуу'], ['id' => 12, 'section_id' => $section3->id(), 'uid' => generate_id(), 'text' => 'Экосистема терминин сунуштаган окумуштуу'], ['id' => 13, 'section_id' => $section3->id(), 'uid' => generate_id(), 'text' => 'Бентос бул:'], ['id' => 14, 'section_id' => $section3->id(), 'uid' => generate_id(), 'text' => 'Гетеротрофтор:'], ['id' => 15, 'section_id' => $section3->id(), 'uid' => generate_id(), 'text' => 'Сукцессия бул:'], ['id' => 16, 'section_id' => $section4->id(), 'uid' => generate_id(), 'text' => 'Биосфера бул:'], ['id' => 17, 'section_id' => $section4->id(), 'uid' => generate_id(), 'text' => 'Костук заттар:'], ['id' => 18, 'section_id' => $section4->id(), 'uid' => generate_id(), 'text' => 'Биогендик заттар:'], ['id' => 19, 'section_id' => $section4->id(), 'uid' => generate_id(), 'text' => 'Топурак бул:'], ['id' => 20, 'section_id' => $section4->id(), 'uid' => generate_id(), 'text' => 'Жандуу заттын негизги функцияларынын бири:']]); }
/** * Get next question * * @return Redirect */ public function Next(Question\Requests\SubmitAnswerRequest $request, Question\Question $question) { session()->forget('exam_finishes_at_' . auth()->user()->id()); session()->forget('exam_timer_' . auth()->user()->id()); $id = $request->input('answer'); $section = $question->section->id(); // if(count(auth()->user()->answers($section)) == 0) // { // } try { auth()->user()->answers()->attach($id, ['section_id' => $section]); } catch (\Exception $e) { // log $e->getMessage() } if ($question->hasNext()) { $next = $question->next(); } else { return redirect()->route('front.section.result', [$question->section]); } return redirect()->route('front.section.question', [$next->section, $next]); }
$factory->define(\Model\Section\Section::class, function ($faker) { $courses = \Model\Course\Course::all(); $course = random_array($courses); return ['course_id' => $course->id(), 'name' => $faker->unique()->word, 'description' => $faker->sentence(rand(3, 12)), 'published' => true]; }); $factory->define(\Model\Note\Note::class, function ($faker) { $sections = \Model\Section\Section::all(); $section = random_array($sections); $users = \Model\User\User::all(); $user = random_array($users); return ['section_id' => $section->id(), 'name' => $faker->unique()->word, 'description' => $faker->sentence(rand(3, 12)), 'published' => true]; }); $factory->define(\Model\Question\Question::class, function ($faker) { // $exams = \Model\Exam\Exam::all(); // $exam = random_array($exams); $sections = \Model\Section\Section::where('course_id', '=', 2)->get(); //course_id = 2 is ekloji course $section = random_array($sections); return ['uid' => generate_id(), 'section_id' => $section->id(), 'text' => $faker->unique()->sentence(), 'description' => $faker->unique()->paragraph(), 'timer' => random_array([30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200])]; }); $factory->define(\Model\Answer\Answer::class, function ($faker) { $questions = \Model\Question\Question::all(); $question = random_array($questions); return ['uid' => generate_id(), 'question_id' => $question->id(), 'text' => $faker->unique()->sentence(), 'description' => $faker->unique()->sentence()]; }); $factory->define(\Model\Exam\Exam::class, function ($faker) { $sections = \Model\Section\Section::where('course_id', '=', 2)->get(); //course_id = 2 is ekloji course $section = random_array($sections); return ['uid' => generate_id(), 'section_id' => $section->id(), 'text' => $faker->unique()->sentence(), 'description' => $faker->unique()->sentence()]; });
/** * Find a model by their id. * * @param $id * @return mixed */ public function findById($id) { return Question::findOrFail($id); }