Example #1
0
 /**
  * 記事編集
  * 
  * @access  public
  * @return  View
  */
 public function action_edit($id)
 {
     //アクセス権限チェック
     if (!Article::edit_access($id)) {
         return Response::redirect_back('article/view/' . $id);
     }
     //フォーム生成
     $form = Formparts::article_edit($id);
     $preimage = Article::get_image($id);
     //入力チェック
     if (!\Input::post()) {
         $view = \View::forge('article/edit');
         $view->set_safe('form', $form);
         if (count($preimage) > 0) {
             $view->set_global('preimage', $preimage[0]);
         }
     } else {
         if (!\Security::check_token()) {
             $view = \View::forge('article/edit_confirm');
             $view->set_global('massage', array('css' => 'warning', 'content' => '再読み込みは無効な操作です。'));
             //リダイレクトリンク
             $view->set_safe('redirect', \Html::anchor('article/edit/' . $id, '戻る', array('class' => 'btn btn-default')));
         } else {
             $val = $form->validation();
             if ($val->run()) {
                 $view = \View::forge('article/edit_confirm');
                 $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;
                     \Session::set_flash('image', $image);
                     $view->set_global('image', $image);
                 } else {
                     if ($image['error'] != 4) {
                         $view->set_global('massage', array('css' => 'danger', 'content' => '無効な画像ファイルです。'));
                         $view = \View::forge('article/edit');
                         $form->repopulate();
                         $view->set_safe('form', $form);
                         if (count($preimage) > 0) {
                             $view->set_global('preimage', $preimage[0]);
                         }
                         return $view;
                     }
                 }
                 $view->set_global('post', \Input::post());
                 \Session::set_flash('post', \Input::post());
             } else {
                 $view = \View::forge('article/edit');
                 $view->set_global('errors', $val->error());
                 $form->repopulate();
                 $view->set_safe('form', $form);
                 if (count($preimage) > 0) {
                     $view->set_global('preimage', $preimage[0]);
                 }
             }
         }
     }
     return $view;
 }