/** * パスワードの変更を行います * * @author shimma * @access public * @return void */ public function post_resetpassword() { $hash = Input::get('token'); $valid_token = Model_Token::findByHash($hash); if (!Security::check_token() || empty($hash) || !$valid_token) { return \Response::redirect('errors/forbidden'); } $fieldset_password = self::createFieldsetPassword(); $validation = $fieldset_password->validation(); Session::set_flash('reminder.password.fieldset', $fieldset_password); if (!$validation->run()) { return \Response::redirect('/reminder/change?token=' . $hash); } try { $user = Model_User::find($valid_token->user_id); $user->setPassword($fieldset_password->input('password')); $user->save(); $valid_token->delete(); return \Response::redirect('reminder/thanks'); } catch (Exception $e) { return \Response::redirect('errors/forbidden'); } }
/** * Emailアドレス認証 * 発行されたトークンを認証し、会員DBのユーザステータスを仮登録から認証済みに変更します * * @todo 検討: 夫々の処理でエラーが発生した際にどのようにユーザ側に見える表示するのか * @todo エラーのリダイレクト先を共通コントローラ完成後修正 * @author shimma * @access public * @return void */ public function get_activate() { $hash = Input::get('token'); if (empty($hash)) { return \Response::redirect('/'); } try { $valid_token = Model_Token::findByHash($hash); $user = Model_User::find($valid_token->user_id); $user->activate(); $valid_token->delete(); $email_template_params = array('nick_name' => $user->nick_name); $user->sendmail('signup/activate', $email_template_params); } catch (Exception $e) { throw $e; } \Auth::force_login($user->user_id); return \Response::redirect('signup/thanks'); }