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