Example #1
0
 /**
  * Creates a new verification token, saves it to the database and sends the verification mail
  *
  * @param string $email the email address to verify
  * @param User $userObject (optional) the existing session user object to modify
  */
 public static function askForEmailVerification($email, &$userObject = NULL)
 {
     $mailVerificationToken = self::createSecret(self::SECRET_LENGTH_SHORT);
     Database::saveVerificationToken(Authentication::getUserID(), $mailVerificationToken, time() + 86400);
     // save the timestamp for this new verification attempt to the current session
     if (empty($userObject)) {
         $newUserObject = self::getUser();
         $newUserObject->setEmail_lastVerificationAttempt(time());
         self::updateUserInfo($newUserObject);
     } else {
         $userObject->setEmail_lastVerificationAttempt(time());
     }
     // send the email containing the verification link
     self::sendVerificationMail($email, $mailVerificationToken);
 }