?
Current File : /home/sanghavirealty/public_html/appazwer/Http/Controllers/BannerController.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\Banner;



class BannerController extends Controller
{


  function sponsorGrid (){

    $dataViewer =  Banner::WHERE('currentstatus','0')
    ->orderBy('id', 'DESC')
    ->get();

    $Displaytitle = 'Sponsors';


    return view('banner.sponsor-grid',[
      'Sponsor'=>$dataViewer,
      'Displaytitle'=>$Displaytitle
  ]);


  }








  function BannerList(){

    $dataViewer =  Banner::WHERE('currentstatus','0')
    ->orderBy('id', 'DESC')
    ->paginate(50);

    return view('banner.banner-manager',[
        'dataviewer'=>$dataViewer
    ]);


  }

  function BannerCreate($id=0){

    $dataViewer = 0 ;

    $widgetContent = Widget::ShowData('BannerType');

    if(!empty($id)){
    $dataViewer =  Banner::WHERE('currentstatus','0')
    ->WHERE('id',$id)
    ->first();
}

    return view('banner.banner-create',[
        'banner'=>$dataViewer,
        'bannertype'=>$widgetContent,
    ]);


  }

  function BannerUpdate(Request $req){

    $getUserID = Auth::user()->id ;
    $getid = $req->id;

    if( empty($getid) ){

        $req->validate([
            'title' => 'required',
            'location' => 'required',

              ]
            );

            Banner::insert([
                'id'=>$req->id,
                'title'=>$req->title,
                'subtitle'=>$req->subtitle,
                'location'=>$req->location,
                'icon'=>$req->icon,
                'ctatitle'=>$req->ctatitle,
                'ctaurl'=>$req->ctaurl,
                'trdparty'=>$req->trdparty,
                'popup'=>$req->popup,
                'popupStyle'=>$req->popupStyle,
                'createby'=>$getUserID,
                'createip'=>$req->ip(),
                'createdate'=>Carbon::Now()
          
              ]);

              $getPostid =  Banner::WHERE('currentstatus','0')
                ->orderBy('id', 'DESC')
                ->first();

                $getid = $getPostid->id ;



    }else{

        $PostUpdate = Banner::find($getid) ; 

        $PostUpdate->title=$req->title;
        $PostUpdate->subtitle=$req->subtitle;
        $PostUpdate->location=$req->location;
        $PostUpdate->icon=$req->icon;
        $PostUpdate->ctatitle=$req->ctatitle;
        $PostUpdate->ctaurl=$req->ctaurl;
        $PostUpdate->trdparty=$req->trdparty;
        $PostUpdate->popup=$req->popup;
        $PostUpdate->popupStyle=$req->popupStyle;


        $PostUpdate->modifyby=$getUserID;
        $PostUpdate->modifyip=$req->ip();
        $PostUpdate->modifydate=Carbon::Now();


        $PostUpdate->isDirty('title');
        $PostUpdate->isDirty('subtitle');
        $PostUpdate->isDirty('location');
        $PostUpdate->isDirty('icon');
       
        $PostUpdate->isDirty('ctatitle');
        $PostUpdate->isDirty('ctaurl');
        $PostUpdate->isDirty('trdparty');
        $PostUpdate->isDirty('popup');
        $PostUpdate->isDirty('popupStyle');

     
        $PostUpdate->isDirty('modifyby');
        $PostUpdate->isDirty('modifyip');
        $PostUpdate->isDirty('modifydate');

        $PostUpdate->save();

    }

     //upload multiple images    
   
                    if($req->hasfile('image'))
                    {
                            $indexcount = 1 ;

                        foreach($req->file('image') as $file)
                        {
                        
                        $getExt = $file->extension();
                        $random = substr(md5(mt_rand()), 0, 5);
                        $fileName = 'banner'.$getid.'_'.$random.'.'.$getExt ; 
                        
                                      
                        $path = $file->storeAs('public/banner', $fileName );
                        
                        $ListImageUpdate = Banner::where('id',$getid)->update(['image' => $fileName]);
                
                    
                        }
                    }

   
    return redirect('admin-create-banner/'.$getid)->with('sucess', 'updated sucessfully');


  }

  function BannerDrop($lid=0,$id=0){

        $getid = $lid ;
        $getUserID = Auth::user()->id ;
        $PostUpdate = Banner::find($getid) ; 

      
        if (is_numeric($id) && $id == '1' && $id < '10' ) {

         
          abort(403);


        } elseif (is_numeric($id) && $id == '2'  && $id < '10' ) {

            Storage::delete('public/lectureassets/cover/.$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 = Banner::where('currentstatus', 0)
                ->where('id', $getid)
                ->where('createby', $getUserID)
                ->delete();
                
                //model based delete
                // $PostUpdate->delete();

                } else { 
                    abort(403);
                } 

         } else {       
            abort(403);
            }

            return redirect('admin-banner-manager/')->with('sucess', 'Record has been deleted');

    }






  }