KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  /var/www/parassaas.edukrypt.in/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/parassaas.edukrypt.in/app/Http/Controllers/PracticeController.php
<?php

namespace App\Http\Controllers;

use App\Models\Content;
use App\Models\Mcq;
use App\Models\Mcq_option;
use App\Models\Mcq_history;
use App\Models\Mcq_ques_gp;
use App\Models\Mcq_question;
use Illuminate\Http\Request;
use App\Models\Mcq_user_answer;
use App\Models\Upload_mcq_file;
use Illuminate\Support\Facades\DB;

class PracticeController extends Controller
{
	public function list()
	{
		$admin_id = '2';
		$data['mainMenu'] = 'databaseManagement';
		$data['subMenu'] = 'practiceList';

		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {
			$search_text = $_GET['query'];
			$data['practice_quiz'] = Mcq::where('admin_id', $admin_id)->where('name', 'LIKE', '%' . $search_text . '%')
				->paginate(10);
		} else {
			$data['practice_quiz'] = Mcq::where('admin_id', $admin_id)
				->paginate(10);
		}

		return view('admin.practice_quiz.list', $data);
	}

	// ADD
	public function add()
	{
		$data['mainMenu'] = 'databaseManagement';
		$data['subMenu'] = 'practiceList';
		return view('admin.practice_quiz.add', $data);
	}

	// ADD POST
	public function save(Request $request)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'name' => 'required',
			'instruction' => 'required',
			'time_limit' => 'required',
			'retake_attempt' => 'required',
			'passing_percent' => 'required'
		]);

		$data = array(
			'admin_id' => $admin_id,
			'name' => $request->name,
			'instruction' => $request->instruction,
			'time_limit' => $request->time_limit,
			'retake_attempt' => $request->retake_attempt,
			'nooftimes' => empty($request->nooftimes) ? '0' : $request->nooftimes,
			'passing_percentage' => $request->passing_percent,
			'status' => '1',
		);

		$res = Mcq::create($data);
		if ($res) {
			return back()
				->with('success', 'Quiz ' . $request->name . ' Has Been Added!.');
		} else {
			return back()
				->with('error', 'Something Went Wrong!');
		}
	}

	// VIEW
	public function view($id)
	{
		$data['mainMenu'] = 'databaseManagement';
		$data['subMenu'] = 'practiceList';
		$data['quiz_id'] = $id;
		$data['mcq'] = Mcq::where(['id' => $id])->first();
		return view('admin.practice_quiz.view', $data);
	}


	// EDIT
	public function edit($id)
	{
		$data['mainMenu'] = 'databaseManagement';
		$data['subMenu'] = 'practiceList';
		$data['quiz_id'] = $id;
		$data['mcq'] = Mcq::where(['id' => $id])->first();
		return view('admin.practice_quiz.edit', $data);
	}

	// Edit Post
	public function update(Request $request, $id)
	{
		$request->validate([
			'name' => 'required',
			'instruction' => 'required',
			'time_limit' => 'required',
			'retake_attempt' => 'required',
			'passing_percent' => 'required'
		]);

		$data = array(
			'name' => $request->name,
			'instruction' => $request->instruction,
			'time_limit' => $request->time_limit,
			'retake_attempt' => $request->retake_attempt,
			'nooftimes' => $request->nooftimes,
			'passing_percentage' => $request->passing_percent
		);

		$res = Mcq::where(['id' => $id])->update($data);
		if ($res) {
			return back()
				->with('success', 'Quiz ' . $request->name . ' Has Been Updated!.');
		} else {
			return back()
				->with('error', 'Something Went Wrong!');
		}
	}

	// Delete Quiz
	public function delete($id)
	{
		Content::where('video_id', $id)->where('type', 'practice_test')->delete();
		Mcq_ques_gp::where(['mcq_id' => $id])->delete();
		Mcq_user_answer::where(['mcq_id' => $id])->delete();
		Mcq_history::where(['mcq_id' => $id])->delete();
		Mcq::where(['id' => $id])->delete();
		return back()->with('success', 'Practice Test deleted successfully');
	}

	// Map Question list =============================
	public function map_practice_question($id)
	{
		$admin_id = '2';
		$data['mainMenu'] = 'databaseManagement';
		$data['subMenu'] = 'practiceList';
		$data['quiz_id'] = $id;
		$data['mcq'] = Mcq::where(['id' => $id])->first();
		$data['questions'] = Mcq_question::where(['admin_id' => $admin_id])->select('id', 'question', 'code')->get();
		return view('admin.practice_quiz.mapped-question-list', $data);
	}

	// GET Map Question list ======================
	public function map_practice_question_list(Request $request, $id)
	{
		$admin_id = '2';
		$data['mainMenu'] = 'databaseManagement';
		$data['subMenu'] = 'practiceList';
		$data['quiz_id'] = $id;

		// Topic For Filter
		$data['topics'] = Mcq_question::where(['admin_id' => $admin_id])->groupBy('tags')->get(['tags']);
		// MCQ Where Mapping
		$data['mcq'] = Mcq::where(['id' => $id])->first();
		// Question Already Mapped
		$questions = Mcq::where('id', $id)->with('mcq_question')->first();
		$data['mappedQuestions'] = $questions->mcq_question()->paginate(10);

		return view('admin.practice_quiz.mapped-question-list', $data);
	}

	// Question By Tags Json ===========================
	public function quiz_question_by_tags(Request $request, $mcq_id)
	{
		$questions = Mcq_question::whereNotIn('id', function ($query) use ($mcq_id) {
			$query->select('mcq_question_id')->from('mcq_ques_gps')->where('mcq_id', $mcq_id);
		})->where('parent_id', '0')->where('tags', $request->tag)->get(['id', 'code as text']);

		return response()->json($questions);
	}

	// MAP New Question Post
	public function save_map_practice_question(Request $request, $id)
	{
		$mcq_ques_id = $request->mcq_ques_id;
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'mcq_ques_id' => 'required',
		]);

		if (!empty($mcq_ques_id)) {
			foreach ($mcq_ques_id as $mcq_ques) {
				$data = array(
					'admin_id' => $admin_id,
					'mcq_id' => $id,
					'mcq_question_id' => $mcq_ques,
				);
				Mcq_ques_gp::create($data);
			}
		}
		return back()
			->with('success', 'Question Has Beeb Mapped!.');
	}

	public function deleteMapMcqQuestion($mcq_id, $question_id)
	{
		Mcq_ques_gp::where(['mcq_id' => $mcq_id, 'mcq_question_id' => $question_id])->delete();
		return back()->with('success', 'Mapped Question removed successfully');
	}

	// End Practice =================================

}

Anon7 - 2021