totp); } public function hasSmsOption() { return !empty($this->smsRecipient) && !empty($this->smsOtpValue); } public function getSmsRecipient() { return $this->smsRecipient; } public function getSmsOtpValue() { return $this->smsOtpValue; } public function hasEmailOption() { return !empty($this->emailRecipient) && !empty($this->emailOtpValue); } public function getEmailRecipient() { return $this->emailRecipient; } public function getEmailOtpValue() { return $this->emailOtpValue; } public function addTotpOption() { $this->totp = true; } public function addSmsOption($otpValue, $recipient) { $this->smsOtpValue = !empty($otpValue) ? (string) $otpValue : null; $this->smsRecipient = !empty($recipient) ? (string) $recipient : null; } public function addEmailOption($otpValue, $recipient) { $this->emailOtpValue = !empty($otpValue) ? (string) $otpValue : null; $this->emailRecipient = !empty($recipient) ? (string) $recipient : null; } }