Esempio n. 1
0
 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')]);
 }
Esempio n. 2
0
 /**
  * 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()]);
 }