Files
vedant-chavan/app/Http/Controllers/Admin/ManageQuizController.php

109 lines
3.8 KiB
PHP
Raw Normal View History

2024-06-12 20:29:05 +05:30
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\ManageQuizQuestion;
use App\Models\QuizQuestionsAnswer;
class ManageQuizController extends Controller
{
public function create(){
$data['quiz'] = ManageQuizQuestion::with('answer')->get()->toArray();
// dd($data['quiz']);
return view('Admin.Pages.manage_cms.manage_quiz.manage_quiz',$data);
}
public function add_quiz(){
return view('Admin.Pages.manage_cms.manage_quiz.add_quiz');
}
public function edit_quiz($id){
// dd($id);
$data['question'] = ManageQuizQuestion::where('id',$id)->get()->toArray();
$data['answer'] = QuizQuestionsAnswer::where('question_id',$id)->get()->toArray();
// dd($data);
return view('Admin.Pages.manage_cms.manage_quiz.edit_quiz',$data);
}
public function add_quiz_data(Request $request){
// dd($request->answer);
// Create and store the question
if($request->schedule_time == null){
$question = ManageQuizQuestion::create(['questions'=> $request->question,'is_active'=>'1']);
}else{
$question = ManageQuizQuestion::create(['questions'=> $request->question,'schedule_timing'=>$request->schedule_time,'is_active'=>'0']);
}
if($question){
// Create and store the answers
$answersArr = [
'A' => $request->ans_a,
'B' => $request->ans_b,
'C' => $request->ans_c,
'D' => $request->ans_d,
];
foreach ($answersArr as $option => $content) {
$isCorrect = ($request->answer == $option) ? '1' : '0';
QuizQuestionsAnswer::create([
'question_id' => $question->id,
'answers'=> $content,
'is_active' => $isCorrect
]);
}
return response()->json([
'messages' => "Question And Answer Is Added successfully",
'success' => true,
'status' => 200]);
}
}
public function updateQueStatus(Request $request){
$status = ManageQuizQuestion::where('id',$request->queId)->update(['is_active'=> $request->status]);
return response()->json([
'messages' => "Status Updated Successfully",
'success' => true,
'status' => 200]);
}
public function updateQueAnsFormData(Request $request){
// dd($request->answer);
$question = ManageQuizQuestion::where('id',$request->queId)->update(['questions'=>$request->question]);
$rightAnsId = $request->answer;
foreach($request->input('answers') as $option => $content){
$isCorrect = ($option == $rightAnsId) ? '1' : '0';
$request = QuizQuestionsAnswer::where('id',$option)->update([
'answers' => $content['content'],
'is_active' => $isCorrect,
]);
}
return response()->json([
'messages' => "Question And Answer Is Updated successfully",
'success' => true,
'status' => 200]);
}
public function deleteQueAnsData($id){
$deleteQue = ManageQuizQuestion::find($id)->delete();
$deleteAnswer = QuizQuestionsAnswer::where('question_id',$id)->delete();
return response()->json([
'messages' => "Question And Answer Is Deleted successfully",
'success' => true,
'status' => 200]);
}
}