* @link http://www.oxidmodule.com */ namespace D3\Totp\Modules\Core; use D3\Totp\Application\Model\d3totp; use Doctrine\DBAL\DBALException; use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException; use OxidEsales\Eshop\Core\Registry; use OxidEsales\Eshop\Core\Session; class d3_totp_utils extends d3_totp_utils_parent { /** * @return bool * @throws DBALException * @throws DatabaseConnectionException */ public function checkAccessRights() { $blAuth = parent::checkAccessRights(); $userID = $this->d3GetSessionObject()->getVariable("auth"); $totpAuth = (bool) $this->d3GetSessionObject()->getVariable(d3totp::TOTP_SESSION_VARNAME); /** @var d3totp $totp */ $totp = $this->d3GetTotpObject(); $totp->loadByUserId($userID); if ($blAuth && $totp->isActive() && false === $totpAuth) { $this->redirect('index.php?cl=login', true, 302); if (false == defined('OXID_PHP_UNIT')) { // @codeCoverageIgnoreStart exit; // @codeCoverageIgnoreEnd } } return $blAuth; } /** * @return Session */ public function d3GetSessionObject() { return Registry::getSession(); } /** * @return d3totp */ public function d3GetTotpObject() { return oxNew(d3totp::class); } }