Code Analysis: Tidio Chat 6.0.19

Function Rating Maintainability Complexity Lines of code
TidioLiveChat\Container::get()
C
37 24 77
TidioLiveChat\TidioSdk\TidioIntegrationService::retrieveAccessTokens()
S
53 6 23
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::getNotMetConditions()
S
59 5 16
TidioLiveChat\Admin\Notice\DismissibleNoticeService::displayNotice()
S
49 3 38
TidioLiveChat\TidioSdk\TidioIntegrationService::integrateProject()
S
56 4 19
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::getIntegrationData()
S
60 4 14
TidioDotEnv::load()
S
62 4 11
TidioLiveChat\TidioLiveChat::load()
S
56 3 19
TidioLiveChat\Admin\AdminActionLink::addPluginActionLinks()
S
58 3 16
TidioLiveChat\Http\Client\CurlHttpClient::validateResponse()
S
64 4 9
TidioLiveChat\Http\Client\FileGetContentsHttpClient::validateResponse()
S
64 4 9
TidioLiveChat\Admin\AdminController::handleIntegrateWooCommerceAction()
S
65 4 9
TidioLiveChat\Admin\AdminController::handleIntegrateProjectAction()
S
60 3 13
TidioDotEnv::parseEnvFile()
S
60 3 12
TidioLiveChat\WooCommerceSdk\Dto\WooCommerceIntegrationDto::toIframeData()
S
61 3 12
TidioLiveChat\Widget\WidgetLoader::load()
S
62 3 11
TidioLiveChat\Admin\AdminController::handleAuthorizeWooCommerceAction()
S
63 3 11
TidioLiveChat\Admin\Notice\DismissibleNoticeController::handleDismissNotice()
S
62 3 11
TidioLiveChat\Admin\SystemInfoQuery::getSystemInfo()
S
53 2 22
TidioLiveChat\Http\Client\CurlHttpClient::sendPostRequest()
S
54 2 21
TidioLiveChat\Admin\AdminActionLink::prepareToggleAsyncLoadingActionLink()
S
57 2 19
TidioLiveChat\Http\Client\CurlHttpClient::sendGetRequest()
S
55 2 19
TidioLiveChat\Http\Client\FileGetContentsHttpClient::parseStatusCodeFromHeaders()
S
63 3 10
TidioLiveChat\Logs\Logger::readLog()
S
67 3 7
TidioLiveChat\Translation\TranslationLoader::loadTextDomain()
S
63 3 9
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::isRestApiEnabled()
S
63 3 10
TidioLiveChat\Encryption\Service\EncryptionServiceFactory::create()
S
68 3 7
TidioLiveChat\Admin\IframeSetup::getPanelRedirectUrl()
S
62 2 11
TidioLiveChat\Encryption\Service\OpenSslEncryptionService::decrypt()
S
61 2 11
TidioLiveChat\Widget\WidgetLoader::enqueueScriptsAsync()
S
56 1 24
TidioLiveChat\Http\Client\FileGetContentsHttpClient::sendPostRequest()
S
54 1 21
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::getAuthUrl()
S
56 1 20
initializeTidioLiveChat()
S
65 2 9
TidioLiveChat\Admin\AdminController::handleClearAccountDataAction()
S
67 2 8
TidioDotEnv::setEnvs()
S
72 2 5
TidioLiveChat\Http\Client\CurlHttpClient::parseResponseData()
S
65 2 9
TidioLiveChat\Admin\AdminDashboard::loadStylesAndScripts()
S
65 2 8
TidioLiveChat\Admin\Notice\DismissibleNoticeService::clearDismissedNoticesHistory()
S
74 2 5
TidioLiveChat\Http\Client\FileGetContentsHttpClient::sendGetRequest()
S
58 1 15
TidioLiveChat\Http\Client\FileGetContentsHttpClient::prepareRequestHeaders()
S
69 2 7
TidioLiveChat\Http\Client\FileGetContentsHttpClient::parseResponseData()
S
71 2 6
TidioLiveChat\Admin\AdminController::handleClearLogFile()
S
69 2 7
TidioLiveChat\Admin\AdminNotice::addAdminErrorNotice()
S
66 2 8
TidioLiveChat\Admin\Notice\DismissibleNoticeService::validateNoticeName()
S
74 2 5
TidioLiveChat\Logs\Logger::__construct()
S
69 2 7
TidioLiveChat\Admin\AdminNotice::displayDismissibleNotice()
S
71 2 6
TidioLiveChat\Config::getConfig()
S
70 2 6
TidioLiveChat\Container::has()
S
68 2 8
TidioLiveChat\TidioSdk\TidioApiClientFactory::create()
S
68 2 7
TidioLiveChat\TidioSdk\TidioApiClientFactory::createAuthenticated()
S
66 2 8
TidioDotEnv::__construct()
S
70 2 6
TidioLiveChat\Utils\QueryParameters::get()
S
70 2 6
TidioLiveChat\IntegrationState::hasAccessTokens()
S
74 2 4
TidioLiveChat\WooCommerceSdk\WooCommerceApiV3ClientFactory::create()
S
68 2 7
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::getWooCommerceVersion()
S
72 2 6
TidioLiveChat\IntegrationState::hasValidAccessTokens()
S
70 2 6
TidioLiveChat\Admin\IframeSetup::readRefIdFromFile()
S
67 2 8
TidioLiveChat\Admin\NonceValidator::isRequestNonceValid()
S
70 2 6
TidioLiveChat\Admin\AdminDashboard::addAdminPage()
S
65 2 9
TidioLiveChat\Admin\SystemInfoQuery::appendBool()
S
78 2 3
TidioLiveChat\Encryption\Service\EncryptionServiceFactory::getEncryptionKey()
S
71 2 6
TidioLiveChat\Admin\AdminController::handleToggleAsyncLoadingAction()
S
69 2 7
TidioLiveChat\Admin\IframeSetup::prepareAuthenticationIframeUrl()
S
59 1 14
TidioLiveChat\Admin\IframeSetup::prepareIntegrationSuccessIframeUrl()
S
62 1 12
TidioLiveChat\TidioSdk\TidioIntegrationService::getAccessTokens()
S
62 1 12
TidioLiveChat\Http\Client\FileGetContentsHttpClient::__construct()
S
64 1 11
TidioLiveChat\Admin\IframeSetup::getDefaultIframeQueryParams()
S
62 1 11
TidioLiveChat\Admin\AdminDashboard::addAdminMenuLink()
S
65 1 11
TidioLiveChat\Admin\AdminDashboard::addAdminBarItem()
S
63 1 11
TidioLiveChat\Http\Client\CurlHttpClient::__construct()
S
64 1 11
TidioLiveChat\TidioSdk\TidioApiClientFactory::__construct()
S
81 1 3
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::withUnknownErrorCode()
S
80 1 3
TidioLiveChat\Admin\Notice\DismissibleNoticeService::getNoticeFile()
S
74 1 5
TidioLiveChat\Admin\AdminController::isRequestNonceValid()
S
80 1 3
TidioLiveChat\Admin\Notice\Exception\NoticeNameIsNotAllowedException::withName()
S
80 1 3
TidioLiveChat\Clock\Clock::getCurrentTimestamp()
S
80 1 3
TidioLiveChat\Config::getApiUrl()
S
79 1 3
TidioLiveChat\Config::getPanelUrl()
S
79 1 3
TidioLiveChat\Config::getWidgetUrl()
S
79 1 3
TidioLiveChat\Config::getDebugLogPath()
S
79 1 3
TidioLiveChat\Admin\AdminRouting::getEndpointForToggleAsyncLoadingAction()
S
80 1 3
TidioLiveChat\Admin\AdminController::redirectToPluginAdminDashboard()
S
81 1 3
TidioLiveChat\Admin\AdminRouting::getEndpointForClearAccountDataAction()
S
80 1 3
TidioLiveChat\Container::buildWooCommerceIntegrationService()
S
70 1 7
TidioLiveChat\Admin\AdminRouting::getEndpointForAuthorizeWooCommerceAction()
S
80 1 3
TidioLiveChat\Admin\IframeSetup::prepareReintegrationIframeRoute()
S
66 1 9
TidioLiveChat\Container::buildAdminNotice()
S
72 1 6
TidioLiveChat\Container::buildAdminActionLink()
S
75 1 5
TidioLiveChat\Admin\AdminRouting::getEndpointForHandleDismissNotice()
S
71 1 6
TidioLiveChat\Admin\AdminController::redirectToAdminPage()
S
75 1 4
TidioLiveChat\Admin\AdminRouting::getEndpointForClearLogFileAction()
S
80 1 3
TidioLiveChat\Container::buildDismissibleNoticeController()
S
72 1 6
TidioLiveChat\Container::buildTidioApiClientFactory()
S
75 1 5
TidioLiveChat\Container::buildIframeSetup()
S
72 1 6
TidioLiveChat\Container::buildAdminRouting()
S
72 1 6
TidioLiveChat\Admin\IframeSetup::__construct()
S
77 1 4
TidioLiveChat\Admin\AdminController::redirectToUrl()
S
77 1 4
TidioLiveChat\WooCommerceSdk\Dto\WooCommerceIntegrationDto::createActive()
S
78 1 3
TidioLiveChat\Admin\AdminActionLink::load()
S
78 1 3
TidioLiveChat\IntegrationState::__construct()
S
81 1 3
TidioLiveChat\Container::buildLogger()
S
79 1 3
TidioLiveChat\IntegrationState::getProjectPrivateKey()
S
79 1 3
TidioLiveChat\IntegrationState::hasProjectPrivateKey()
S
78 1 3
TidioLiveChat\Admin\AdminDashboard::__construct()
S
74 1 5
TidioLiveChat\Admin\AdminDashboard::load()
S
69 1 6
TidioLiveChat\IntegrationState::getRefreshToken()
S
75 1 4
TidioLiveChat\IntegrationState::isPluginIntegrated()
S
78 1 3
TidioLiveChat\IntegrationState::isWooCommerceIntegrated()
S
79 1 3
TidioLiveChat\IntegrationState::isAsyncLoadingTurnedOn()
S
79 1 3
TidioLiveChat\IntegrationState::integrate()
S
72 1 5
TidioLiveChat\IntegrationState::updateAccessTokens()
S
70 1 6
TidioLiveChat\IntegrationState::integrateWooCommerce()
S
80 1 3
TidioLiveChat\IntegrationState::removeIntegration()
S
67 1 9
TidioLiveChat\IntegrationState::markAccessTokensAsValid()
S
80 1 3
TidioLiveChat\IntegrationState::markAccessTokensAsInvalid()
S
80 1 3
TidioLiveChat\IntegrationState::turnOnAsyncLoading()
S
80 1 3
TidioLiveChat\IntegrationState::toggleAsyncLoading()
S
79 1 3
TidioLiveChat\TidioLiveChat::__construct()
S
81 1 3
TidioLiveChat\Admin\SystemInfoQuery::appendSectionStart()
S
79 1 3
TidioLiveChat\Encryption\Exception\DecryptionFailedException::withInvalidHashErrorCode()
S
80 1 3
TidioLiveChat\Admin\SystemInfoQuery::appendSectionEnd()
S
81 1 3
TidioLiveChat\Admin\AdminDashboard::createSystemInfoPage()
S
70 1 6
TidioLiveChat\Encryption\Service\OpenSslEncryptionService::__construct()
S
76 1 4
TidioLiveChat\Encryption\Service\OpenSslEncryptionService::encrypt()
S
68 1 6
TidioLiveChat\Admin\Notice\DismissibleNoticeController::__construct()
S
77 1 4
TidioLiveChat\Encryption\Service\PlainTextEncryptionService::encrypt()
S
82 1 3
TidioLiveChat\Encryption\Service\PlainTextEncryptionService::decrypt()
S
82 1 3
TidioLiveChat\Logs\Logger::debug()
S
80 1 3
TidioLiveChat\Admin\Notice\DismissibleNoticeService::getAllowedNoticeOptions()
S
71 1 7
TidioLiveChat\Admin\AdminActionLink::isPluginConfigurationFile()
S
78 1 3
TidioLiveChat\Admin\Notice\DismissibleNoticeService::markAsDismissed()
S
76 1 4
TidioLiveChat\Widget\WidgetLoader::addPreconnectLink()
S
82 1 3
TidioLiveChat\Admin\AdminNotice::__construct()
S
77 1 4
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::withAccessTokensNotSetErrorCode()
S
80 1 3
TidioLiveChat\Admin\AdminController::redirectToPluginAdminDashboardWithError()
S
75 1 4
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::getErrorCode()
S
82 1 3
TidioLiveChat\WooCommerceSdk\Dto\WooCommerceIntegrationDto::createInactive()
S
80 1 3
TidioLiveChat\TidioSdk\Exception\CannotIntegrateWithProjectException::withErrorCode()
S
80 1 3
TidioLiveChat\Widget\WidgetLoader::__construct()
S
81 1 3
TidioLiveChat\WooCommerceSdk\Dto\WooCommerceIntegrationDto::createDisabled()
S
79 1 3
TidioLiveChat\TidioSdk\Dto\ApiCredentialsDto::getAccessToken()
S
82 1 3
TidioLiveChat\Container::buildWooCommerceApiV3ClientFactory()
S
75 1 5
TidioLiveChat\Admin\AdminNotice::load()
S
79 1 3
TidioLiveChat\Admin\Notice\Exception\NoticeNameIsNotAllowedException::__construct()
S
75 1 4
TidioLiveChat\Http\Exception\ErrorResponseException::getResponseData()
S
82 1 3
TidioLiveChat\Logs\Logger::clearLog()
S
80 1 3
TidioLiveChat\Container::buildWidgetLoader()
S
75 1 5
TidioLiveChat\Translation\I18n::_t()
S
79 1 3
TidioLiveChat\Admin\SystemInfoQuery::appendString()
S
79 1 3
TidioLiveChat\Container::buildTidioIntegrationService()
S
72 1 6
TidioLiveChat\Translation\ErrorTranslator::translate()
S
79 1 3
TidioLiveChat\Translation\TranslationLoader::load()
S
74 1 4
TidioLiveChat\Http\Exception\ErrorResponseException::__construct()
S
73 1 5
TidioLiveChat\Admin\Notice\DismissibleNoticeService::buildDismissibleNoticeHref()
S
80 1 3
TidioLiveChat\Logs\Logger::error()
S
80 1 3
TidioLiveChat\Admin\AdminDashboard::addSystemInfoPage()
S
66 1 10
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::withInvalidResponseErrorCode()
S
75 1 4
TidioLiveChat\Admin\AdminActionLink::__construct()
S
81 1 3
TidioLiveChat\Http\Exception\ErrorResponseException::getStatusCode()
S
82 1 3
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::withInvalidAccessTokensErrorCode()
S
80 1 3
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::hasEnabledPermalink()
S
79 1 3
TidioLiveChat\Admin\AdminController::redirectToPluginsListDashboard()
S
80 1 3
TidioLiveChat\TidioSdk\Dto\ApiCredentialsDto::getRefreshToken()
S
82 1 3
TidioLiveChat\Translation\I18n::_e()
S
79 1 3
TidioLiveChat\TidioSdk\Exception\CannotIntegrateWithProjectException::getErrorCode()
S
82 1 3
TidioLiveChat\Admin\Notice\DismissibleNoticeService::wasDismissed()
S
80 1 3
TidioLiveChat\Admin\AdminRouting::load()
S
64 1 9
TidioLiveChat\TidioSdk\Exception\CannotIntegrateWithProjectException::withUnauthorizedErrorCode()
S
80 1 3
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::__construct()
S
76 1 4
TidioLiveChat\TidioSdk\Exception\CannotIntegrateWithProjectException::withUnknownErrorCode()
S
80 1 3
TidioLiveChat\Admin\AdminRouting::getEndpointForIntegrateProjectAction()
S
80 1 3
TidioLiveChat\Admin\AdminRouting::getEndpointForIntegrateWooCommerceAction()
S
80 1 3
TidioLiveChat\IntegrationState::getProjectPublicKey()
S
79 1 3
TidioLiveChat\Widget\WidgetLoader::enqueueScriptsSync()
S
67 1 7
TidioLiveChat\Admin\AdminRouting::getEndpointForAction()
S
69 1 6
TidioLiveChat\Admin\Notice\DismissibleNoticeService::isNoticeNameAllowed()
S
78 1 3
TidioLiveChat\Logs\Logger::storeLogLine()
S
71 1 5
TidioLiveChat\WooCommerceSdk\Dto\WooCommerceIntegrationDto::createIntegrated()
S
78 1 3
TidioLiveChat\Container::buildSystemInfoQuery()
S
72 1 6
TidioLiveChat\Http\Exception\ErrorResponseException::withResponse()
S
79 1 3
TidioLiveChat\Container::buildIntegrationState()
S
75 1 5
TidioLiveChat\Admin\AdminRouting::__construct()
S
77 1 4
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::__construct()
S
74 1 5
TidioLiveChat\TidioSdk\Exception\CannotIntegrateWithProjectException::__construct()
S
76 1 4
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::isWooCommerceActivated()
S
80 1 3
TidioLiveChat\Container::buildAdminController()
S
65 1 10
TidioLiveChat\TidioSdk\Exception\CannotRetrieveAccessTokensException::withDecryptionFailedErrorCode()
S
80 1 3
TidioLiveChat\TidioSdk\TidioIntegrationService::__construct()
S
77 1 4
TidioLiveChat\Utils\QueryParameters::has()
S
79 1 3
TidioLiveChat\Admin\AdminController::redirectToPluginSystemInfo()
S
81 1 3
TidioLiveChat\TidioSdk\Dto\ApiCredentialsDto::__construct()
S
77 1 4
TidioLiveChat\Admin\SystemInfoQuery::appendText()
S
80 1 3
TidioLiveChat\Utils\Url::build()
S
69 1 7
TidioLiveChat\Container::buildEncryptionService()
S
76 1 4
TidioLiveChat\Logs\Logger::info()
S
80 1 3
TidioLiveChat\WooCommerceSdk\Dto\WooCommerceIntegrationDto::__construct()
S
74 1 5
TidioLiveChat\WooCommerceSdk\WooCommerceApiV3ClientFactory::__construct()
S
81 1 3
TidioLiveChat\Admin\AdminController::__construct()
S
67 1 8
TidioLiveChat\Admin\AdminActionLink::prepareClearAccountDataActionLink()
S
70 1 7
TidioLiveChat\WooCommerceSdk\WooCommerceIntegrationService::isWooCommerceMinimumVersionInstalled()
S
78 1 3
TidioLiveChat\Admin\SystemInfoQuery::__construct()
S
77 1 4
TidioLiveChat\Container::buildAdminDashboard()
S
70 1 7