* @link https://www.oxidmodule.com */ namespace D3\Totp\Modules\Application\Controller; use D3\Totp\Application\Model\d3totp; use Doctrine\DBAL\DBALException; use OxidEsales\Eshop\Application\Model\User; use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException; use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Session; trait d3_totp_getUserTrait { /** * @return bool|object|User * @throws DatabaseConnectionException * @throws DBALException */ public function getUser() { $oUser = parent::getUser(); if ($oUser && $oUser->getId()) { $totp = $this->d3GetTotpObject(); $totp->loadByUserId($oUser->getId()); if ($totp->isActive() && false == $this->d3GetSessionObject()->getVariable(d3totp::TOTP_SESSION_VARNAME) ) { return false; } } return $oUser; } /** * @return d3totp */ public function d3GetTotpObject() { return oxNew(d3totp::class); } /** * @return Session */ public function d3GetSessionObject() { return Registry::getSession(); } }