?
Current File : /home/sanghavirealty/public_html/appazwer/Http/Controllers/QuestionsController.php
<?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');
    
        }

}