?
Current File : /home/sanghavirealty/public_html/appazwer/Http/Controllers/CmsblockController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
use App\Models\Cmsblock;
use App\Models\Categories;
use App\Models\Navigation;
use App\Models\Widget;
use App\Models\WidgetSetting;
use App\Models\Slugemit;
use App\Models\Questions;
use App\Models\Leadership;
use App\Models\Testimonial;
use App\Models\Banner;

    // $faqlist = Questions::getHomePageFEaturedQuestion(10);
    // $CTAFull  = Widget::ShowData('CTAFull');
    // $aboutusBlock = Widget::SingleDataSpecific('AboutIndex');



use App\Http\Controllers\NavigationController;



class CmsblockController extends Controller
{

  

  function CMSDisplayv2 ($Navigationslug, $utmparameters = 0) {

    // $utmparameters


    $firstDataviewer = Cmsblock::Where('slug',$Navigationslug)
    ->Where('currentstatus',0)
    ->first();

    if($firstDataviewer == ""){

              abort(404);



    }


  
    $fistImage = $firstDataviewer->image1 ;  
    $description = $firstDataviewer->description ;
    $imagepath2 = $firstDataviewer->image2 ;
    $imagepath3 = $firstDataviewer->image3 ;

    $seoTitle = $firstDataviewer->title.'-'.$firstDataviewer->subtitle ;
    $seoDesc = $firstDataviewer->meta ;
    $seoKeyword = $firstDataviewer->keyword ;

    $justTitle = $firstDataviewer->title ;


    $newDescription = Cmsblock::getImageInsertedInBetweenDescription($imagepath2,$description,$imagepath3) ;

    $faqlist = Questions::getHomePageFEaturedQuestion(10);
    $teamlist =  Leadership::gettheTeam();
    $testimonials = Testimonial::latest()->where('is_published', true)->Limit(3)->get();


    $contentWidget = Widget::ShowData('CMSBlurp');

    $contentBanner = Banner::singleShowData('CMSBottomUp');

    $bottomTicker = Widget::SingleDataSpecific('BottomTicker');

   
    $dataviewer = Cmsblock::Where('slug',$Navigationslug)
    ->Where('currentstatus',0)
    ->get();

// dd($utmparameters);
   
  
    if (!$dataviewer->isEmpty()){

        return view('cms.cmsdisplay',[
          'title'=>$justTitle,
            'content'=>$dataviewer,
            'newDescription'=>$newDescription,
            'seoTitle'=>$seoTitle,
            'seoDesc'=>$seoDesc,
            'seoKeyword'=>$seoKeyword,
            'fistImage'=>$fistImage,
            'faqlist'=>$faqlist,
            'teamList'=>$teamlist,
            'testimonials'=>$testimonials,
            'contentWidget'=>$contentWidget,
            'contentBanner'=>$contentBanner,
            'bottomTicker'=>$bottomTicker,
       
          ]);
           
    
  
    }else  {
      abort(403);
    }
  
    
    }












    function CMSDisplay ($Navigationslug, $utmparameters = 0) {

      // $utmparameters

      $catdataviewer = Navigation::Where('slug',$Navigationslug)
      ->Where('type','header')
      ->Where('currentstatus',0)
      ->first();   


      if(!empty($catdataviewer)){

        $categoryid =  $catdataviewer->id ;
      
  
      
      } else {

        abort(403);



      }
   


      $dataviewer = Cmsblock::Where('categoryid',$categoryid)
      ->Where('currentstatus',0)
      ->get();

// dd($utmparameters);
     
    
      if (!$dataviewer->isEmpty()){

          return view('cms.cmsdisplay',[
              'content'=>$dataviewer,
              'contentpage' =>  $catdataviewer ,
         
            ]);
             
      
    
      }else  {
        abort(403);
      }
    
      
      }



function showData(){

    //get user id is pending 
    $getUserID = 1 ;
     
    $dataviewer = Cmsblock::WHERE('currentstatus','0')
     ->with('getNavigationTitle')
     ->orderBy('categoryid', 'DESC')
     ->orderBy('id', 'DESC')
    ->paginate(25);
  
    return view('cms.pagemanager',['data'=>$dataviewer]);
    
    }




function CreateBlockPage($id = 0 ){

  $navigationCategory =  (new NavigationController)->navigationCategory('header');

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

$blockParentData = Cmsblock::WHERE('currentstatus','0')
->WHERE('parentid','0')
->get();

  if ($id != ""){

    

    $cmsDataViewer = Cmsblock::WHERE('id',$id)
    ->Where('currentstatus',0)
    ->first();  
    
    // dd($cmsDataViewer);



    return view('cms.createblock',[
      
    'data'=>$cmsDataViewer ,
    'navData' => $navigationCategory,
    'typeData' => $widgetContent,
    'blockParentData'=> $blockParentData ,
  
  
  ]);

  } else {
 


  return view('cms.createblock',[
  
    'navData' => $navigationCategory,
    'typeData' => $widgetContent,
      'blockParentData'=> $blockParentData ,
  
  ]);

  }

    
}


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

