* @link https://www.oxidmodule.com */ declare(strict_types=1); namespace D3\Totp\Modules\Application\Model; use D3\Totp\Application\Model\d3totp; use D3\Totp\Application\Model\d3totp_conf; use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Session; class d3_totp_user extends d3_totp_user_parent { public function logout() { $return = parent::logout(); $this->d3TotpGetSession()->deleteVariable(d3totp_conf::SESSION_AUTH); $this->d3TotpGetSession()->deleteVariable(d3totp_conf::SESSION_CURRENTUSER); $this->d3TotpGetSession()->deleteVariable(d3totp_conf::SESSION_ADMIN_AUTH); $this->d3TotpGetSession()->deleteVariable(d3totp_conf::SESSION_ADMIN_CURRENTUSER); return $return; } /** * @return d3totp */ public function d3getTotp() { $totp = oxNew(d3totp::class); Registry::getSession()->setVariable(d3totp_conf::OTP_SESSION_VARNAME, $totp); return $totp; } /** * @return Session */ public function d3TotpGetSession() { return Registry::getSession(); } /** * @return string|null */ public function d3TotpGetCurrentUser(): ?string { return $this->isAdmin() ? ($this->d3TotpGetSession()->hasVariable(d3totp_conf::SESSION_ADMIN_CURRENTUSER) ? $this->d3TotpGetSession()->getVariable(d3totp_conf::SESSION_ADMIN_CURRENTUSER) : $this->d3TotpGetSession()->getVariable(d3totp_conf::OXID_ADMIN_AUTH)) : ($this->d3TotpGetSession()->hasVariable(d3totp_conf::SESSION_CURRENTUSER) ? $this->d3TotpGetSession()->getVariable(d3totp_conf::SESSION_CURRENTUSER) : $this->d3TotpGetSession()->getVariable(d3totp_conf::OXID_FRONTEND_AUTH)); } }