Code Analysis: Post Views Counter 1.3.8

Function Rating Maintainability Complexity Lines of code
pvc_get_views()
D
17
74 196
Post_Views_Counter_Query::posts_join()
D
26
61 112
Post_Views_Counter_Query::posts_join()
D
26
61 112
Post_Views_Counter_Settings::validate_settings()
D
23
57 140
Post_Views_Counter_Crawler_Detect::get_crawlers_list()
D
11
1 697
Post_Views_Counter_Crawler_Detect::get_crawlers_list()
D
11
1 696
Post_Views_Counter_Dashboard::dashboard_get_chart()
D
24
25 191
Post_Views_Counter_Settings_API::render_field()
C
35 30 62
Post_Views_Counter_Dashboard::dashboard_widget_chart()
C
26
20 163
Post_Views_Counter_Counter::check_post()
C
38 26 59
Post_Views_Counter_Frontend::add_post_views_count()
B
41 23 52
Post_Views_Counter_Frontend::add_post_views_count()
B
41 23 51
Post_Views_Counter_Counter::check_post()
B
41 23 49
Post_Views_Counter_Settings_API::validate_field()
B
42 22 46
Post_Views_Counter_Query::is_valid_date()
B
48 22 29
Post_Views_Counter_Query::is_date_valid()
B
48 22 29
pvc_most_viewed_posts()
B
37 17 69
Post_Views_Counter_List_Widget::form()
B
37 17 65
Post_Views_Counter_List_Widget::form()
B
37 17 65
Post_Views_Counter_Dashboard::update_dashboard_user_options()
B
45 19 35
Post_Views_Counter_Settings_API::validate_settings()
B
42 18 48
Post_Views_Counter_Counter::save_cookie()
B
41 18 46
Post_Views_Counter_Counter::save_cookie()
B
41 18 46
Post_Views_Counter_Settings_API::options_page()
B
36 16 74
Post_Views_Counter_Columns::admin_bar_menu()
A
39 15 57
Post_Views_Counter_Settings_API::register_setting_fields()
A
47 15 32
Post_Views_Counter_Settings::settings_data()
A
25
1 240
Post_Views_Counter_Settings_API::prepare_field_args()
A
52 14 20
Post_Views_Counter_Columns::save_post()
A
50 13 25
Post_Views_Counter_Columns::save_post()
A
50 13 24
Post_Views_Counter_List_Widget::update()
A
51 13 23
Post_Views_Counter_List_Widget::update()
A
51 13 22
Post_Views_Counter_Columns::save_bulk_post_views()
A
47 12 34
Post_Views_Counter_Columns::save_bulk_post_views()
A
47 12 32
Post_Views_Counter_Query::posts_groupby()
A
56 12 14
Post_Views_Counter_Query::posts_groupby()
A
56 12 14
Post_Views_Counter_Update::check_update()
A
44 10 42
Post_Views_Counter_Update::check_update()
A
44 10 42
Post_Views_Counter_Settings_API::validate_input_settings()
A
51 11 25
Post_Views_Counter_Dashboard::dashboard_widget_chart_user_post_types()
A
51 11 23
Post_Views_Counter_Settings::validate_settings()
A
45 10 37
Post_Views_Counter::admin_enqueue_scripts()
A
47 10 34
Post_Views_Counter_Dashboard::dashboard_get_most_viewed()
A
39 8 61
pvc_post_views()
A
50 10 25
Post_Views_Counter_Counter::check_cookie()
A
51 10 23
Post_Views_Counter_Counter::check_cookie()
A
51 10 23
Post_Views_Counter::update_notice()
A
47 9 32
Post_Views_Counter_Frontend::wp_enqueue_scripts()
A
47 9 32
Post_Views_Counter_Columns::admin_bar_maybe_add_style()
A
55 10 16
Post_Views_Counter_Settings::validate_restrict_display()
A
52 9 24
Post_Views_Counter_Counter::save_ip()
A
51 9 24
Post_Views_Counter_Counter::save_ip()
A
51 9 24
Post_Views_Counter_Columns::gutenberg_update_callback()
A
54 9 17
Post_Views_Counter_Admin::block_editor_update_callback()
A
56 9 15
Post_Views_Counter_Frontend::wp_enqueue_scripts()
A
48 8 30
Post_Views_Counter_Query::the_posts()
A
59 9 13
Post_Views_Counter_Query::the_posts()
A
59 9 13
Post_Views_Counter_Counter::check_post_js()
A
58 9 12
Post_Views_Counter_Counter::check_post_js()
A
58 9 12
Post_Views_Counter_Settings::validate_exclude()
A
53 8 22
Post_Views_Counter_Settings_API::admin_menu_options()
A
53 8 20
Post_Views_Counter_Dashboard::dashboard_widget()
A
46 6 46
Post_Views_Counter_Counter::decrypt_ip()
S
56 8 15
Post_Views_Counter_Counter::encrypt_ip()
S
56 8 15
Post_Views_Counter_Frontend::run()
S
58 8 13
Post_Views_Counter_Frontend::run()
S
58 8 13
Post_Views_Counter_Counter::check_post_ajax()
S
59 8 12
Post_Views_Counter_Columns::quick_edit_custom_box()
S
52 7 24
Post_Views_Counter_Columns::quick_edit_custom_box()
S
52 7 24
Post_Views_Counter_Columns::submitbox_views()
S
47 6 38
Post_Views_Counter_Columns::submitbox_views()
S
47 6 38
Post_Views_Counter_Columns::register_new_column()
S
52 7 22
Post_Views_Counter_Columns::register_new_column()
S
52 7 22
Post_Views_Counter::dismiss_notice()
S
49 6 33
Post_Views_Counter_Query::posts_fields()
S
68 8 5
Post_Views_Counter_Query::posts_fields()
S
68 8 5
Post_Views_Counter_Settings::validate_display_style()
S
57 7 15
Post_Views_Counter_Counter::init_counter()
S
59 7 12
Post_Views_Counter_Counter::update_cached_keys_list_if_needed()
S
55 6 20
Post_Views_Counter_Counter::update_cached_keys_list_if_needed()
S
56 6 19
Post_Views_Counter_Cron::check_cron()
S
55 6 19
Post_Views_Counter_Columns::add_new_column()
S
55 6 19
Post_Views_Counter_Columns::add_new_column()
S
55 6 19
Post_Views_Counter::multisite_deactivation()
S
55 6 18
Post_Views_Counter_Cron::check_cron()
S
55 6 18
Post_Views_Counter_Settings::load_post_types()
S
56 6 16
Post_Views_Counter_Settings::validate_exclude_ips()
S
57 6 16
Post_Views_Counter_Counter::check_post_php()
S
62 7 10
Post_Views_Counter_Counter::check_post_php()
S
62 7 10
Post_Views_Counter_Settings::validate_reset_counts()
S
61 7 10
Post_Views_Counter_Settings::options_page()
S
44 4 44
Post_Views_Counter_Counter::get_user_ip()
S
59 6 13
Post_Views_Counter_Settings::load_defaults()
S
42 3 58
Post_Views_Counter_Counter::count_visit()
S
50 5 27
Post_Views_Counter_Counter::get_user_ip()
S
60 6 12
Post_Views_Counter_Counter::count_visit()
S
50 5 26
Post_Views_Counter_Settings::validate_flush_interval()
S
60 6 11
Post_Views_Counter_Settings::restrict_display()
S
52 5 23
Post_Views_Counter_Admin::block_editor_enqueue_scripts()
S
51 5 22
Post_Views_Counter_Settings::setting_restrict_display()
S
52 5 21
Post_Views_Counter_Functions::get_post_types()
S
58 5 14
Post_Views_Counter_Counter::is_user_role_excluded()
S
60 5 13
Post_Views_Counter_Counter::is_user_role_excluded()
S
60 5 13
Post_Views_Counter_Crawler_Detect::set_user_agent()
S
60 5 13
Post_Views_Counter_Counter::check_post_rest_api()
S
59 5 12
Post_Views_Counter_Counter::check_post_rest_api()
S
59 5 12
Post_Views_Counter_Crawler_Detect::set_user_agent()
S
61 5 12
Post_Views_Counter_Crawler_Detect::set_http_headers()
S
62 5 11
Post_Views_Counter_Settings_API::__construct()
S
53 4 22
Post_Views_Counter_Counter::flush_cache_to_db()
S
54 4 20
Post_Views_Counter_Settings::exclude()
S
53 4 20
pvc_get_post_views()
S
55 4 19
Post_Views_Counter_Counter::flush_cache_to_db()
S
55 4 19
Post_Views_Counter_Settings::setting_exclude()
S
53 4 19
Post_Views_Counter::instance()
S
50 3 31
Post_Views_Counter::multisite_activation()
S
57 4 16
Post_Views_Counter_Dashboard::hex2rgb()
S
57 4 16
Post_Views_Counter_Dashboard::get_dashboard_user_options()
S
65 5 8
Post_Views_Counter_Query::posts_orderby()
S
64 5 8
Post_Views_Counter_Crawler_Detect::set_http_headers()
S
64 5 9
Post_Views_Counter_Dashboard::get_dashboard_user_data()
S
65 5 8
Post_Views_Counter_Query::posts_orderby()
S
64 5 8
Post_Views_Counter_Settings::validate_time_between_counts()
S
64 5 8
Post_Views_Counter_Columns::gutenberg_enqueue_scripts()
S
49 3 29
Post_Views_Counter_Dashboard::hex2rgb()
S
58 4 14
Post_Views_Counter_Crawler_Detect::is_crawler()
S
59 4 13
Post_Views_Counter_Settings_API::register_settings()
S
62 4 11
Post_Views_Counter_Crawler_Detect::is_crawler()
S
61 4 11
Post_Views_Counter::plugin_action_links()
S
61 4 11
Post_Views_Counter_Settings::exclude_ips()
S
53 3 22
Post_Views_Counter_Settings::setting_exclude_ips()
S
53 3 21
Post_Views_Counter_Dashboard::admin_scripts_styles()
S
53 3 21
pvc_update_post_views()
S
55 3 21
Post_Views_Counter_Dashboard::admin_scripts_styles()
S
54 3 20
Post_Views_Counter::deactivate_single()
S
57 3 16
Post_Views_Counter_Crawler_Detect::get_exclusions_list()
S
46 1 46
Post_Views_Counter::display_notice()
S
63 4 10
Post_Views_Counter_Counter::db_prepare_insert()
S
63 4 10
Post_Views_Counter_Admin::check_rest_route_permissions()
S
65 4 7
Post_Views_Counter_Counter::db_prepare_insert()
S
63 4 10
Post_Views_Counter_Crawler_Detect::init()
S
68 4 7
Post_Views_Counter_Crawler_Detect::init()
S
68 4 7
Post_Views_Counter_Settings_API::get_int_value()
S
69 4 6
Post_Views_Counter_Crawler_Detect::get_exclusions_list()
S
46 1 45
Post_Views_Counter::admin_inline_js()
S
55 2 29
Post_Views_Counter::plugin_row_meta()
S
60 3 14
Post_Views_Counter_Update::update_1()
S
60 3 12
Post_Views_Counter_Update::update_1()
S
60 3 12
Post_Views_Counter_Columns::admin_bar_css()
S
57 2 21
Post_Views_Counter_Dashboard::generate_months()
S
55 2 18
Post_Views_Counter_Dashboard::generate_months()
S
55 2 18
Post_Views_Counter_List_Widget::__construct()
S
49 1 32
Post_Views_Counter_List_Widget::__construct()
S
49 1 31
Post_Views_Counter_Frontend::display_bbpress_post_views()
S
72 3 5
Post_Views_Counter_Query::extend_pre_query()
S
74 3 4
Post_Views_Counter_List_Widget::widget()
S
63 3 9
Post_Views_Counter_Query::extend_pre_query()
S
74 3 4
Post_Views_Counter_Columns::init_gutemberg()
S
63 3 10
Post_Views_Counter_Settings::update_counter_mode()
S
67 3 7
Post_Views_Counter_Counter::using_object_cache()
S
66 3 8
Post_Views_Counter_Cron::flush_cached_counts()
S
73 3 5
Post_Views_Counter_Frontend::display_bbpress_post_views()
S
72 3 5
Post_Views_Counter_Counter::using_object_cache()
S
66 3 8
Post_Views_Counter_Settings::validate_label()
S
64 3 9
Post_Views_Counter_Cron::flush_cached_counts()
S
73 3 5
Post_Views_Counter_Settings_API::callback_function_exists()
S
64 3 10
Post_Views_Counter()
S
70 3 6
pvc_view_post()
S
68 3 7
Post_Views_Counter::schedule_cache_flush()
S
74 3 4
Post_Views_Counter_Settings::setting_time_between_counts()
S
57 2 14
Post_Views_Counter_Settings::flush_interval()
S
59 2 14
Post_Views_Counter_Settings::time_between_counts()
S
59 2 14
Post_Views_Counter_Settings::setting_reset_counts()
S
57 2 14
Post_Views_Counter_Settings::setting_flush_interval()
S
57 2 14
Post_Views_Counter_Settings::reset_counts()
S
58 2 14
Post_Views_Counter_Counter::db_insert()
S
61 2 13
Post_Views_Counter_Counter::db_insert()
S
61 2 13
Post_Views_Counter_Settings::position()
S
60 2 13
Post_Views_Counter_Counter::db_commit_insert()
S
62 2 12
Post_Views_Counter_Settings::display_style()
S
60 2 12
Post_Views_Counter_Settings::counter_mode()
S
60 2 12
Post_Views_Counter_Settings::page_types_display()
S
61 2 11
Post_Views_Counter_Counter::get_timestamp()
S
61 2 11
Post_Views_Counter_Counter::get_timestamp()
S
61 2 11
Post_Views_Counter_Settings::post_types_display()
S
61 2 11
Post_Views_Counter_Settings::post_types_count()
S
61 2 11
Post_Views_Counter_Settings::register_settings()
S
50 1 25
Post_Views_Counter_Counter::rest_api_init()
S
54 1 24
Post_Views_Counter_Counter::rest_api_init()
S
55 1 23
Post_Views_Counter_Settings::settings_page()
S
55 1 21
Post_Views_Counter::activate_single()
S
56 1 19
Post_Views_Counter_Admin::block_editor_rest_api_init()
S
59 1 16
Post_Views_Counter_Settings::reset_label()
S
72 2 5
Post_Views_Counter_Counter::validate_user_ip()
S
71 2 5
Post_Views_Counter_Settings::get_user_roles()
S
64 2 9
Post_Views_Counter_List_Widget::load_post_types()
S
73 2 5
Post_Views_Counter_Settings::get_counter_modes()
S
64 2 9
Post_Views_Counter_Settings::setting_display_style()
S
62 2 10
Post_Views_Counter_Columns::gutenberg_rest_api_init()
S
61 1 15
Post_Views_Counter_Crawler_Detect::get_matches()
S
78 2 3
Post_Views_Counter_Dashboard::wp_dashboard_setup()
S
69 2 6
Post_Views_Counter_Counter::ipv4_in_range()
S
68 2 6
Post_Views_Counter_List_Widget::widget()
S
66 2 7
pvc_get_most_viewed_posts()
S
59 1 15
Post_Views_Counter_Crawler_Detect::get_matches()
S
78 2 3
Post_Views_Counter_Dashboard::wp_dashboard_setup()
S
71 2 5
Post_Views_Counter_Columns::add_new_column_content()
S
71 2 6
Post_Views_Counter::includes()
S
59 1 15
Post_Views_Counter_Counter::ipv4_in_range()
S
68 2 6
Post_Views_Counter_Functions::get_user_roles()
S
64 2 9
Post_Views_Counter_Counter::validate_user_ip()
S
71 2 5
Post_Views_Counter_Columns::add_new_column_content()
S
71 2 6
Post_Views_Counter_Counter::db_commit_insert()
S
71 2 6
Post_Views_Counter_Counter::get_post_views_rest_api()
S
73 2 4
Post_Views_Counter_Counter::get_post_views_rest_api()
S
73 2 4
Post_Views_Counter_Crawler_Detect::get_headers_list()
S
62 1 14
Post_Views_Counter::__construct()
S
58 1 14
Post_Views_Counter_Columns::__construct()
S
60 1 13
Post_Views_Counter_Crawler_Detect::get_headers_list()
S
63 1 13
Post_Views_Counter_Cron::cron_time_intervals()
S
61 1 12
Post_Views_Counter_Cron::cron_time_intervals()
S
62 1 11
Post_Views_Counter_Settings::wp_postviews()
S
63 1 11
Post_Views_Counter_Columns::__construct()
S
62 1 11
Post_Views_Counter_Cron::reset_counts()
S
60 1 11
Post_Views_Counter_Dashboard::dashboard_widget()
S
66 1 11
Post_Views_Counter_Settings_API::get_prefix()
S
82 1 3
Post_Views_Counter_Counter::get_post_views_permissions_check()
S
78 1 3
Post_Views_Counter_Frontend::__construct()
S
72 1 5
Post_Views_Counter_Query::__construct()
S
64 1 9
Post_Views_Counter_Crawler_Detect::get_ua_http_headers()
S
82 1 3
Post_Views_Counter_Widgets::__construct()
S
79 1 3
Post_Views_Counter_Settings::setting_wp_postviews()
S
66 1 8
Post_Views_Counter_Columns::register_sortable_custom_column()
S
77 1 4
Post_Views_Counter_Crawler_Detect::get_exclusions()
S
78 1 3
Post_Views_Counter::define_constants()
S
77 1 5
Post_Views_Counter_Settings::deactivation_delete()
S
69 1 6
Post_Views_Counter_Frontend::register_shortcode()
S
79 1 3
Post_Views_Counter_Cron::__construct()
S
69 1 6
Post_Views_Counter::add_notice()
S
66 1 8
Post_Views_Counter_Update::__construct()
S
79 1 3
Post_Views_Counter_Frontend::post_views_shortcode()
S
68 1 7
Post_Views_Counter_Functions::__construct()
S
98 1 1
Post_Views_Counter_Dashboard::__construct()
S
70 1 6
Post_Views_Counter_Crawler_Detect::get_ua_http_headers()
S
82 1 3
Post_Views_Counter_Counter::get_post_views_permissions_check()
S
78 1 3
Post_Views_Counter_Frontend::__construct()
S
72 1 5
Post_Views_Counter_Settings::post_views_label()
S
66 1 9
Post_Views_Counter_Settings::strict_counts()
S
69 1 6
Post_Views_Counter_Query::__construct()
S
64 1 9
Post_Views_Counter_Crawler_Detect::__construct()
S
72 1 5
Post_Views_Counter_Crawler_Detect::get_regex()
S
78 1 3
Post_Views_Counter_Settings::post_views_column()
S
69 1 6
Post_Views_Counter_Frontend::register_shortcode()
S
79 1 3
Post_Views_Counter_Settings_API::get_settings()
S
82 1 3
Post_Views_Counter_Counter::delete_post_views()
S
74 1 4
Post_Views_Counter_Settings::__construct()
S
72 1 5
Post_Views_Counter_Counter::__construct()
S
64 1 9
Post_Views_Counter_Settings::icon_class()
S
68 1 7
Post_Views_Counter::__clone()
S
98 1 1
Post_Views_Counter_Columns::gutenberg_add_meta_box()
S
69 1 6
Post_Views_Counter_Crawler_Detect::get_user_agent()
S
82 1 3
Post_Views_Counter_Counter::post_views_permissions_check()
S
78 1 3
Post_Views_Counter_Widgets::register_widgets()
S
81 1 3
Post_Views_Counter::load_pluggable_functions()
S
80 1 3
Post_Views_Counter_Settings::admin_menu_options()
S
77 1 3
Post_Views_Counter_Query::query_vars()
S
77 1 4
Post_Views_Counter_Widgets::register_widgets()
S
81 1 3
Post_Views_Counter_Columns::register_sortable_custom_column()
S
77 1 4
Post_Views_Counter_Update::__construct()
S
79 1 3
Post_Views_Counter_Counter::delete_post_views()
S
74 1 4
Post_Views_Counter_Cron::reset_counts()
S
62 1 10
Post_Views_Counter_Crawler_Detect::get_exclusions()
S
78 1 3
Post_Views_Counter_Dashboard::__construct()
S
67 1 7
Post_Views_Counter_Settings::restrict_edit_views()
S
69 1 6
Post_Views_Counter::__wakeup()
S
98 1 1
Post_Views_Counter_Settings::__construct()
S
70 1 6
Post_Views_Counter_Crawler_Detect::get_regex()
S
78 1 3
Post_Views_Counter_Frontend::post_views_shortcode()
S
68 1 7
Post_Views_Counter_Crawler_Detect::get_user_agent()
S
82 1 3
Post_Views_Counter_Crawler_Detect::__construct()
S
72 1 5
Post_Views_Counter_Widgets::__construct()
S
79 1 3
Post_Views_Counter_Query::query_vars()
S
77 1 4
Post_Views_Counter::remove_cache_flush()
S
75 1 4
Post_Views_Counter_Admin::__construct()
S
79 1 3
Post_Views_Counter_Counter::__construct()
S
72 1 5
Post_Views_Counter_Cron::__construct()
S
69 1 6
Post_Views_Counter_Admin::init_block_editor()
S
75 1 4
Post_Views_Counter::load_textdomain()
S
78 1 3