/** * ユーザ登録 * * @access public * @return View */ public function action_signup() { //認証チェック if (\Auth::check()) { Response::redirect('mypage'); } $view = View::forge('auth/signup'); //フォーム生成 $form = Formparts::signup(); //入力有り if (\Input::post()) { if (!\Security::check_token()) { $view->set_global('massage', array('css' => 'warning', 'content' => '再読み込みは無効な操作です。')); } else { // if (\Input::post('password') != \Input::post('re-password')) { $form->repopulate(); $view->set_global('massage', array('css' => 'warning', 'content' => 'パスワードが一致していません。')); } else { $val = $form->validation(); if ($val->run()) { try { $result = \Auth::create_user(\Input::post('username'), \Input::post('password'), \Input::post('email'), 1, array('firstname' => \Input::post('firstname'), 'lastname' => \Input::post('lastname'))); if ($result) { if (\Auth::instance()->login(\Input::post('username'), \Input::post('password'))) { // ログインしマイページに移動 return \Response::redirect('mypage'); } else { $view->set_global('massage', array('css' => 'danger', 'content' => '予期せぬエラーです。')); } } } catch (\SimpleUserUpdateException $e) { switch ($e->getCode()) { case 2: // メールアドレスが重複 $view->set_global('massage', array('css' => 'warning', 'content' => 'メールアドレスが重複しています。')); break; case 3: // ユーザー名が重複 $view->set_global('massage', array('css' => 'warning', 'content' => 'ユーザ名が重複しています。')); break; default: // これは起こり得ないが、ずっとそうとは限らない... $view->set_global('massage', array('css' => 'danger', 'content' => '予期せぬエラーです。')); } } } else { $form->repopulate(); $view->set_global('errors', $val->error()); } } } } // $form->build(); $view->set_safe('form', $form); return $view; }
/** * 個別記事 * * @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; }