  // dd($lid.'+'.$id);
    
  $getid = $lid ;
  $getUserID = Auth::user()->id ;
  $PostUpdate = Cmsblock::find($getid) ; 


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

   
    abort(403);


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


     \Storage::delete('storage/specialassets/.$PostUpdate->image');
   
      // Storage::delete('public/specialassets/.$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 = Cmsblock::where('currentstatus', 0)
          ->where('id', $getid)
          ->where('createby', $getUserID)
          ->delete();
          
          //model based delete
          // $PostUpdate->delete();

          } else { 
              abort(403);
          } 

   } else {       
      abort(403);
      }

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

}



function CMSInsert(Request $req){
  $getUserID = 1 ;
  // return $req->all();



if ($req->parentid === null) {
    $req->parentid = 0;
}



if(!empty($req->blockid)){
 
  $PostUpdate = Cmsblock::find($req->blockid) ; 

  $PostUpdate->languageid=$req->language;
  $PostUpdate->templateid=$req->template;
  $PostUpdate->typeid=$req->type;
  $PostUpdate->categoryid=$req->navigation;
  $PostUpdate->title=$req->title;
  $PostUpdate->subtitle=$req->subtitle;
  $PostUpdate->description=$req->description;
  $PostUpdate->meta=$req->metades;
  $PostUpdate->keyword=$req->keyword;
  $PostUpdate->videoembed=$req->videoembed;

$PostUpdate->enablefaq= $req->enablefaq;
$PostUpdate->enableteam= $req->enableteam;
$PostUpdate->enabletestimonial= $req->enabletestimonial;
$PostUpdate->enablewidget= $req->enablewidget;
$PostUpdate->enablebanner= $req->enablebanner;
$PostUpdate->benefit1= $req->benefit1;
$PostUpdate->benefit2= $req->benefit2;
$PostUpdate->benefit3= $req->benefit3;
$PostUpdate->benefit4= $req->benefit4;


$PostUpdate->parentid= $req->parentid;
$PostUpdate->URL= $req->URL;
$PostUpdate->URLroute= $req->URLroute;




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


  $PostUpdate->isDirty('languageid');
  $PostUpdate->isDirty('templateid');
  $PostUpdate->isDirty('typeid');
  $PostUpdate->isDirty('categoryid');
  $PostUpdate->isDirty('title');
  $PostUpdate->isDirty('subtitle');
  $PostUpdate->isDirty('description');
  $PostUpdate->isDirty('meta');
  $PostUpdate->isDirty('keyword');
  $PostUpdate->isDirty('videoembed');


  $PostUpdate->isDirty('enablefaq');
  $PostUpdate->isDirty('enableteam');
  $PostUpdate->isDirty('enabletestimonial');
  $PostUpdate->isDirty('enablewidget');
  $PostUpdate->isDirty('enablebanner');
  $PostUpdate->isDirty('benefit1');
  $PostUpdate->isDirty('benefit2');
  $PostUpdate->isDirty('benefit3');
  $PostUpdate->isDirty('benefit4');

    $PostUpdate->isDirty('parentid');
  $PostUpdate->isDirty('URL');
  $PostUpdate->isDirty('URLroute');

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

  $PostUpdate->save();

  $getCMSBlock =  Cmsblock::WHERE('currentstatus','0')
->WHERE('id',$req->blockid)
->orderBy('id', 'DESC')
->first();

$getCMSBlockID = $getCMSBlock->id ;


}else{



  $name = $req->title ;
  $finalSlug = Slugemit::slugGenerator($name);
  $dbslugchecker = Cmsblock::Where('slug', $finalSlug)->get();
  if(count($dbslugchecker) == 0) {

    } else {
      $t=time();
      $finalSlug = $finalSlug.'_'.$t ;
    }



  $finalCategoryID = '';
  //get user id is pending 
  

    $req->validate([
  'title' => 'bail|required',
  'enablefaq'         => 'required|in:1,2',
  'enableteam'        => 'required|in:1,2',
  'enabletestimonial' => 'required|in:1,2',
  'enablewidget'      => 'required|in:1,2',
  'enablebanner'      => 'required|in:1,2',
    ]
  );



      
        Cmsblock::insert([
        'languageid'=>$req->language,
        'templateid'=>$req->template,
        'slug'=>$finalSlug,
        'typeid'=>$req->type,
        'categoryid'=>$req->navigation,
        'title'=>$req->title,
        'subtitle'=>$req->subtitle,
        'description'=>$req->description,
        'meta'=>$req->metades,
        'keyword'=>$req->keyword,
        'videoembed'=>$req->videoembed,
        'enablefaq'         => $req->enablefaq,
        'enableteam'        => $req->enableteam,
        'enabletestimonial' => $req->enabletestimonial,
        'enablewidget'      => $req->enablewidget,
        'enablebanner'      => $req->enablebanner,
        'benefit1'         => $req->benefit1,
        'benefit2'         => $req->benefit2,
        'benefit3'         => $req->benefit3,
        'benefit4'         => $req->benefit4,

        'parentid'         => $req->parentid,
        'URL'              => $req->URL,
        'URLroute'         => $req->URLroute,

        'userid'=>$getUserID,
        'createby'=>$getUserID,
        'createdate'=>Carbon::Now(),
        'createip'=>$req->ip()
      ]);

$getCMSBlock =  Cmsblock::WHERE('currentstatus','0')
->WHERE('title',$req->title)
->orderBy('id', 'DESC')
->first();

$getCMSBlockID = $getCMSBlock->id ;

}

 // print_R( $req->all() );




  //upload multiple images    

      if($req->hasfile('uploadImage'))
      {
        $indexcount = 1 ;

         foreach($req->file('uploadImage') as $file)
         {

          $getExt = $file->extension();
          $random = substr(md5(mt_rand()), 0, 5);
          $fileName = 'cimg23'.$getCMSBlockID.'_'.$random.'.'.$getExt ;        
          $path = $file->storeAs('public/contentimages', $fileName );

          $CMSImage = Cmsblock::where('id',$getCMSBlockID)->update(['image'.$indexcount => $fileName]);

          $indexcount++ ;

          // echo  $fileName ;
        
         }
      }

    //upload single document

      if($req->hasfile('uploadDoc'))
      {
        $indexcount = 1 ;

         foreach($req->file('uploadDoc') as $filedoc)
         {

          $getExt = $filedoc->extension();
          $random = substr(md5(mt_rand()), 0, 5);
          $fileName = 'cmsDocument'.$getCMSBlockID.'_'.$random.'.'.$getExt ;        
          $path = $filedoc->storeAs('public/contentimages', $fileName );

          $CMSImage = Cmsblock::where('id',$getCMSBlockID)->update(['document'.$indexcount => $fileName]);

          $indexcount++ ;

          // echo  $fileName ;
        
         }
      }
// return redirect('/createpages')->with('sucess', 'updated sucessfully');

    return redirect()->back()->with('sucess', 'updated sucessfully');
}




}