Code Analysis: Perfecty Push Notifications 1.6.2

Function Rating Maintainability Complexity Lines of code
Perfecty_Push_Admin::sanitize()
D
32 33 111
Perfecty_Push::define_constants()
B
40 19 67
Perfecty_Push_Lib_Push_Server::execute_broadcast_batch()
B
36 15 80
Perfecty_Push_Global::upgrade_check()
B
42 16 49
Perfecty_Push_Users::register()
A
38 14 62
Perfecty_Push_Admin::register_options()
A
27
1 239
Perfecty_Push_Activator::default_options()
A
47 13 34
Perfecty_Push_Admin::on_transition_post_status()
A
44 12 40
Perfecty_Push_Lib_Push_Server::schedule_broadcast_async()
A
45 10 40
Perfecty_Push_Lib_Payload::build()
A
48 10 29
Perfecty_Push_Users::validate()
A
54 10 21
Perfecty_Push_Lib_Push_Server::send_notification()
A
46 8 40
Perfecty_Push_Admin_Notifications_Table::process_bulk_action()
A
51 9 25
Perfecty_Push_Lib_Db::db_create()
A
43 6 59
Perfecty_Push_Admin::print_send_notification_page()
A
44 6 48
Perfecty_Push_Lib_Utils::check_gmp()
S
58 8 12
Perfecty_Push_Admin::on_save_post()
S
53 7 21
Perfecty_Push_Admin::get_attachment_id()
S
48 6 32
Perfecty_Push_Admin_Notifications_Table::prepare_items()
S
52 6 22
Perfecty_Push::load_push_server()
S
53 6 22
Perfecty_Push_Admin_Users_Table::prepare_items()
S
52 6 22
Perfecty_Push_Users::unregister()
S
52 6 21
Perfecty_Push_Lib_Cron_Check::run()
S
54 6 20
Perfecty_Push_Admin_Logs_Table::prepare_items()
S
53 6 20
Perfecty_Push_Admin::print_users_page()
S
56 6 15
Perfecty_Push_Admin_Users_Table::process_bulk_action()
S
58 6 14
Perfecty_Push_Lib_Push_Server::get_push_server()
S
49 5 28
Perfecty_Push_Lib_Log::level_to_string()
S
57 5 20
Perfecty_Push_Admin_Notifications_Table::column_created_at()
S
54 5 19
Perfecty_Push_Users::get_user()
S
54 5 19
Perfecty_Push_Admin::show_admin_notice()
S
58 5 15
Perfecty_Push_Admin::print_notifications_page()
S
58 5 14
Perfecty_Push_Users::extract_data()
S
62 5 11
Perfecty_Push_Admin::register_admin_menu()
S
43 1 66
Perfecty_Push_Lib_Log::string_to_level()
S
58 4 17
Perfecty_Push_Admin::validate_notification_message()
S
60 4 14
Perfecty_Push_Loader::run()
S
61 4 12
Perfecty_Push_Admin::print_visits_to_display_prompt()
S
61 4 11
Perfecty_Push_Lib_Db::get_notifications_daily_stats()
S
52 3 26
Perfecty_Push_Lib_Db::create_notification()
S
55 3 20
Perfecty_Push::__construct()
S
57 3 18
Perfecty_Push_Lib_Db::get_logs()
S
56 3 17
Perfecty_Push_Lib_Db::get_users()
S
56 3 17
Perfecty_Push_Lib_Db::get_notifications()
S
56 3 17
Perfecty_Push_Admin::print_log_level()
S
58 3 15
Perfecty_Push_Users::get_remote_ip()
S
70 4 5
Perfecty_Push_Lib_Db::delete_notifications()
S
59 3 13
Perfecty_Push_Admin::print_log_driver()
S
60 3 13
Perfecty_Push_Admin::print_logs_page()
S
61 3 11
Perfecty_Push_Admin::enqueue_scripts()
S
61 3 11
Perfecty_Push_Lib_Db::create_user()
S
55 2 21
Perfecty_Push_Public::register_rest_endpoints()
S
52 1 32
Perfecty_Push_Admin::print_unregister_conflicts_expression()
S
58 2 16
Perfecty_Push_Admin::display_post_metabox()
S
61 3 10
Perfecty_Push_Admin_Logs_Table::column_default()
S
65 3 8
Perfecty_Push_Lib_Db::insert_log()
S
59 2 15
Perfecty_Push_Admin::print_widget_enabled()
S
63 3 10
Perfecty_Push_Lib_Log::debug()
S
70 3 6
Perfecty_Push_Admin::print_widget_hide_bell_after_subscribe()
S
63 3 10
Perfecty_Push_Admin::print_widget_debugging_enabled()
S
63 3 10
Perfecty_Push_Lib_Log::info()
S
70 3 6
Perfecty_Push_Admin::print_segmentation_enabled()
S
63 3 10
Perfecty_Push_Admin::print_settings_title()
S
63 3 10
Perfecty_Push_Lib_Log::error()
S
70 3 6
Perfecty_Push_Admin::print_unregister_conflicts()
S
63 3 10
Perfecty_Push_Admin::print_notifications_interaction_required()
S
63 3 10
Perfecty_Push_Admin::print_dialog_title()
S
63 3 10
Perfecty_Push_Admin::print_dialog_submit()
S
63 3 10
Perfecty_Push_Lib_Log::warning()
S
70 3 6
Perfecty_Push_Admin::print_settings_opt_in()
S
63 3 10
Perfecty_Push_Admin::print_settings_update_error()
S
63 3 10
Perfecty_Push_Lib_Push_Server::bootstrap()
S
64 3 9
Perfecty_Push_Admin::print_settings_send_welcome_message()
S
63 3 10
Perfecty_Push_Admin::print_settings_welcome_message()
S
64 3 9
Perfecty_Push_Admin_Users_Table::column_default()
S
66 3 8
Perfecty_Push_Lib_Push_Server::unleash_stalled()
S
64 3 9
Perfecty_Push_Lib_Push_Server::time_limit_exceeded()
S
65 3 8
Perfecty_Push_Admin::print_widget_ask_permissions_directly()
S
63 3 10
Perfecty_Push_Admin::print_dialog_cancel()
S
63 3 10
Perfecty_Push_Admin::print_default_send_on_publish()
S
63 3 10
Perfecty_Push_Admin_Notifications_Table::limit_text()
S
68 3 7
Perfecty_Push_Admin_Notifications_Table::retry_notifications()
S
59 2 14
Perfecty_Push_Admin::get_first_image_url()
S
59 2 14
Perfecty_Push_Admin::print_batch_size()
S
61 2 13
Perfecty_Push_Admin::print_parallel_flushing_size()
S
61 2 13
Perfecty_Push_Lib_Push_Server::notify()
S
60 2 13
Perfecty_Push_Lib_Db::get_user_by_uuid()
S
61 2 13
Perfecty_Push_Admin::print_notifications_default_icon()
S
60 2 13
Perfecty_Push_Admin_Notifications_Table::mark_notifications_cancel()
S
61 2 12
Perfecty_Push::load_logger()
S
61 2 12
Perfecty_Push_Admin_Notifications_Table::column_status()
S
63 2 11
Perfecty_Push_Admin::print_segmentation_tracking_utm()
S
62 2 11
Perfecty_Push::load_dependencies()
S
54 1 22
Perfecty_Push_Lib_Db::update_notification()
S
54 1 21
Perfecty_Push_Lib_Db::get_jobs_stats()
S
58 1 15
Perfecty_Push_Admin::print_send_notification_metabox()
S
68 2 6
Perfecty_Push_Admin::print_service_worker_scope()
S
65 2 9
Perfecty_Push_Lib_Db::delete_users()
S
64 2 9
Perfecty_Push_Lib_Cron_Check::is_wp_cron_enabled()
S
78 2 3
Perfecty_Push_Lib_Utils::check_database()
S
72 2 5
Perfecty_Push_Lib_Utils::is_disabled()
S
78 2 3
Perfecty_Push_Lib_Db::get_total_logs()
S
71 2 5
Perfecty_Push_Admin::print_vapid_public_key()
S
65 2 9
Perfecty_Push_Admin::print_server_url()
S
63 2 10
Perfecty_Push_Admin::print_vapid_private_key()
S
65 2 9
Perfecty_Push_Lib_Db::has_tables()
S
72 2 5
Perfecty_Push_Lib_Db::update_user()
S
59 1 15
Perfecty_Push::define_admin_hooks()
S
57 1 15
Perfecty_Push_Lib_Utils::disable()
S
74 2 5
Perfecty_Push_Users::validate_delete()
S
70 2 6
Perfecty_Push_Users::validate_get_user()
S
70 2 6
Perfecty_Push_Lib_Db::get_total_users()
S
71 2 5
Perfecty_Push_Lib_Db::get_notifications_stalled()
S
61 1 14
Perfecty_Push_Lib_Db::mark_notification_completed_untake()
S
61 1 13
Perfecty_Push_Admin_Users_Table::column_uuid()
S
59 1 13
Perfecty_Push_Lib_Db::mark_notification_completed()
S
62 1 12
Perfecty_Push_Lib_Db::get_user_by()
S
62 1 12
Perfecty_Push_Lib_Db::mark_notification_canceled()
S
62 1 12
Perfecty_Push_Lib_Db::mark_notification_failed()
S
62 1 12
Perfecty_Push_Admin_Notifications_Table::column_payload()
S
61 1 11
Perfecty_Push_Admin_Notifications_Table::get_columns()
S
62 1 11
Perfecty_Push_Lib_Db::mark_notification_running()
S
64 1 11
Perfecty_Push_Lib_Db::get_notifications_stats()
S
62 1 11
Perfecty_Push_Lib_Db::untake_notification()
S
78 1 3
Perfecty_Push_Lib_Push_Server::unschedule_job()
S
71 1 5
Perfecty_Push::get_version()
S
82 1 3
Perfecty_Push::set_locale()
S
75 1 4
Perfecty_Push_Public::enqueue_scripts()
S
77 1 3
deactivate_perfecty_push()
S
76 1 4
Perfecty_Push_Lib_Push_Server::broadcast()
S
79 1 3
Perfecty_Push_Loader::add()
S
64 1 10
Perfecty_Push_Admin::print_dashboard_page()
S
63 1 10
Perfecty_Push_Activator::activate()
S
77 1 4
Perfecty_Push_Admin::print_dialog_section()
S
79 1 3
Perfecty_Push_Admin_Notifications_Table::__construct()
S
67 1 9
Perfecty_Push_Admin_Notifications_Table::get_sortable_columns()
S
66 1 9
Perfecty_Push_Loader::add_filter()
S
77 1 3
Perfecty_Push_Admin_Logs_Table::get_columns()
S
71 1 6
Perfecty_Push_Lib_Db::delete_old_logs()
S
71 1 5
Perfecty_Push_Admin::check_cron()
S
82 1 3
Perfecty_Push_Admin_Logs_Table::__construct()
S
67 1 9
Perfecty_Push_Admin_Users_Table::column_cb()
S
72 1 6
Perfecty_Push_Admin_Users_Table::get_bulk_actions()
S
71 1 6
Perfecty_Push_Lib_Db::logs_table()
S
79 1 3
Perfecty_Push_Admin::execute_broadcast_batch()
S
81 1 3
Perfecty_Push::get_plugin_name()
S
82 1 3
Perfecty_Push_Users::terminate()
S
79 1 3
Perfecty_Push_Admin::print_self_hosted_section()
S
79 1 3
Perfecty_Push_Lib_Db::get_notifications_total()
S
72 1 5
Perfecty_Push_Admin_Users_Table::__construct()
S
67 1 9
Perfecty_Push_Lib_Cron_Check::schedule_next_tick()
S
65 1 9
Perfecty_Push_Lib_Db::users_table()
S
79 1 3
Perfecty_Push_i18n::load_plugin_textdomain()
S
69 1 7
Perfecty_Push_Admin_Notifications_Table::filter_array()
S
66 1 10
Perfecty_Push_Admin_Users_Table::get_sortable_columns()
S
72 1 6
Perfecty_Push_Admin_Logs_Table::get_sortable_columns()
S
71 1 6
Perfecty_Push_Lib_Push_Server::create_vapid_keys()
S
73 1 5
Perfecty_Push_Admin_Users_Table::get_columns()
S
65 1 9
Perfecty_Push_Lib_Db::get_users_stats()
S
68 1 7
Perfecty_Push_Admin::__construct()
S
77 1 4
Perfecty_Push_Lib_Log_ErrorLog::write()
S
78 1 3
Perfecty_Push_Public::print_head()
S
72 1 5
Perfecty_Push_Admin_Notifications_Table::get_bulk_actions()
S
69 1 7
Perfecty_Push::define_global_hooks()
S
75 1 4
Perfecty_Push_Lib_Log::init()
S
76 1 4
Perfecty_Push_Admin_Notifications_Table::column_cb()
S
72 1 6
Perfecty_Push_Admin::calculate_scheduled_time_from_offset()
S
76 1 4
Perfecty_Push_Lib_Db::delete_user_by_endpoint()
S
71 1 5
Perfecty_Push_Admin::print_options_page()
S
79 1 3
Perfecty_Push_Public::enqueue_styles()
S
77 1 3
Perfecty_Push_Admin::print_javascript_sdk_section()
S
79 1 3
Perfecty_Push_Lib_Utils::is_enabled()
S
79 1 3
Perfecty_Push_Lib_Log_Db::delete_old_logs()
S
81 1 3
Perfecty_Push_Admin::print_metabox_section()
S
79 1 3
Perfecty_Push_Lib_Db::get_users_by_wp_user_id()
S
64 1 10
Perfecty_Push_Lib_Db::get_user()
S
65 1 9
Perfecty_Push_Lib_Log_Db::write()
S
79 1 3
Perfecty_Push_Admin_Notifications_Table::column_default()
S
80 1 3
Perfecty_Push_Lib_Log::enable()
S
80 1 3
Perfecty_Push_Lib_Db::take_notification()
S
78 1 3
Perfecty_Push_Lib_Log::disable()
S
80 1 3
Perfecty_Push_Lib_Utils::show_message()
S
69 1 7
Perfecty_Push::run()
S
82 1 3
Perfecty_Push_Lib_Db::with_prefix()
S
76 1 4
activate_perfecty_push()
S
76 1 4
Perfecty_Push_Loader::__construct()
S
77 1 4
Perfecty_Push_Lib_Cron_Check::tick()
S
75 1 4
Perfecty_Push_Lib_Db::take_untake_notification()
S
66 1 9
Perfecty_Push_Admin_Users_Table::column_created_at()
S
72 1 6
Perfecty_Push_Admin::plugin_directory_links()
S
66 1 8
Perfecty_Push_Admin::print_notifications_section()
S
79 1 3
Perfecty_Push_Lib_Db::notifications_table()
S
79 1 3
Perfecty_Push_Loader::add_action()
S
77 1 3
run_perfecty_push()
S
77 1 4
Perfecty_Push_Admin::print_segmentation_section()
S
79 1 3
Perfecty_Push_Lib_Utils::clean_messages()
S
80 1 3
Perfecty_Push_Lib_Push_Server::schedule_job()
S
71 1 5
Perfecty_Push::get_loader()
S
82 1 3
Perfecty_Push_Admin::register_metaboxes()
S
64 1 10
Perfecty_Push_Admin::enqueue_styles()
S
70 1 5
Perfecty_Push::define_public_hooks()
S
67 1 7
Perfecty_Push_Deactivator::deactivate()
S
77 1 4
Perfecty_Push_Admin_Users_Table::filter_array()
S
66 1 10
Perfecty_Push_Admin::print_about_page()
S
79 1 3
Perfecty_Push_Public::__construct()
S
77 1 4
Perfecty_Push_Lib_Db::get_notification()
S
64 1 10