Пример #1
0
 public static function getInstance()
 {
     if (is_null(self::$_instance)) {
         self::$_instance = new self();
         self::$_instance->_table = 'fakemail';
     }
     return self::$_instance;
 }
Пример #2
0
 public function signupAction()
 {
     $this->_helper->layout->setLayout('entrance');
     $request = $this->getRequest();
     $form = new Application_Form_UserSignup();
     if ($this->isLoggedin()) {
         $this->view->loggedin = true;
     } else {
         if ($this->getRequest()->isPost()) {
             if ('0' === $this->getParam('agree')) {
                 $form->getElement('agree')->addError($this->_translate->_('signup_not_agreed'));
             }
             if ($form->isValid($request->getPost())) {
                 $valid = true;
                 $email = strtolower($form->getValue('email'));
                 if ($form->getValue('password') !== $form->getValue('repassword')) {
                     $form->getElement('repassword')->addError($this->_translate->_('signup_not_matching'));
                     $valid = false;
                 }
                 if ($this->_userRepo->emailExists($email) || Application_Model_SignUpRepository::getInstance()->emailExists($email)) {
                     $form->getElement('email')->addError($this->_translate->_('signup_existing'));
                     $valid = false;
                 }
                 $domain = substr($email, strpos($email, '@') + 1);
                 if (!Application_Model_FakeMailRepository::getInstance()->isValid($domain)) {
                     $form->getElement('email')->addError($this->_translate->_('signup_fakemail'));
                     $valid = false;
                 }
                 if ($valid) {
                     $user = new Application_Model_Entity_User();
                     $user->setFirstName($form->getValue('firstname'));
                     $user->setLastName($form->getValue('lastname'));
                     $user->setEmail($email);
                     $user->setPassword(Application_Model_Hash::hash($form->getValue('password')));
                     $code = Application_Model_SignUpRepository::getInstance()->signup($user, '1' === $form->getValue('agreenotify'), $form->getValue('code'));
                     $this->_mail->sendSignUp($user, $code);
                     $this->_mail->report($user->getName() . ' signed up on feader with ' . $user->getEmail());
                     echo '<div class="center">' . $this->_translate->_('signup_success') . '</div>';
                     return;
                 }
             }
             $this->view->form = $form;
         } else {
             $form->getElement('code')->setValue($this->getParam('code'));
             $this->view->form = $form;
         }
     }
 }