original_string: private function sendEmailConfirmationLink($user, $keySuffix)
      {
          $login = $user['login'];
          $email = $user['email'];
  
          // construct a password reset token from user information
          $resetToken = $this->generatePasswordResetToken($user, $keySuffix);
  
          $confirmPasswordModule = $this->confirmPasswordModule;
          $confirmPasswordAction = $this->confirmPasswordAction;
  
          $ip = IP::getIpFromHeader();
          $url = Url::getCurrentUrlWithoutQueryString()
              . "?module=$confirmPasswordModule&action=$confirmPasswordAction&login=" . urlencode($login)
              . "&resetToken=" . urlencode($resetToken);
  
          // send email with new password
          $mail = new Mail();
          $mail->addTo($email, $login);
          $mail->setSubject(Piwik::translate('Login_MailTopicPasswordChange'));
          $bodyText = '<p>' . str_replace(
                  "\n\n",
                  "</p><p>",
                  Piwik::translate('Login_MailPasswordChangeBody2', [Common::sanitizeInputValue($login), $ip, $url])
              ) . "</p>";
          $mail->setWrappedHtmlBody($bodyText);
  
          $mail->setFrom($this->emailFromAddress, $this->emailFromName);
  
          $replytoEmailName = Config::getInstance()->General['login_password_recovery_replyto_email_name'];
          $replytoEmailAddress = Config::getInstance()->General['login_password_recovery_replyto_email_address'];
          $mail->setReplyTo($replytoEmailAddress, $replytoEmailName);
  
          @$mail->send();
      }
code: private function sendEmailConfirmationLink($user, $keySuffix)
      {
          $login = $user['login'];
          $email = $user['email'];
  
          // construct a password reset token from user information
          $resetToken = $this->generatePasswordResetToken($user, $keySuffix);
  
          $confirmPasswordModule = $this->confirmPasswordModule;
          $confirmPasswordAction = $this->confirmPasswordAction;
  
          $ip = IP::getIpFromHeader();
          $url = Url::getCurrentUrlWithoutQueryString()
              . "?module=$confirmPasswordModule&action=$confirmPasswordAction&login=" . urlencode($login)
              . "&resetToken=" . urlencode($resetToken);
  
          // send email with new password
          $mail = new Mail();
          $mail->addTo($email, $login);
          $mail->setSubject(Piwik::translate('Login_MailTopicPasswordChange'));
          $bodyText = '<p>' . str_replace(
                  "\n\n",
                  "</p><p>",
                  Piwik::translate('Login_MailPasswordChangeBody2', [Common::sanitizeInputValue($login), $ip, $url])
              ) . "</p>";
          $mail->setWrappedHtmlBody($bodyText);
  
          $mail->setFrom($this->emailFromAddress, $this->emailFromName);
  
          $replytoEmailName = Config::getInstance()->General['login_password_recovery_replyto_email_name'];
          $replytoEmailAddress = Config::getInstance()->General['login_password_recovery_replyto_email_address'];
          $mail->setReplyTo($replytoEmailAddress, $replytoEmailName);
  
          @$mail->send();
      }
code_tokens: private function sendEmailConfirmationLink ( $ user , $ keySuffix ) { $ login = $ user [ 'login' ] ; $ email = $ user [ 'email' ] ; // construct a password reset token from user information $ resetToken = $ this -> generatePasswordResetToken ( $ user , $ keySuffix ) ; $ confirmPasswordModule = $ this -> confirmPasswordModule ; $ confirmPasswordAction = $ this -> confirmPasswordAction ; $ ip = IP :: getIpFromHeader ( ) ; $ url = Url :: getCurrentUrlWithoutQueryString ( ) . "?module=$confirmPasswordModule&action=$confirmPasswordAction&login=" . urlencode ( $ login ) . "&resetToken=" . urlencode ( $ resetToken ) ; // send email with new password $ mail = new Mail ( ) ; $ mail -> addTo ( $ email , $ login ) ; $ mail -> setSubject ( Piwik :: translate ( 'Login_MailTopicPasswordChange' ) ) ; $ bodyText = '<p>' . str_replace ( "\n\n" , "</p><p>" , Piwik :: translate ( 'Login_MailPasswordChangeBody2' , [ Common :: sanitizeInputValue ( $ login ) , $ ip , $ url ] ) ) . "</p>" ; $ mail -> setWrappedHtmlBody ( $ bodyText ) ; $ mail -> setFrom ( $ this -> emailFromAddress , $ this -> emailFromName ) ; $ replytoEmailName = Config :: getInstance ( ) -> General [ 'login_password_recovery_replyto_email_name' ] ; $ replytoEmailAddress = Config :: getInstance ( ) -> General [ 'login_password_recovery_replyto_email_address' ] ; $ mail -> setReplyTo ( $ replytoEmailAddress , $ replytoEmailName ) ; @ $ mail -> send ( ) ; }
docstring: Sends email confirmation link for a password reset request.
  
  @param array $user User info for the requested password reset.
  @param string $keySuffix The suffix used in generating a token.
docstring_tokens: Sends email confirmation link for a password reset request .