public function postPostNew($request, $response, $args) { if (!$this->app->auth()->isLoggedIn()) { $response = new \RedirectResponse('/unauthorised'); return $response; } $template = $this->twig->loadTemplate('post/new.twig'); $validator = new \Valitron\Validator(array('title' => $this->app->input()->post('title'), 'body' => $this->app->input()->post('body'), 'status' => $this->app->input()->post('status'))); $validator->rule('required', ['title', 'body', 'status']); $validator->rule('integer', ['status']); if ($validator->validate()) { $post = \Model::factory('App\\Models\\Post')->create(); $post->title = $this->app->input()->post('title'); $post->body = $this->app->input()->post('body'); $post->created_at = date('Y-m-d H:i:s'); $post->updated_at = date('Y-m-d H:i:s'); $post->status = $this->app->input()->post('status'); if ($post->save()) { $response = new RedirectResponse('/'); return $response; } else { $response->setContent($template->render(['errors' => [['Unable to create post']], 'input' => $this->app->input()->all('post')])); return $response; } } else { $response->setContent($template->render(['errors' => $validator->errors(), 'input' => $this->app->input()->all('post')])); return $response; } }