?
<?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');
}
}