Example #1
0
 /**
  * 個別記事
  * 
  * @access  public
  * @param	topic_id
  * @return  View
  */
 public function action_view($id)
 {
     $view = \View::forge('article/view');
     //ユーザ情報
     if (\Auth::check()) {
         $nice = Article::nice_check($id);
         $user = array('nice' => $nice);
         $view->set_global('user', $user);
         $form = Formparts::comment_regist();
         if (\Input::post()) {
             if (!\Security::check_token()) {
                 $view->set_global('massage', array('css' => 'warning', 'content' => '再読み込みは無効な操作です。'));
             } else {
                 $val = $form->validation();
                 if ($val->run()) {
                     $image = \Input::file('image');
                     if (\Upload::is_valid()) {
                         $image = \Upload::get_files('image');
                         $image_encode = base64_encode(\File::read($image['file'], true));
                         $image['file'] = $image_encode;
                         $result = Article::comment_regist($id, \Input::post(), $image);
                     } else {
                         if ($image['error'] == 4) {
                             $result = Article::comment_regist($id, \Input::post());
                         } else {
                             $view->set_global('massage', array('css' => 'danger', 'content' => '無効な画像ファイルです。'));
                             $form->repopulate();
                         }
                     }
                 } else {
                     $view->set_global('errors', $val->error());
                     $form->repopulate();
                 }
             }
         }
         $view->set_safe('form', $form);
     }
     //記事情報
     $article = Article::get($id);
     $view->set_global('article', $article);
     //画像情報
     $image = Article::get_image($id);
     if (count($image) > 0) {
         $view->set_global('image', $image);
     }
     //コメント情報
     $result = Article::get_comment_list($id);
     $view->set_global('comment', $result['comment']);
     $view->set_global('comment_image', $result['image']);
     $view->set_safe('pager', $result['pager']);
     //ビューインクリメント
     Article::add_view($id);
     return $view;
 }