コード例 #1
0
 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;
     }
 }