original_string: public function generatePasswordResetToken($user, $keySuffix, $expiryTimestamp = null)
      {
          /*
           * Piwik does not store the generated password reset token.
           * This avoids a database schema change and SQL queries to store, retrieve, and purge (expired) tokens.
           */
          if (!$expiryTimestamp) {
              $expiryTimestamp = $this->getDefaultExpiryTime();
          }
  
          $expiry = strftime('%Y%m%d%H', $expiryTimestamp);
          $token = $this->generateSecureHash(
              $expiry . $user['login'] . $user['email'] . $user['ts_password_modified'] . $keySuffix,
              $user['password']
          );
          return $token;
      }
code: public function generatePasswordResetToken($user, $keySuffix, $expiryTimestamp = null)
      {
          /*
           * Piwik does not store the generated password reset token.
           * This avoids a database schema change and SQL queries to store, retrieve, and purge (expired) tokens.
           */
          if (!$expiryTimestamp) {
              $expiryTimestamp = $this->getDefaultExpiryTime();
          }
  
          $expiry = strftime('%Y%m%d%H', $expiryTimestamp);
          $token = $this->generateSecureHash(
              $expiry . $user['login'] . $user['email'] . $user['ts_password_modified'] . $keySuffix,
              $user['password']
          );
          return $token;
      }
code_tokens: public function generatePasswordResetToken ( $ user , $ keySuffix , $ expiryTimestamp = null ) { /*
           * Piwik does not store the generated password reset token.
           * This avoids a database schema change and SQL queries to store, retrieve, and purge (expired) tokens.
           */ if ( ! $ expiryTimestamp ) { $ expiryTimestamp = $ this -> getDefaultExpiryTime ( ) ; } $ expiry = strftime ( '%Y%m%d%H' , $ expiryTimestamp ) ; $ token = $ this -> generateSecureHash ( $ expiry . $ user [ 'login' ] . $ user [ 'email' ] . $ user [ 'ts_password_modified' ] . $ keySuffix , $ user [ 'password' ] ) ; return $ token ; }
docstring: Generate a password reset token.  Expires in 24 hours from the beginning of the current hour.
  
  The reset token is generated using a user's email, login and the time when the token expires.
  
  @param array $user The user information.
  @param string $keySuffix The suffix used in generating a token.
  @param int|null $expiryTimestamp The expiration timestamp to use or null to generate one from
  the current timestamp.
  @return string The generated token.
docstring_tokens: Generate a password reset token . Expires in 24 hours from the beginning of the current hour .