/** * 記事編集 * * @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; }