save to codehub
This commit is contained in:
108
app/Http/Controllers/Admin/ManageQuizController.php
Normal file
108
app/Http/Controllers/Admin/ManageQuizController.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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,'schedule_timing' => $request->schedule_time]);
|
||||
|
||||
$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]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user