?
<?php
namespace App\Http\Controllers;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;
use App\Models\Widget;
use App\Models\Questions;
class QuestionsController extends Controller
{
// //Questions Manager
// Route::get('admin-questions-manager/',[QuestionsController::class,'QuestionList'] );
// Route::get('admin-create-questions/',[QuestionsController::class,'QuestionCreate'] );
// Route::get('admin-create-questions/{id}',[QuestionsController::class,'QuestionCreate'] );
// Route::POST('admin-questions-update/',[QuestionsController::class,'QuestionUpdate'] );
// Route::get('admin-questions-drop/{lid}/{id}',[QuestionsController::class,'QuestionDrop'] );
public static function getQuestionList(){
$faqlist = Questions::where('currentstatus', '0')->latest()->paginate(10);
return view('questions.questions-page', compact('faqlist'));
}
function QuestionList(){
$dataViewer = Questions::WHERE('currentstatus','0')
->orderBy('id', 'DESC')
->paginate(50);
return view('questions.questions-manager',[
'dataviewer'=>$dataViewer
]);
}
function QuestionCreate($id=0){
if($id != 0){
$dataViewer = Questions::Where('id',$id)->first();
}else{
$dataViewer = 0 ;
}
return view('questions.questions-create',[
'dataViewer'=>$dataViewer
]);
}
public static function QuestionUpdate(Request $req){
$getUserID = Auth::user()->id ;
$getid = $req->id ;
if($req->featured == 'on'){
$featured = 2 ;
}else{
$featured = 1 ;
}
if($req->category == 'null'){
$category = 1 ;
}else{
$category = $req->category ;
}
$req->validate([
'question' => 'required',
'answer' => 'required',
]);
if(empty($getid)){
Questions::insert([
'category'=> $category,
'featured'=> $featured,
'question' => $req->question,
'answer' => $req->answer,
'createby' => $getUserID,
'createip' => $req->ip(),
'created_at' => Carbon::now(),
]);
$getPostid = Questions::where('currentstatus', '0')
->orderBy('id', 'DESC')
->first();
$getid = $getPostid->id;
}else{
$questionUpdate = Questions::find($getid);
$questionUpdate->category = $category;
$questionUpdate->featured = $featured;
$questionUpdate->question = $req->question;
$questionUpdate->answer = $req->answer;
$questionUpdate->modifyby = $getUserID;
$questionUpdate->modifyip = $req->ip();
$questionUpdate->updated_at = Carbon::now();
$questionUpdate->isDirty('category');
$questionUpdate->isDirty('featured');
$questionUpdate->isDirty('question');
$questionUpdate->isDirty('answer');
$questionUpdate->isDirty('image');
$questionUpdate->isDirty('modifyby');
$questionUpdate->isDirty('modifyip');
$questionUpdate->isDirty('updated_at');
$questionUpdate->save();
}
if ($req->hasFile('image')) {
$file = $req->file('image');
$getExt = $file->extension();
$random = substr(md5(mt_rand()), 0, 5);
$fileName = 'question' . $getid . '_' . $random . '.' . $getExt;
$file->storeAs('public/questions', $fileName);
Questions::where('id', $getid)->update(['image' => $fileName]);
}
return redirect('admin-create-questions/' . $getid )->with('success', 'Updated successfully');
}
function QuestionDrop($lid=0,$id=0){
$getid = $lid ;
$getUserID = Auth::user()->id ;
$PostUpdate = Questions::find($getid) ;
if (is_numeric($id) && $id == '1' && $id < '10' ) {
abort(403);
} elseif (is_numeric($id) && $id == '2' && $id < '10' ) {
Storage::delete('public/questions/.$PostUpdate->image');
$PostUpdate->image = null ;
$PostUpdate->isDirty('image');
$PostUpdate->save();
} elseif (is_numeric($id) && $id == '3' && $id < '10' ) {
// File::delete(public_path('public/lectureassets/cover/'.$PostUpdate->document));
// $PostUpdate->document = null ;
// $PostUpdate->save();
abort(403);
} elseif (is_numeric($id) && $id == '4' && $id < '10' ) {
// File::delete(public_path('lectureassets/cover/'.$PostUpdate->video));
// $PostUpdate->video = null ;
// $PostUpdate->save();
abort(403);
} elseif (is_numeric($id) && $id == '9' && $id < '10' ) {
if (is_numeric($getid) > 0 ) {
//query based deletes the record
$deletedRow = Questions::where('currentstatus', 0)
->where('id', $getid)
->where('createby', $getUserID)
->delete();
//model based delete
// $PostUpdate->delete();
} else {
abort(403);
}
} else {
abort(403);
}
return redirect('admin-questions-manager/')->with('sucess', 'Record has been deleted');
}
}