. */ namespace SP\Modules\Web\Controllers\Account; use SP\Core\Application; use SP\Core\Context\ContextBase; use SP\Domain\Auth\Services\AuthException; use SP\Domain\Core\Exceptions\SessionTimeout; use SP\Modules\Web\Controllers\ControllerBase; use SP\Mvc\Controller\WebControllerHelper; /** * AccountControllerBase */ abstract class AccountControllerBase extends ControllerBase { private const LOGIN_NOT_REQUIRED = ['ViewLinkController']; /** * @throws AuthException * @throws SessionTimeout */ public function __construct(Application $application, WebControllerHelper $webControllerHelper) { parent::__construct($application, $webControllerHelper); $this->initialize(); } /** * Initialize class * * @throws SessionTimeout * @throws AuthException */ private function initialize(): void { if (in_array(static::class, self::LOGIN_NOT_REQUIRED)) { $this->checkLoggedIn(); } if (DEBUG === true && $this->session->getAppStatus() === ContextBase::APP_STATUS_RELOADED) { $this->session->resetAppStatus(); } } }