/** * Check if rpToken is expired * * @param string $rpToken * @param string $rpTokenCreatedAt * @return bool */ public function isResetPasswordLinkTokenExpired($rpToken, $rpTokenCreatedAt) { if (empty($rpToken) || empty($rpTokenCreatedAt)) { return true; } $expirationPeriod = $this->customerModel->getResetPasswordLinkExpirationPeriod(); $currentTimestamp = (new \DateTime())->getTimestamp(); $tokenTimestamp = (new \DateTime($rpTokenCreatedAt))->getTimestamp(); if ($tokenTimestamp > $currentTimestamp) { return true; } $dayDifference = floor(($currentTimestamp - $tokenTimestamp) / (24 * 60 * 60)); if ($dayDifference >= $expirationPeriod) { return true; } return false; }