Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 20 40 60 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Helper\SearchHelper — Coverage: 82.8% | Lines: 203 | Complexity: 39 phpMyFAQ\Helper\CategoryHelper — Coverage: 80.4% | Lines: 148 | Complexity: 34 phpMyFAQ\Helper\StatisticsHelper — Coverage: 84.2% | Lines: 133 | Complexity: 53 phpMyFAQ\Helper\FaqHelper — Coverage: 78.0% | Lines: 123 | Complexity: 16 phpMyFAQ\Helper\SvgSanitizer — Coverage: 97.2% | Lines: 107 | Complexity: 25 phpMyFAQ\Helper\RegistrationHelper — Coverage: 23.5% | Lines: 68 | Complexity: 23 phpMyFAQ\Helper\QuestionHelper — Coverage: 100.0% | Lines: 66 | Complexity: 8 phpMyFAQ\Helper\LanguageHelper — Coverage: 63.8% | Lines: 58 | Complexity: 19 phpMyFAQ\Helper\AttachmentHelper — Coverage: 100.0% | Lines: 56 | Complexity: 14 phpMyFAQ\Helper\TagsHelper — Coverage: 100.0% | Lines: 38 | Complexity: 7 phpMyFAQ\Helper\MailHelper — Coverage: 100.0% | Lines: 17 | Complexity: 4 phpMyFAQ\Helper\AbstractHelper — Coverage: 100.0% | Lines: 16 | Complexity: 10 phpMyFAQ\Helper\UserHelper — Coverage: 100.0% | Lines: 15 | Complexity: 4 phpMyFAQ\Helper\PermissionHelper — Coverage: 100.0% | Lines: 10 | Complexity: 3

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 20 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Helper\SearchHelper::getSearchResult — Coverage: 63.9% | Lines: 97 | Complexity: 17 phpMyFAQ\Helper\AttachmentHelper::mapMimeTypeToIcon — Coverage: 100.0% | Lines: 49 | Complexity: 12 phpMyFAQ\Helper\FaqHelper::cleanUpContent — Coverage: 100.0% | Lines: 49 | Complexity: 3 phpMyFAQ\Helper\FaqHelper::convertOldInternalLinks — Coverage: 51.0% | Lines: 49 | Complexity: 7 phpMyFAQ\Helper\RegistrationHelper::createUser — Coverage: 0.0% | Lines: 44 | Complexity: 13 phpMyFAQ\Helper\SearchHelper::createAutoCompleteResult — Coverage: 100.0% | Lines: 44 | Complexity: 5 phpMyFAQ\Helper\QuestionHelper::getOpenQuestions — Coverage: 100.0% | Lines: 40 | Complexity: 6 phpMyFAQ\Helper\SvgSanitizer::removeDangerousContent — Coverage: 100.0% | Lines: 37 | Complexity: 3 phpMyFAQ\Helper\CategoryHelper::buildCategoryList — Coverage: 100.0% | Lines: 36 | Complexity: 6 phpMyFAQ\Helper\CategoryHelper::buildCategoryNodes — Coverage: 100.0% | Lines: 34 | Complexity: 5 phpMyFAQ\Helper\SvgSanitizer::decodeAllEntities — Coverage: 100.0% | Lines: 31 | Complexity: 3 phpMyFAQ\Helper\CategoryHelper::getModerators — Coverage: 0.0% | Lines: 28 | Complexity: 12 phpMyFAQ\Helper\SearchHelper::renderRelatedFaqs — Coverage: 100.0% | Lines: 28 | Complexity: 5 phpMyFAQ\Helper\StatisticsHelper::getTrackingFilesStatistics — Coverage: 81.5% | Lines: 27 | Complexity: 9 phpMyFAQ\Helper\QuestionHelper::generateSmartAnswer — Coverage: 100.0% | Lines: 26 | Complexity: 2 phpMyFAQ\Helper\SearchHelper::renderAdminSuggestionResult — Coverage: 100.0% | Lines: 24 | Complexity: 5 phpMyFAQ\Helper\LanguageHelper::renderSelectLanguage — Coverage: 0.0% | Lines: 21 | Complexity: 6 phpMyFAQ\Helper\StatisticsHelper::deleteTrackingFiles — Coverage: 60.0% | Lines: 20 | Complexity: 11 phpMyFAQ\Helper\StatisticsHelper::renderDaySelector — Coverage: 100.0% | Lines: 20 | Complexity: 4 phpMyFAQ\Helper\LanguageHelper::getAvailableLanguages — Coverage: 100.0% | Lines: 19 | Complexity: 5 phpMyFAQ\Helper\LanguageHelper::renderLanguageOptions — Coverage: 100.0% | Lines: 18 | Complexity: 8 phpMyFAQ\Helper\TagsHelper::renderSearchTag — Coverage: 100.0% | Lines: 18 | Complexity: 2 phpMyFAQ\Helper\StatisticsHelper::getLastTrackingDate — Coverage: 94.1% | Lines: 17 | Complexity: 8 phpMyFAQ\Helper\MailHelper::sendMailToNewUser — Coverage: 100.0% | Lines: 16 | Complexity: 3 phpMyFAQ\Helper\RegistrationHelper::isDomainAllowed — Coverage: 93.8% | Lines: 16 | Complexity: 8 phpMyFAQ\Helper\StatisticsHelper::getFirstTrackingDate — Coverage: 93.3% | Lines: 15 | Complexity: 6 phpMyFAQ\Helper\SvgSanitizer::isSafe — Coverage: 93.3% | Lines: 15 | Complexity: 8 phpMyFAQ\Helper\CategoryHelper::renderCategoryTree — Coverage: 100.0% | Lines: 14 | Complexity: 2 phpMyFAQ\Helper\UserHelper::getAllUsersForTemplate — Coverage: 100.0% | Lines: 14 | Complexity: 3 phpMyFAQ\Helper\StatisticsHelper::renderMonthSelector — Coverage: 92.3% | Lines: 13 | Complexity: 3 phpMyFAQ\Helper\FaqHelper::renderAnswerPreview — Coverage: 100.0% | Lines: 12 | Complexity: 2 phpMyFAQ\Helper\SvgSanitizer::detectIssues — Coverage: 100.0% | Lines: 12 | Complexity: 5 phpMyFAQ\Helper\StatisticsHelper::getAllTrackingDates — Coverage: 90.9% | Lines: 11 | Complexity: 7 phpMyFAQ\Helper\SvgSanitizer::sanitize — Coverage: 81.8% | Lines: 11 | Complexity: 5 phpMyFAQ\Helper\CategoryHelper::normalizeCategoryTree — Coverage: 100.0% | Lines: 10 | Complexity: 2 phpMyFAQ\Helper\PermissionHelper::permOptions — Coverage: 100.0% | Lines: 10 | Complexity: 3 phpMyFAQ\Helper\CategoryHelper::buildAvailableCategoryTranslationsList — Coverage: 100.0% | Lines: 9 | Complexity: 2 phpMyFAQ\Helper\StatisticsHelper::clearAllVisits — Coverage: 55.6% | Lines: 9 | Complexity: 4 phpMyFAQ\Helper\FaqHelper::createFaqUrl — Coverage: 100.0% | Lines: 8 | Complexity: 1 phpMyFAQ\Helper\SearchHelper::renderScore — Coverage: 100.0% | Lines: 8 | Complexity: 5 phpMyFAQ\Helper\TagsHelper::renderRelatedTag — Coverage: 100.0% | Lines: 8 | Complexity: 1 phpMyFAQ\Helper\AttachmentHelper::getAttachmentList — Coverage: 100.0% | Lines: 7 | Complexity: 2 phpMyFAQ\Helper\CategoryHelper::gatherCategoryData — Coverage: 100.0% | Lines: 7 | Complexity: 1 phpMyFAQ\Helper\RegistrationHelper::buildRegistrationResponse — Coverage: 0.0% | Lines: 7 | Complexity: 1 phpMyFAQ\Helper\TagsHelper::setTaggingIds — Coverage: 100.0% | Lines: 7 | Complexity: 1 phpMyFAQ\Helper\CategoryHelper::renderAvailableTranslationsOptions — Coverage: 100.0% | Lines: 6 | Complexity: 2 phpMyFAQ\Helper\CategoryHelper::getCategoryTreeData — Coverage: 75.0% | Lines: 4 | Complexity: 2 phpMyFAQ\Helper\TagsHelper::renderTagList — Coverage: 100.0% | Lines: 4 | Complexity: 2 phpMyFAQ\Helper\FaqHelper::createOverview — Coverage: 0.0% | Lines: 3 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::setCategory — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::setCategoryRelation — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::setTags — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::setPlurals — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::setSessionId — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::setConfiguration — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::getCategory — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::category — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::plurals — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\AbstractHelper::getConfiguration — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\FaqHelper::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\FaqHelper::rewriteUrlFragments — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\MailHelper::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\RegistrationHelper::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\SearchHelper::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\SearchHelper::setSearchTerm — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\StatisticsHelper::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\SvgSanitizer::shouldReject — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\TagsHelper::getTaggingIds — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Helper\UserHelper::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
phpMyFAQ\Helper\RegistrationHelper::createUser1820.0%
phpMyFAQ\Helper\CategoryHelper::getModerators1560.0%
phpMyFAQ\Helper\LanguageHelper::renderSelectLanguage420.0%
phpMyFAQ\Helper\SearchHelper::getSearchResult30.5863.9%
phpMyFAQ\Helper\StatisticsHelper::deleteTrackingFiles18.7460.0%
phpMyFAQ\Helper\FaqHelper::convertOldInternalLinks12.7651.0%
phpMyFAQ\Helper\AttachmentHelper::mapMimeTypeToIcon12100.0%
phpMyFAQ\Helper\StatisticsHelper::getTrackingFilesStatistics9.5181.5%
phpMyFAQ\Helper\RegistrationHelper::isDomainAllowed8.0293.8%
phpMyFAQ\Helper\SvgSanitizer::isSafe8.0293.3%
phpMyFAQ\Helper\StatisticsHelper::getLastTrackingDate8.0194.1%
phpMyFAQ\Helper\LanguageHelper::renderLanguageOptions8100.0%
phpMyFAQ\Helper\StatisticsHelper::getAllTrackingDates7.0490.9%
phpMyFAQ\Helper\StatisticsHelper::getFirstTrackingDate6.0193.3%
phpMyFAQ\Helper\CategoryHelper::buildCategoryList6100.0%
phpMyFAQ\Helper\QuestionHelper::getOpenQuestions6100.0%
phpMyFAQ\Helper\StatisticsHelper::clearAllVisits5.4055.6%
phpMyFAQ\Helper\SvgSanitizer::sanitize5.1581.8%
phpMyFAQ\Helper\CategoryHelper::buildCategoryNodes5100.0%
phpMyFAQ\Helper\LanguageHelper::getAvailableLanguages5100.0%
phpMyFAQ\Helper\SearchHelper::createAutoCompleteResult5100.0%
phpMyFAQ\Helper\SearchHelper::renderAdminSuggestionResult5100.0%
phpMyFAQ\Helper\SearchHelper::renderScore5100.0%
phpMyFAQ\Helper\SearchHelper::renderRelatedFaqs5100.0%
phpMyFAQ\Helper\SvgSanitizer::detectIssues5100.0%
phpMyFAQ\Helper\StatisticsHelper::renderDaySelector4100.0%
phpMyFAQ\Helper\FaqHelper::cleanUpContent3100.0%
phpMyFAQ\Helper\MailHelper::sendMailToNewUser3100.0%
phpMyFAQ\Helper\PermissionHelper::permOptions3100.0%
phpMyFAQ\Helper\StatisticsHelper::renderMonthSelector3.0092.3%
phpMyFAQ\Helper\SvgSanitizer::decodeAllEntities3100.0%
phpMyFAQ\Helper\SvgSanitizer::removeDangerousContent3100.0%
phpMyFAQ\Helper\UserHelper::getAllUsersForTemplate3100.0%
phpMyFAQ\Helper\CategoryHelper::getCategoryTreeData2.0675.0%
phpMyFAQ\Helper\AttachmentHelper::getAttachmentList2100.0%
phpMyFAQ\Helper\CategoryHelper::renderCategoryTree2100.0%
phpMyFAQ\Helper\CategoryHelper::buildAvailableCategoryTranslationsList2100.0%
phpMyFAQ\Helper\CategoryHelper::normalizeCategoryTree2100.0%
phpMyFAQ\Helper\CategoryHelper::renderAvailableTranslationsOptions2100.0%
phpMyFAQ\Helper\FaqHelper::renderAnswerPreview2100.0%
phpMyFAQ\Helper\FaqHelper::createOverview20.0%
phpMyFAQ\Helper\QuestionHelper::generateSmartAnswer2100.0%
phpMyFAQ\Helper\RegistrationHelper::buildRegistrationResponse20.0%
phpMyFAQ\Helper\TagsHelper::renderTagList2100.0%
phpMyFAQ\Helper\TagsHelper::renderSearchTag2100.0%
phpMyFAQ\Helper\AbstractHelper::setCategory1100.0%
phpMyFAQ\Helper\AbstractHelper::getCategory1100.0%
phpMyFAQ\Helper\AbstractHelper::category1100.0%
phpMyFAQ\Helper\AbstractHelper::plurals1100.0%
phpMyFAQ\Helper\AbstractHelper::setCategoryRelation1100.0%
phpMyFAQ\Helper\AbstractHelper::setTags1100.0%
phpMyFAQ\Helper\AbstractHelper::setPlurals1100.0%
phpMyFAQ\Helper\AbstractHelper::setSessionId1100.0%
phpMyFAQ\Helper\AbstractHelper::setConfiguration1100.0%
phpMyFAQ\Helper\AbstractHelper::getConfiguration1100.0%
phpMyFAQ\Helper\CategoryHelper::gatherCategoryData1100.0%
phpMyFAQ\Helper\FaqHelper::__construct1100.0%
phpMyFAQ\Helper\FaqHelper::rewriteUrlFragments1100.0%
phpMyFAQ\Helper\FaqHelper::createFaqUrl1100.0%
phpMyFAQ\Helper\MailHelper::__construct1100.0%
phpMyFAQ\Helper\RegistrationHelper::__construct1100.0%
phpMyFAQ\Helper\SearchHelper::__construct1100.0%
phpMyFAQ\Helper\SearchHelper::setSearchTerm1100.0%
phpMyFAQ\Helper\StatisticsHelper::__construct1100.0%
phpMyFAQ\Helper\SvgSanitizer::shouldReject1100.0%
phpMyFAQ\Helper\TagsHelper::getTaggingIds1100.0%
phpMyFAQ\Helper\TagsHelper::setTaggingIds1100.0%
phpMyFAQ\Helper\TagsHelper::renderRelatedTag1100.0%
phpMyFAQ\Helper\UserHelper::__construct1100.0%