public function validateCode($code) { $row = $this->_db->query('SELECT * FROM ' . $this->_table . ' WHERE code=?', [$code])->fetch(); if ($row['code'] !== $code) { return false; } else { Application_Model_SignUpRepository::getInstance()->setValidated($row['email']); $user = Application_Model_UserRepository::getInstance()->getByEmail($row['email']); if (!is_null($user)) { $user->setRole('user'); Application_Model_UserRepository::getInstance()->update($user); } $this->delete($code); return true; } }
private function updateUsers() { $date = $this->_userRepo->getLatestDate(); $signUps = Application_Model_SignUpRepository::getInstance()->processSignup(5, $date); foreach ($signUps as $signUp) { $id = $this->_userRepo->add($signUp); $language = Application_Model_SignUpRepository::getInstance()->get($signUp->getId())->getLanguage(); Application_Model_SignUpRepository::getInstance()->setId($id, $signUp->getEmail()); Application_Model_UserSettingRepository::getInstance()->addSetting($id, $language); if ($signUp->isValidated()) { $this->_mail->sendActivated($signUp); } } }
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; } } }