public static function _init() { static::$_properties['member_id'] = Util_Orm::get_relational_numeric_key_prop(); static::$_properties['email'] = Model_MemberAuth::property('email'); static::$_properties['token'] = Model_MemberPre::property('token'); static::$_properties['token']['form']['type'] = false; }
public static function _init() { static::$_properties['name'] = Model_Member::get_property('name'); static::$_properties['email'] = Model_MemberAuth::get_property('email'); static::$_properties['password'] = Model_MemberAuth::get_property('password', 'required'); static::$_properties['invite_member_id'] = Model_Member::get_property('invite_member_id'); }
public static function _init() { static::$_properties['member_id'] = Util_Orm::get_relational_numeric_key_prop(); static::$_properties['email'] = Model_MemberAuth::property('email'); static::$_properties['token'] = Model_MemberPre::property('token'); static::$_properties['token']['form']['type'] = false; static::$_properties['code']['label'] = term('form.confirm', 'site.code'); static::$_properties['code']['form']['validation']['exact_length'] = array(conf('member.setting.email.codeLength')); }
protected function set_login_validation() { Fieldset::reset(); $this->login_val = Validation::forge('site_login'); $options = array('1' => '次回から自動的にログイン'); $this->login_val->add('rememberme', '', array('type' => 'checkbox', 'options' => $options))->add_rule('checkbox_val', $options); $this->login_val->add_model(Model_MemberAuth::forge()); $this->login_val->fieldset()->field('email')->delete_rule('unique'); View::set_global('login_val', $this->login_val); }
/** * Confirm reset password * * @access public * @return Response */ public function action_send_reset_password_mail() { // Already logged in Auth::check() and Response::redirect('member'); Util_security::check_method('POST'); Util_security::check_csrf(); $form = $this->form_resend_password(); $val = $form->validation(); if (!$val->run()) { Session::set_flash('error', $val->show_errors()); $this->action_resend_password(); return; } $post = $val->validated(); $message = term('site.password') . 'のリセット方法をメールで送信しました。'; if (!($member_auth = Model_MemberAuth::get4email($post['email']))) { Session::set_flash('message', $message); Response::redirect(conf('login_uri.site')); return; } $member = Model_Member::check_authority($member_auth->member_id); $error_message = ''; $is_transaction_rollback = false; try { $maildata = array(); DB::start_transaction(); $token = Model_MemberPasswordPre::save_with_token($member_auth->member_id, $post['email']); DB::commit_transaction(); $mail = new Site_Mail('memberResendPassword'); $mail->send($post['email'], array('to_name' => $member->name, 'register_url' => sprintf('%s?token=%s', uri::create('member/recover/reset_password'), $token))); Session::set_flash('message', $message); Response::redirect(conf('login_uri.site')); } catch (EmailValidationFailedException $e) { Util_Toolkit::log_error('send mail error: ' . __METHOD__ . ' validation error'); $error_message = 'メール送信エラー'; } catch (EmailSendingFailedException $e) { Util_Toolkit::log_error('send mail error: ' . __METHOD__ . ' sending error'); $error_message = 'メール送信エラー'; } catch (\Database_Exception $e) { $is_transaction_rollback = true; $error_message = \Site_Controller::get_error_message($e, true); } catch (FuelException $e) { $is_transaction_rollback = true; $error_message = $e->getMessage(); } if ($error_message) { if ($is_transaction_rollback && DB::in_transaction()) { DB::rollback_transaction(); } Session::set_flash('error', $error_message); } $this->action_resend_password(); }
public static function remove(Model_Member $member) { if (conf('member.leave.isRemoveOnBatch')) { $name = $member->name; $member_auth = Model_MemberAuth::query()->where('member_id', $member->id)->get_one(); $email = $member_auth ? $member_auth->email : ''; DB::start_transaction(); $member_delete_queue = Model_MemberDeleteQueue::forge(array('member_id' => $member->id, 'name' => $name, 'email' => $email)); $member_delete_queue->save(); $member_auth->delete(); DB::commit_transaction(); $message = term('site.left') . 'を' . term('form.reserve') . 'しました。'; } else { static::delete($member->id); $message = term('site.left') . 'が' . term('form.complete') . 'しました。'; } return $message; }
private static function get_member_id4email($email) { if (!($member_auth = \Model_MemberAuth::query()->where('email', $email)->get_one())) { return false; } return $member_auth->member_id; }
public static function _init() { static::$_properties['member_id'] = Util_Orm::get_relational_numeric_key_prop(); static::$_properties['name'] = Model_Member::property('name'); static::$_properties['email'] = Model_MemberAuth::property('email'); }
public function get_form_signup_confirm() { return Site_Util::get_form_instance('confirm_signup', Model_MemberAuth::forge(), true, null, 'submit'); }
private function check_email_registered($posted_email, $mode, $dummy_message = '', $is_error_message = false) { if (!empty($this->u->member_auth->email) && $this->u->member_auth->email == $posted_email) { throw new ValidationFailedException(sprintf('その%sは現在登録済みです。', term('site.email'))); } $term_mail = term('site.mail'); if (Model_MemberAuth::get4email($posted_email)) { if (conf('member.setting.email.hideUniqueCheck')) { Session::set_flash($is_error_message ? 'error' : 'message', $dummy_message); return false; } throw new ValidationFailedException(sprintf('その%sは登録できません。', term('site.email'))); } return true; }