File manager - Edit - /home/autoph/public_html/projects/Rating-AutoHub/app/Http/Controllers/QuestionsController.php
Back
<?php namespace App\Http\Controllers; use App\Models\Questions; use Illuminate\Http\Request; use App\Models\Template; use Illuminate\Support\Facades\Auth; use Silber\Bouncer\BouncerFacade as Bouncer; class QuestionsController extends Controller { protected $question; public function __construct(){ $this->question = new Questions(); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { if(Bouncer::can('view-question')){ $page_title = "Questions"; return view('admin.questions.questions')->with(['page_title' => $page_title]); } else { abort(403,'Unauthorized'); } } public function getQs($val){ return Questions::select('title')->where('id',$val)->get(); } public function fetchall(Request $request){ $array_data['search_keyword'] = $request->search['value']; if(empty($request->search_type)){ $array_data['search_type'] = ""; } else { $array_data['search_type'] = json_decode($request->search_type,true)[0]; } $array_data['sort'] = $request->order[0]['dir']; $array_data['order'] = $request->columns[$request->order[0]['column']]['data']; $array_data['offset'] = $request->start; $array_data['limit'] = $request->length; $array_data['offset_limit'] = " LIMIT {$array_data['offset']},{$array_data['limit']}"; $array_data['sort'] = " ORDER BY {$array_data['order']} {$array_data['sort']} "; $array_data['search'] = ""; if (!empty($array_data['search_keyword'])) { switch ($array_data['search_type']) { // case "ID": // $array_data['search'] = " AND id = {$array_data['search_keyword']} "; // break; case "Question": $array_data['search'] = " AND title LIKE '%{$array_data['search_keyword']}%' "; break; } } $array_data['where'] = ""; $data = $request->data; if(!empty($data['active'])){ $array_data['where'] .= " AND active = {$data['active']} "; } $results = $this->question->getQuestions($array_data); $result['data'] = array(); foreach($results as $row){ $result['data'][] = array( "id" => $row->id, "title" => $row->title ); } $result['draw'] = $request->draw; $result['recordsTotal'] = $this->question->getQuestionsCount($array_data)[0]->Count; $result['recordsFiltered'] = $this->question->getQuestionsFilteredCount($array_data)[0]->FilteredCount; return response()->json($result); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // dd($request->all()); $request->validate([ 'title' => 'required' ],[ 'title.required'=>"Please provide a question title" ]); $result = $this->question; $result->title = $request->title; $result->active = 1; $result->status = 1; $result->save(); $array_data = [ "id" => Auth::user()->id, "action" => "create", "message" => Auth::user()->id . " has created a question." ]; $result = (new AuthController)->auditTrail($array_data); return response()->json(["message"=>"Success","result"=>$result],200); } /** * Display the specified resource. * * @param \App\Models\Questions $questions * @return \Illuminate\Http\Response */ public function show(Questions $questions) { } /** * Show the form for editing the specified resource. * * @param \App\Models\Questions $questions * @return \Illuminate\Http\Response */ public function edit(Request $request) { $result = Questions::findOrFail($request->id); return response()->json($result); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Questions $questions * @return \Illuminate\Http\Response */ public function update(Request $request) { $result = Questions::where('id',$request->id) ->update([ 'title' => $request->title ]); $array_data = [ "id" => Auth::user()->id, "action" => "updated", "message" => Auth::user()->id . " has updated a question." ]; $result = (new AuthController)->auditTrail($array_data); return response()->json(["message"=>"Success", "result"=>$result]); } /** * Remove the specified resource from storage. * * @param \App\Models\Questions $questions * @return \Illuminate\Http\Response */ public function destroy(Request $request) { $res = Template::where('q_id', 'like', '%"'.$request->id.'"%')->count(); if($res > 0){ return response()->json(['message'=>"This question is already in use. Deletion is not possible"], 400); } else { $result = Questions::where('id',$request->id) ->update([ 'active' => null, 'status' => null ]); // foreach($res as $row){ // $data = json_decode($row->q_id); // $index = array_search($result, $data); // if($index !== false){ // array_splice($data, $index, 1); // $row->q_id = json_encode($data); // $row->save(); // } // } $array_data = [ "id" => Auth::user()->id, "action" => "destroy", "message" => Auth::user()->id . " has deleted a question." ]; $result = (new AuthController)->auditTrail($array_data); return response()->json(["message"=>"Success", "result"=>$result]); } } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings