public function getErrors(Config $cfg) { $i18n = Localization::getTranslator(); $walletSettings = []; $emailSettings = []; $providerClass = ''; try { $provider = $cfg->getWalletProvider(); $providerClass = get_class($provider); $provider->verifyOwnership(); } catch (Exception $e) { if (strpos($providerClass, 'CoinbaseWallet') !== false) { $walletSettings[] = ['id' => '#wallet-coinbaseApiKey-error', 'error' => $e->getMessage()]; } else { $walletSettings[] = ['id' => '#wallet-id-error', 'error' => $e->getMessage()]; } } try { $t = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl'); $t->setUsername($cfg->getEmailUsername())->setPassword($cfg->getEmailPassword())->start(); } catch (Exception $e) { $emailSettings[] = ['id' => '#email-username-error', 'error' => $e->getMessage()]; } $errors = []; if (!empty($pricingSettings)) { $errors['#pricing-settings'] = self::getPricingErrorsFromConfig($cfg); } if (!empty($walletSettings)) { $errors['#wallet-settings'] = $walletSettings; } if (!empty($emailSettings)) { $errors['#email-settings'] = $emailSettings; } return $errors; }