Viewing file: PageController.php (2.08 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use App\Models\Page; use Illuminate\Http\Request; use Illuminate\Support\Str;
class PageController extends Controller { public function index() { $data['pages'] = Page::latest()->get(); return view('page.index',$data); }
public function store(Request $request) { if(env('APP_DEMO')){ return redirect()->back()->withErrors(['msg' => trans('layout.app_demo_message')]); } $request->validate([ 'name' => 'required|unique:pages,name', 'title' => 'required|unique:pages,title', 'description' => 'required', 'status'=>'required|in:published,unpublished', 'position'=>'required|in:header,footer', ]);
$request['url']=Str::slug($request->title , '-'); Page::create($request->all());
cache()->forget('pages');
return redirect()->route('page.index')->with('success',trans('layout.message.page_store_msg'));
} public function show(){ return true; }
public function update(Page $page,Request $request){
if(env('APP_DEMO')){ return redirect()->back()->withErrors(['msg' => trans('layout.app_demo_message')]); }
$request->validate([ 'name' => 'required|unique:pages,name,'. $page->id, 'title' => 'required|unique:pages,title,'. $page->id, 'description' => 'required', 'status'=>'required|in:published,unpublished', 'position'=>'required|in:header,footer', ]); $request['url']=Str::slug($request->title , '-');
$page->update($request->all()); cache()->forget('pages'); return back()->with('success',trans('layout.message.page_update_msg')); } public function destroy(Page $page){
if(env('APP_DEMO')){ return redirect()->back()->withErrors(['msg' => trans('layout.app_demo_message')]); }
$page->delete(); return back()->with('success',trans('layout.message.page_delete_msg'));
} }
|