diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php new file mode 100644 index 00000000..f1e78d7f --- /dev/null +++ b/app/Http/Controllers/PageController.php @@ -0,0 +1,53 @@ +middleware(['auth', 'admin']); + } + + protected function authCheck($admin_only = false) + { + $auth = $admin_only ? + Auth::check() && Auth::user()->is_admin == true : + Auth::check(); + if($auth == false) { + abort(403); + } + } + + public function edit(Request $request) + { + $this->authCheck(true); + $this->validate($request, [ + 'page' => 'required|string' + ]); + $slug = urldecode($request->page); + $page = Page::firstOrCreate(['slug' => $slug]); + return view('admin.pages.edit', compact('page')); + } + + public function store(Request $request) + { + $this->validate($request, [ + 'slug' => 'required|string', + 'content' => 'required|string', + 'title' => 'nullable|string', + 'active' => 'required|boolean' + ]); + $slug = urldecode($request->input('slug')); + $page = Page::firstOrCreate(['slug' => $slug]); + $page->content = $request->input('content'); + $page->title = $request->input('title'); + $page->active = (bool) $request->input('active'); + $page->save(); + return response()->json(['msg' => 200]); + } +}