Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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');
 }
Exemplo n.º 3
0
 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'));
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 /**
  * 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();
 }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
 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');
 }
Exemplo n.º 9
0
 public function get_form_signup_confirm()
 {
     return Site_Util::get_form_instance('confirm_signup', Model_MemberAuth::forge(), true, null, 'submit');
 }
Exemplo n.º 10
0
 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;
 }