?
<?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\Profile;
use App\Models\Salespage;
use App\Models\Courses;
use App\Models\Widget;
use App\Models\Questions;
use App\Models\Banner;
use App\Models\Slugemit;
use App\Models\WidgetSetting;
class SalespageController extends Controller
{
function landingPageViewer ($slug){
$dataViewer = Salespage::WHERE('currentstatus','0')
->WHERE('slug',$slug)
->orderBy('id', 'DESC')
->first();
$bannerSlider = Banner::ShowData('BannerSlider');
$faqlist = Questions::getHomePageFEaturedQuestion(10);
$CTAFull = Widget::ShowData('CTAFull');
$aboutusBlock = Widget::SingleDataSpecific('AboutIndex');
$indexBlurp = Widget::ShowData('IndexBlurp');
$gettheVideo = WidgetController::GetTheWidgetValue($dataViewer->videotemplateid);
$templateName = 'lp' ;
return view('landingpage.view',[
'dataViewer' => $dataViewer,
'indexBlurp' => $indexBlurp,
'templateName' => $templateName,
'videoTemplate'=>$gettheVideo,
'bannerSlider' => $bannerSlider,
'faqlist' => $faqlist,
'aboutusBlock'=>$aboutusBlock,
'CTAFull' => $CTAFull,
]);
}
function salespageUpdate (Request $req){
// return $req->all();
$getUserID = Auth::user()->id ;
$getlistingid = $req->id;
if( empty($getlistingid) )
{
$req->validate([
'title' => 'bail|unique:salespagetbl,title|required',
'template' => 'required|numeric',
'status' => 'required|numeric',
'coursesid' => 'required|numeric'
]
);
$title = $req->title ;
$finalSlug = Slugemit::slugGenerator($title);
Salespage::insert([
'courses'=>$req->coursesid,
'type'=>$req->preview,
'status'=>$req->status,
'template'=>$req->template,
'title'=>$req->title,
'subtitle'=>$req->subtitle,
'metadescription'=>$req->metadescription,
'description'=>$req->description,
'highlight'=>$req->highlight,
'highlightdesc'=>$req->highlightdesc,
'testimonial'=>$req->testimonial,
'testimonialdesc'=>$req->testimonialdesc,
'videotemplateid'=>$req->videotemplateid,
'slug'=>$finalSlug,
'sort'=>$req->sort,
'embed'=>$req->embed,
'createby'=>$getUserID,
'createdate'=>Carbon::Now(),
'createip'=>$req->ip()
]);
$getPOSTid = Salespage::WHERE('currentstatus','0')
->WHERE('slug',$finalSlug)
->orderBy('id', 'DESC')
->first();
}else{
$getPOSTid = $getlistingid ;
$PostUpdate = Salespage::find($getPOSTid) ;
$PostUpdate->courses = $req->coursesid ;
$PostUpdate->type = $req->preview ;
$PostUpdate->status = $req->status ;
$PostUpdate->title = $req->title ;
$PostUpdate->description = $req->description ;
$PostUpdate->template = $req->template ;
$PostUpdate->subtitle = $req->subtitle ;
$PostUpdate->metadescription = $req->metadescription ;
$PostUpdate->highlight = $req->highlight;
$PostUpdate->highlightdesc = $req->highlightdesc;
$PostUpdate->testimonial = $req->testimonial;
$PostUpdate->testimonialdesc= $req->testimonialdesc;
$PostUpdate->videotemplateid = $req->videotemplateid;
$PostUpdate->sort = $req->sort ;
$PostUpdate->embed = $req->embed ;
$PostUpdate->modifyby = $getUserID ;
$PostUpdate->modifyip = $req->ip() ;
$PostUpdate->modifydate = Carbon::Now() ;
$PostUpdate->isDirty('courses');
$PostUpdate->isDirty('type');
$PostUpdate->isDirty('status');
$PostUpdate->isDirty('title');
$PostUpdate->isDirty('description');
$PostUpdate->isDirty('template');
$PostUpdate->isDirty('subtitle');
$PostUpdate->isDirty('metadescription');
$PostUpdate->isDirty('highlight');
$PostUpdate->isDirty('highlightdesc');
$PostUpdate->isDirty('testimonial');
$PostUpdate->isDirty('testimonialdesc');
$PostUpdate->isDirty('videotemplateid');
$PostUpdate->isDirty('sort');
$PostUpdate->isDirty('embed');
$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 = 'spage24'.$getPOSTid.'_'.$random.'.'.$getExt ;
$path = $file->storeAs('public/salespageassets/cover', $fileName );
$path = $file->storeAs('public/salespageassets/thumb', $fileName );
$ListImageUpdate = Salespage::where('id',$getPOSTid)->update(['image'.$indexcount => $fileName]);
// $ListImageUpdate = Salespage::where('id',$getPOSTid)->update(['thumbnail' => $fileName]);
$indexcount++ ;
}
}
//upload single document
if($req->hasfile('document'))
{
$indexcount = 1 ;
foreach($req->file('document') as $filedoc)
{
$getExt = $filedoc->extension();
$random = substr(md5(mt_rand()), 0, 5);
$fileName = 'spage'.$getPOSTid.'_'.$random.'.'.$getExt ;
$path = $filedoc->storeAs('public/salespageassets/docu', $fileName );
$ListDocUpdate = Salespage::where('id',$getPOSTid)->update(['document' => $fileName]);
// echo $fileName ;
}
}
if($req->hasfile('video'))
{
$indexcount = 1 ;
foreach($req->file('video') as $filedoc)
{
$getExt = $filedoc->extension();
$random = substr(md5(mt_rand()), 0, 5);
$fileName = 'spage'.$getPOSTid.'_'.$random.'.'.$getExt ;
$path = $filedoc->storeAs('public/salespageassets/video', $fileName );
$ListDocUpdate = Salespage::where('id',$getPOSTid)->update(['video' => $fileName]);
// echo $fileName ;
}
}
return redirect('instructor-sales-page/')->with('sucess', 'updated sucessfully');
}
function salespageView ($slug = 0){
$getUserID = Auth::user()->id ;
$CoursesType = (new WidgetController)->ShowData('CoursesType');
$PreviewType = (new WidgetController)->ShowData('PreviewType');
$TemplateType = (new WidgetController)->ShowData('Template');
$Video = (new WidgetController)->ShowData('Video');
$getTheUsersCourseList = (new CoursesController)->getTheUsersCourseList($getUserID);
if( (!empty($slug))) {
$PostData = Salespage::Where('slug',$slug)
->Where('currentstatus',0)
->Where('createby',$getUserID)
->get();
return view('salespage.Instructor-Salespage-Create',[
'PreviewType' =>$PreviewType ,
'CoursesType' =>$CoursesType ,
'VideoTemplateData'=>$Video,
'CourseList'=>$getTheUsersCourseList,
'TemplateType'=>$TemplateType,
'SalesPageData' =>$PostData
]);
} else {
$PostData = collect([0]);
return view('salespage.Instructor-Salespage-Create',[
'PreviewType' =>$PreviewType ,
'CourseList'=>$getTheUsersCourseList,
'CoursesType' =>$CoursesType,
'VideoTemplateData'=>$Video,
'TemplateType'=>$TemplateType,
'SalesPageData' =>$PostData
]);
}
}
function salespageList(){
$GetCoursesID = '' ;
$getUserID = Auth::user()->id ;
$dataviewer = Salespage::Where('currentstatus','0')
->Where('createby',$getUserID)
->with('getWidgetStatus')
->with('getPreviewStatus')
->with('getTemplate')
->with('getCoursesTitle')
->orderBy('sort', 'asc')
->paginate(10);
return view('salespage.Instructor-Salespage-List',[
'data'=>$dataviewer]);
}
function SalespageStatus($sid=0,$id=0){
$GetTheSalesPageID = $sid ;
$getUserID = Auth::user()->id ;
$PostUpdate = Salespage::find($GetTheSalesPageID) ;
$GetTheCoursesID = $PostUpdate->coursesid ;
if (is_numeric($id) && $id == '1' && $id < '50' ) {
abort(403);
} elseif (is_numeric($id) && $id == '21' && $id < '50' ) {
// File::delete(public_path('lectureassets/cover/'.$PostUpdate->image));
Storage::delete('public/salespageassets/cover/.$PostUpdate->image1');
$PostUpdate->image1 = null ;
$PostUpdate->save();
} elseif (is_numeric($id) && $id == '22' && $id < '50' ) {
// File::delete(public_path('lectureassets/cover/'.$PostUpdate->image));
Storage::delete('public/salespageassets/cover/.$PostUpdate->image2');
$PostUpdate->image2 = null ;
$PostUpdate->save();
} elseif (is_numeric($id) && $id == '23' && $id < '50' ) {
// File::delete(public_path('lectureassets/cover/'.$PostUpdate->image));
Storage::delete('public/salespageassets/cover/.$PostUpdate->image3');
$PostUpdate->image3 = null ;
$PostUpdate->save();
} elseif (is_numeric($id) && $id == '3' && $id < '10' ) {
//File::delete(public_path('public/lectureassets/cover/'.$PostUpdate->document));
Storage::delete('public/salespageassets/docu/.$PostUpdate->image3');
$PostUpdate->document = null ;
$PostUpdate->save();
} elseif (is_numeric($id) && $id == '4' && $id < '10' ) {
// File::delete(public_path('salespageassets/docu/'.$PostUpdate->video));
Storage::delete('public/salespageassets/video/.$PostUpdate->video');
$PostUpdate->video = null ;
$PostUpdate->save();
} elseif (is_numeric($id) && $id == '9' && $id < '10' ) {
if (is_numeric($GetTheSalesPageID) > 0 ) {
//query based deletes the record
$deletedRow = Salespage::where('currentstatus', 0)
->where('id', $GetTheSalesPageID)
->where('createby', $getUserID)
->delete();
//model based delete
// $PostUpdate->delete();
return redirect('instructor-sales-page/')->with('sucess', 'Record has been deleted');
} else {
abort(403);
}
} else {
abort(403);
}
$gettheSalePageSlug = $PostUpdate->slug ;
return redirect('instructor-sales-page-create/'.$gettheSalePageSlug)->with('sucess', 'Record has been updated');
}
}