109 lines
3.8 KiB
PHP
109 lines
3.8 KiB
PHP
|
|
<?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]);
|
||
|
|
}
|
||
|
|
}
|