public function edit_page(Request $request, $matches) { $title = $this->lang->translate('page.create'); // Get page for updating $id = intval($matches->get('id', $request->get('id'))); if ($id > 0) { $page = \Page::find_by_id($id); $title = $this->lang->translate('page.editing', $page->title); } else { $page = ['title' => $this->lang->translate('page.name'), 'content' => '', 'template' => 'default.twig']; } // Create or update page if ($request->isMethod('post')) { if ($page instanceof \Page) { $page->title = $request->get('title'); $page->content = $request->get('content'); $page->slug = $request->get('slug'); $page->template = $request->get('template'); } else { $page = new \Page(['title' => $request->get('title'), 'content' => $request->get('content'), 'slug' => $request->get('slug'), 'template' => $request->get('template'), 'author_id' => $this->user->id]); // Ping sitemap NCService::load('SocialMedia.Ping'); } // Updating instance $page->save(); $page = $page->to_array(); return static::json_response(['success' => true, 'message' => $this->lang->translate('form.saved')]); } return $this->view->render('pages/create.twig', ['page' => $page, 'title' => $title, 'templates' => $this->view->list_files('pages', '@current')]); }
/** * User registration page */ public function page(Request $request, $matches) { $page = \Page::find_by_id($matches->get('id')); if (!$page) { return $this->error404($request); } Env::$response->headers->set('Last-Modified', date('D, d M Y H:i:s \\G\\M\\T', $page->updated_at)); return $this->view->render('pages/' . $page->template, ['page' => $page->to_array(), 'title' => $page->title, 'author' => $page->author->to_array()]); }