Code Analysis: Similar Posts AI (SPAI) 1.8.0

Function Rating Maintainability Complexity Lines of code
Mobile_Detect::mobileGrade()
D
31 78 56
Spai_Admin::validate()
C
47 29 27
Spai_Synchronizer::syncPosts()
B
34 21 87
Spai_Admin::display_plugin_admin_page()
B
40 22 46
Spai_Widget_Form::show()
B
40 16 63
WidgetInstance::import()
A
50 12 24
Spai_Widget::prepareDataToWidget()
A
45 9 43
Mobile_Detect::version()
A
51 9 24
Spai_Widget::update()
A
61 10 10
Spai_Widget::setCountPosts()
A
56 8 17
Spai_Widget::getRelatedData()
S
53 7 22
templateAbstract::run()
S
47 6 36
Mobile_Detect::isMobile()
S
55 7 20
template3::run()
S
48 6 33
Mobile_Detect::checkHttpHeadersForMobile()
S
57 7 17
Spai_Public::getIp()
S
62 7 11
Spai_Widget::getIp()
S
62 7 11
shutDownFunction()
S
51 6 26
Mobile_Detect::setUserAgent()
S
55 6 20
Mobile_Detect::isTablet()
S
58 6 15
Spai_Widget::setMaxAdsCount()
S
59 6 14
Spai_Api::__construct()
S
58 5 16
Spai_Public::spai_get_related_posts()
S
62 6 10
Mobile_Detect::setCfHeaders()
S
58 5 14
Spai_Public::spai_add_widget_after_post()
S
60 5 14
templateAbstract::setTitleMax()
S
59 5 13
WidgetInstance::setEffectOfIncreasingTheImageSize()
S
62 5 13
WidgetInstance::setShowCategory()
S
62 5 13
Mobile_Detect::setHttpHeaders()
S
61 5 12
Mobile_Detect::match()
S
61 5 11
template3::showOnValidate()
S
62 5 11
template7::run()
S
53 4 22
Spai_Widget::widget()
S
56 4 19
Spai_Widget_Preview::widgetPrefix()
S
56 4 17
Spai_Widget::widgetPrefix()
S
56 4 17
Spai_Public::spai_send_imp_is_loaded()
S
63 5 10
Spai_Activator::createConnectionToExternalServer()
S
50 3 29
Mobile_Detect::getHttpHeader()
S
60 4 13
Mobile_Detect::matchUAAgainstKey()
S
61 4 13
Spai_Admin::addPostToTableSpaiPostsDataSync()
S
60 4 12
Mobile_Detect::matchDetectionRulesAgainstUA()
S
63 4 11
Spai_Api::get_ip_address()
S
63 4 10
Mobile_Detect::setDetectionType()
S
66 4 9
templateAbstract::setUrlHtml()
S
59 3 15
Spai_Widget::getPostId()
S
66 4 8
template3::setCategoriesHtml()
S
59 3 14
templateAbstract::setAdsNotifierHtml()
S
59 3 14
templateAbstract::setCategoriesHtml()
S
59 3 14
Spai_Widget::getContent()
S
62 3 11
templateAbstract::getCategoryStyles()
S
63 3 11
template3::prepareHistoryWindow()
S
59 1 40
Spai_Widget::__construct()
S
58 2 16
Spai_Widget::getImpId()
S
68 3 7
Spai_Widget::getSpaiInstance()
S
67 3 8
Spai_Loader::run()
S
66 3 8
Spai_Widget_Preview::getSpaiInstance()
S
67 3 8
Spai_Public::spai_save_related_post_click()
S
58 2 15
Mobile_Detect::is()
S
65 3 10
templateAbstract::setImgUrl()
S
67 3 9
Spai_Widget::getRelatedAds()
S
67 3 7
Mobile_Detect::getMobileDetectionRulesExtended()
S
63 2 13
Spai_Activator::addDataInTableSpaiPostsDataSync()
S
61 2 12
Mobile_Detect::getMobileDetectionRules()
S
64 2 12
Spai_Api::getRelatedData()
S
55 1 20
Spai_Widget_Preview::run()
S
56 1 19
Spai::define_public_hooks()
S
56 1 17
Spai_Widget::widgetAsHtml()
S
58 1 16
Spai_Admin::spai_enqueue_scripts()
S
59 1 16
Spai_Admin::spai_wp_resource_hints()
S
71 2 6
Spai_Public::spai_define_javascript_ajaxurl()
S
68 2 9
Spai_Admin::load_dependencies()
S
71 2 5
Spai_Logger::__construct()
S
71 2 5
Spai_Logger::getInstance()
S
72 2 6
Spai_Public::__construct()
S
71 2 5
Spai_Public::spai_wp_resource_hints()
S
71 2 6
Mobile_Detect::getRules()
S
70 2 7
Spai_Widget::form()
S
66 2 8
Mobile_Detect::__call()
S
66 2 8
Mobile_Detect::prepareVersionNo()
S
65 2 8
Spai_Synchronizer::__construct()
S
71 2 5
template3::setTitleHtml()
S
67 2 7
Spai_Widget::setHash()
S
63 2 10
template4::setHeadingHtml()
S
73 2 4
Spai_Widget::getRelatedPosts()
S
78 2 3
templateAbstract::setImgHtml()
S
66 2 8
templateAbstract::setTitleHtml()
S
67 2 7
templateAbstract::setOneCategoryHtml()
S
68 2 6
Spai_Api::sendImpressionIsLoaded()
S
60 1 14
Spai_Api::sendClickToRelatedPost()
S
60 1 14
Spai_Api::createConnectionToNewUser()
S
60 1 14
Spai_Api::sendImpressionData()
S
60 1 14
Spai_Api::sendPostData()
S
60 1 14
Spai_Api::checkToken()
S
61 1 13
Spai_Api::log()
S
60 1 13
Spai::define_admin_hooks()
S
61 1 11
WidgetInstance::getCategoryColor()
S
82 1 3
Spai_Activator::createSpaiPostsDataSync()
S
66 1 8
Spai_Widget_Preview::__construct()
S
74 1 4
Spai_Logger::__wakeup()
S
91 1 2
Spai_Widget::injectInstanceJs()
S
70 1 5
WidgetInstance::getShowCategory()
S
82 1 3
Mobile_Detect::getHttpHeaders()
S
82 1 3
Spai_Logger::__clone()
S
91 1 2
Mobile_Detect::getUserAgent()
S
82 1 3
WidgetInstance::getDefaultImage()
S
82 1 3
WidgetInstance::setTemplate()
S
81 1 3
Spai_Admin::__construct()
S
76 1 4
WidgetInstance::getTitleMax()
S
82 1 3
template3::setHeadingHtml()
S
82 1 3
Spai_Admin::options_update()
S
79 1 3
template3::setAdsNotifierHtml()
S
82 1 3
WidgetInstance::setShowOn()
S
81 1 3
Spai_Deactivator::deactivate()
S
80 1 3
Mobile_Detect::getProperties()
S
80 1 3
templateAbstract::setHeadingHtml()
S
75 1 4
Spai_Admin::spai_add_action_links()
S
66 1 8
Mobile_Detect::__construct()
S
77 1 4
Mobile_Detect::getCfHeaders()
S
82 1 3
Spai_Widget_Form::__construct()
S
65 1 10
Spai::__construct()
S
73 1 6
Spai_Public::spai_register_widget()
S
81 1 3
Mobile_Detect::getBrowsers()
S
80 1 3
templateAbstract::__construct()
S
67 1 8
WidgetInstance::getShowOn()
S
82 1 3
WidgetInstance::setCategoryBackgroundColor()
S
81 1 3
Spai_Admin::add_plugin_admin_menu()
S
73 1 5
Mobile_Detect::getMatchesArray()
S
82 1 3
Mobile_Detect::getUtilities()
S
80 1 3
WidgetInstance::setCategoryColor()
S
81 1 3
WidgetInstance::getTemplate()
S
82 1 3
WidgetInstance::setTitleMax()
S
81 1 3
Spai_Widget::setAdsNotifierHtml()
S
72 1 6
Spai_Public::spai_enqueue_scripts()
S
73 1 4
WidgetInstance::getEffectOfIncreasingTheImageSize()
S
82 1 3
activate_spai_plugin()
S
76 1 4
Spai_i18n::load_plugin_textdomain()
S
69 1 7
WidgetInstance::setDisplayType()
S
81 1 3
WidgetInstance::getHeadingColor()
S
82 1 3
Mobile_Detect::getMobileHeaders()
S
81 1 3
Spai_Public::checkSpaiPostsDataSync()
S
72 1 5
Spai_Admin::spai_enqueue_styles()
S
63 1 10
Spai_Widget_Preview::widgetSuffix()
S
82 1 3
Spai_Widget::setPostId()
S
81 1 3
Spai_Activator::createTableSpaiPostsDataSync()
S
65 1 10
Spai_Loader::add()
S
64 1 10
Spai_Deactivator::DeleteTableSpaiPostsDataSync()
S
70 1 6
Spai_Public::spai_enqueue_styles()
S
73 1 4
WidgetInstance::setDefaultImage()
S
81 1 3
Spai::load_dependencies()
S
66 1 8
WidgetInstance::setHeading()
S
81 1 3
Spai::get_loader()
S
82 1 3
Mobile_Detect::getTabletDevices()
S
80 1 3
WidgetInstance::setHeadingColor()
S
81 1 3
template3::__construct()
S
74 1 4
Spai_Loader::add_filter()
S
77 1 3
WidgetInstance::getCategoryBackgroundColor()
S
82 1 3
Mobile_Detect::prepareUserAgent()
S
73 1 5
Spai_Activator::activate()
S
77 1 4
run_spai_plugin()
S
77 1 4
Mobile_Detect::getPhoneDevices()
S
80 1 3
spai_register_widget()
S
82 1 3
Spai_Widget::injectPostIdJs()
S
71 1 5
deactivate_spai_plugin()
S
76 1 4
Mobile_Detect::getMatchingRegex()
S
82 1 3
Spai::run()
S
82 1 3
Spai_Loader::__construct()
S
77 1 4
Mobile_Detect::getOperatingSystems()
S
80 1 3
Mobile_Detect::getUserAgents()
S
80 1 3
Spai_Widget::widgetSuffix()
S
82 1 3
WidgetInstance::__construct()
S
81 1 3
Spai_Loader::add_action()
S
77 1 3
Spai_Logger::log()
S
69 1 7
Mobile_Detect::getScriptVersion()
S
80 1 3
Mobile_Detect::getUaHttpHeaders()
S
81 1 3
WidgetInstance::getDisplayType()
S
82 1 3
Spai::set_locale()
S
75 1 4
WidgetInstance::getHeading()
S
82 1 3