protected function getRecoveryCodes($isActiveOnly = false, $isRegenerationAllowed = false) { $query = RecoveryCodesTable::query()->addSelect('CODE', 'VALUE')->addSelect('USED')->addSelect('USING_DATE')->addFilter('=USER_ID', $this->arParams['USER_ID']); if ($isActiveOnly) { $query->addFilter('=USED', 'N'); } $codes = $query->exec()->fetchAll(); if (is_array($codes) && !empty($codes)) { return $codes; } elseif ($isRegenerationAllowed) { return $this->regenerateRecoveryCodes(); } else { return array(); } }