ok
Direktori : /home2/selectio/www/limpiar.in.net/updates/app/Http/Controllers/ |
Current File : /home2/selectio/www/limpiar.in.net/updates/app/Http/Controllers/PageController.php |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Page; use App\Models\PageTranslation; class PageController extends Controller { public function __construct() { // Staff Permission Check $this->middleware(['permission:add_website_page'])->only('create'); $this->middleware(['permission:edit_website_page'])->only('edit'); $this->middleware(['permission:delete_website_page'])->only('destroy'); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('backend.website_settings.pages.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $page = new Page; $page->title = $request->title; if (Page::where('slug', preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->slug)))->first() == null) { $page->slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->slug)); $page->type = "custom_page"; $page->content = $request->content; $page->meta_title = $request->meta_title; $page->meta_description = $request->meta_description; $page->keywords = $request->keywords; $page->meta_image = $request->meta_image; $page->save(); $page_translation = PageTranslation::firstOrNew(['lang' => env('DEFAULT_LANGUAGE'), 'page_id' => $page->id]); $page_translation->title = $request->title; $page_translation->content = $request->content; $page_translation->save(); flash(translate('New page has been created successfully'))->success(); return redirect()->route('website.pages'); } flash(translate('Slug has been used already'))->warning(); return back(); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Request $request, $id) { $lang = $request->lang; $page_name = $request->page; $page = Page::where('slug', $id)->first(); if($page != null){ if ($page_name == 'home') { return view('backend.website_settings.pages.home_page_edit', compact('page','lang')); } else{ return view('backend.website_settings.pages.edit', compact('page','lang')); } } abort(404); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $page = Page::findOrFail($id); if (Page::where('id','!=', $id)->where('slug', preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->slug)))->first() == null) { if($page->type == 'custom_page'){ $page->slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->slug)); } if($request->lang == env("DEFAULT_LANGUAGE")){ $page->title = $request->title; $page->content = $request->content; } $page->meta_title = $request->meta_title; $page->meta_description = $request->meta_description; $page->keywords = $request->keywords; $page->meta_image = $request->meta_image; $page->save(); $page_translation = PageTranslation::firstOrNew(['lang' => $request->lang, 'page_id' => $page->id]); $page_translation->title = $request->title; $page_translation->content = $request->content; $page_translation->save(); flash(translate('Page has been updated successfully'))->success(); return redirect()->route('website.pages'); } flash(translate('Slug has been used already'))->warning(); return back(); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $page = Page::findOrFail($id); $page->page_translations()->delete(); if(Page::destroy($id)){ flash(translate('Page has been deleted successfully'))->success(); return redirect()->back(); } return back(); } public function show_custom_page($slug){ $page = Page::where('slug', $slug)->first(); if($page != null){ return view('frontend.custom_page', compact('page')); } abort(404); } public function mobile_custom_page($slug){ $page = Page::where('slug', $slug)->first(); if($page != null){ return view('frontend.m_custom_page', compact('page')); } abort(404); } }