Esempio n. 1
0
 public static function create($time, $email, $data, PropelPDO $con)
 {
     $emailValidation = new EmailValidation();
     $hash = md5($time . $email . 'arbitaryKey:EmailValidation') . $time;
     $emailValidation->setHash($hash)->setCreationdate($time)->setMeta(json_encode($data))->save($con);
     return $emailValidation;
 }
Esempio n. 2
0
 public static function create($email)
 {
     $manager = BaseManager::build('FelixOnline\\Core\\EmailValidation', 'email_validation');
     $manager->filter('email = "%s"', array($email));
     $count = $manager->count();
     if ($count != 0) {
         return false;
     }
     $class = new EmailValidation();
     $class->setEmail($email);
     $class->setConfirmed(0);
     // Generate a code
     $code = uniqid();
     $class->setCode($code);
     $class->save();
     // Return the code for use elsewhere
     return $code;
 }
 public function action_confirm_email_registration()
 {
     $valid = false;
     if (empty($_REQUEST['hash'])) {
         throw new PageNotFoundException();
     }
     $emailValidation = \EmailValidation::validateHash($_REQUEST['hash']);
     if (!$emailValidation) {
         throw new InvalidDataException('Sorry the provided registration hash is invalid!');
     }
     list($valid, $data, $referralMember, $invitation) = \Member::validateSignupForm(json_decode($emailValidation->getMeta(), true));
     if ($valid !== true) {
         throw new \Exception('Doh, something is wrong with the registration data!');
     }
     $con = \Propel::getConnection();
     $member = \Activity::exec(['\\Member', 'activity_createFromSignup'], [$data, $referralMember, $invitation, $con], \Activity::ACT_MEMBER_SIGNUP, null, $referralMember, $con);
     $member->reload(false, $con);
     Session::setLogin($member);
     Session::set(Session::KEY_SIGNUP_MSG, true);
     return new ControllerActionRedirect(Router::toModule('account'));
 }
Esempio n. 4
0
 public static function sendEmailValidation($recipientEmail, $recipientFullName, \EmailValidation $emailValidation)
 {
     $locale = Localizer::get('mail.email_validation');
     $href = Router::toModule('member', 'confirm_email_registration', ['hash' => $emailValidation->getHash()]);
     return self::send($recipientEmail, $recipientFullName, $locale['subject'], Localizer::insert($locale['body'], ['fullname' => $recipientFullName, 'link' => $href], false));
 }