?
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Navigation;
use App\Models\Widget;
use App\Models\Slugemit;
class NavigationController extends Controller
{
function navigationCategory () {
$dataviewer = Navigation::Where('parentid',0)
->Where('currentstatus',0)
->orderBy('navOrder', 'ASC')
->with('navSub.navSub')
->get();
return $dataviewer ;
}
function updatenav ($id = 0){
$navCombodata = Navigation::Where('currentstatus',0)->get();
$typeCombodata =(new WidgetController)->ShowData('NavType');
if($id > 0 ){
$dataviewer = Navigation::find($id) ;
}else{
$dataviewer = null ;
}
return view('navigation.updatenav',[
'data'=>$dataviewer ,
'typeData'=>$typeCombodata ,
'parentData'=>$navCombodata]);
}
function navupdate(Request $req) {
//if (count($req->all()) > 0){
if (!empty($req->navid) == true) {
$GetTheNavdata = Navigation::find($req->navid) ;
$req->validate([
'title' => 'bail|required',
]
);
$GetTheNavdata->title = $req->title ;
$GetTheNavdata->parentid = $req->parent ;
$GetTheNavdata->type = $req->type ;
$GetTheNavdata->URL = $req->URL ;
$GetTheNavdata->URLRoute = $req->URLroute ;
$GetTheNavdata->navOrder = $req->navOrder ;
$GetTheNavdata->description = $req->description ;
$GetTheNavdata->isDirty('title');
$GetTheNavdata->isDirty('parent');
$GetTheNavdata->isDirty('type');
$GetTheNavdata->isDirty('URL');
$GetTheNavdata->isDirty('URLroute');
$GetTheNavdata->isDirty('navOrder');
$GetTheNavdata->isDirty('description');
$GetTheNavdata->save();
} else {
$name = $req->title ;
$finalSlug = Slugemit::slugGenerator($name);
$dbslugchecker = Navigation::Where('slug', $finalSlug)->get();
if(count($dbslugchecker) == 0) {
} else {
$t=time();
$finalSlug = $finalSlug.'_'.$t ;
}
$req->validate([
'title' => 'bail|required',
'parentid' => 'numeric',
'metadescription'=> 'max:180'
]
);
Navigation::insert([
'slug'=>$finalSlug,
'parentid'=>$req->parent,
'type'=>$req->type,
'title'=>$req->title,
'URL'=>$req->URL,
'URLroute'=>$req->URLroute,
'navOrder'=>$req->navOrder,
'description'=>$req->description
]);
$getNavID = Navigation::WHERE('currentstatus','0')
->WHERE('slug',$finalSlug)
->orderBy('id', 'DESC')
->first();
if($req->hasfile('uploadImage'))
{
foreach($req->file('uploadImage') as $filedoc)
{
$getExt = $filedoc->extension();
$random = substr(md5(mt_rand()), 0, 5);
$fileName = 'nav'.$getNavID->id.'_'.$random.'.'.$getExt ;
$path = $filedoc->storeAs('public/navigation', $fileName );
$catImage = Navigation::where('id',$getNavID->id)->update(['image' => $fileName] );
}
}
return redirect('/nav-manager')->with('sucess', 'updated sucessfully');
}
return redirect('/nav-manager')->with('sucess', 'updated sucessfully');
}
function navManager(){
$dataviewer = Navigation::Where('currentstatus',0)
->with('getParentTitle')
->paginate(5);
return view('navigation.navmanager',['data'=>$dataviewer]);
// ->with('getParentTitle')
}
function ShowNavigation ($type){
$dataviewer = Navigation::Where('type',$type)
->Where('parentid',0)
->Where('currentstatus',0)
->orderBy('navOrder', 'ASC')
->with('navSub.navSub')
->get();
return $dataviewer ;
// return view('navigation.headernavigator',['data'=>$dataviewer]);
}
function ShowNavigationLinks ($type){
$dataviewer = Navigation::Where('type',$type)
->Where('parentid',0)
->Where('currentstatus',0)
->orderBy('navOrder', 'ASC')
->get();
return $dataviewer ;
// return view('navigation.headernavigator',['data'=>$dataviewer]);
}
}