public function save() { $title = Input::get("title"); $body = Input::get("body"); $mode = Input::get("mode"); $user = Auth::user(); $page = HandbookPage::where('title', $title)->first(); if ($mode == 1) { //Editing if ($page) { if ($page->userCanRead($user) && $page->userCanWrite($user)) { $page->body = $body; $page->read_permission = $this->createPermissionObject($page->id, 'read', $page->read_permission)->id; $page->write_permission = $this->createPermissionObject($page->id, 'write', $page->write_permission)->id; $page->updated_by = $user->id; $page->save(); return Redirect::to('/handbook/' . HandbookPage::getURLReadyLink($title)); } else { return Response::json(["success" => false, "message" => "Insufficient permissions."]); } } else { return Response::json(["success" => false, "message" => "Page not found"]); } } else { if (!$page) { $page = new HandbookPage(); $page->title = $title; $page->body = $body; $page->created_by = $user->id; $page->save(); $page->read_permission = $this->createPermissionObject($page->id, 'read')->id; $page->write_permission = $this->createPermissionObject($page->id, 'write')->id; $page->save(); return Redirect::to('/handbook/' . HandbookPage::getURLReadyLink($title)); } else { return Redirect::to('/handbook/' . HandbookPage::getURLReadyLink($title)); } } }