Code Analysis: Icegram - Popups, Optins, CTAs & lot more... 3.0.10

Function Rating Maintainability Complexity Lines of code
Icegram_Message_Admin::message_form_fields()
D
0
130 578
Ig_Mobile_Detect::mobileGrade()
D
32 77 55
Icegram_Campaign_Admin::icegram_add_campaign_target_rules()
D
20
41 252
Icegram::get_valid_messages()
D
31 41 87
Icegram::display_messages()
D
31 39 91
Icegram_Campaign_Admin::save_campaign_settings()
D
30 38 98
IG_Feedback_V_1_2_8::show_review_notice()
D
27
30 140
IG_Feedback_V_1_2_8::render_poll_widget()
C
28
26 153
Icegram::import()
C
33 24 94
icegram_support_ticket_content()
C
30 19 145
Icegram_Campaign::__construct()
B
41 24 45
Icegram_Campaign::_is_valid_page()
B
43 22 41
Icegram_Message_Admin::update_message_settings()
B
42 20 48
Icegram_Campaign_Admin::save_campaign_preview()
B
42 19 46
Icegram::icegram_event_track()
B
41 18 53
Icegram::process_message_body()
B
42 17 50
Icegram_Campaign_Admin::campaign_message_list()
B
32 11 137
IG_Feedback_V_1_2_8::render_feedback_widget()
B
43 16 49
Icegram::es_list_subscribe()
B
42 16 49
Icegram::render_feedback_widget()
A
42 15 49
IG_Feedback_V_1_2_8::is_dev_url()
A
44 15 41
Icegram::run_housekeeping()
A
47 14 33
Icegram::include_classes()
A
42 13 47
IG_Feedback_V_1_2_8::submit_feedback()
A
42 13 44
Icegram::check_for_gallery_items()
A
35 8 112
Icegram::get_message_data()
A
46 13 33
IG_Feedback_V_1_2_8::render_general_feedback()
A
32 4 163
Icegram::edit_columns()
A
42 9 55
Icegram::gallery_screen()
A
44 10 38
IG_Feedback_V_1_2_8::js()
A
36 2 156
Icegram::enqueue_admin_styles_and_scripts()
A
43 9 45
ig_render_iges_merge_feedback()
A
41 8 59
IG_Tracker_V_1_2_8::get_plugins()
A
44 9 44
IG_Feedback_V_1_2_8::render_fb_widget()
A
41 7 72
Icegram::__construct()
A
38 7 64
Icegram_Campaign_Admin::campaign_data_content()
A
41 7 63
Icegram::load_compat_classes()
A
48 9 32
Icegram_Plugin_Usage_Tracker_V_1_2_3::show_tracker_notice()
A
41 6 74
Icegram::form_submission_validate_request()
A
52 9 23
Icegram::ig_get_ip()
A
55 9 20
IG_Feedback_V_1_2_8::render_widget()
A
36 2 124
Icegram_Campaign::_is_valid_user_roles()
A
55 9 19
Icegram_Campaign_Admin::get_message_action_row()
A
38 5 77
Icegram_Message_Admin::save_message_in_post_content()
A
55 9 17
ig_add_escape_allowed_tags()
A
33 1 136
Icegram_Plugin_Usage_Tracker_V_1_2_3::send_tracking_data()
A
49 8 31
Icegram_Message_Admin::custom_columns()
A
48 8 31
Icegram::import_gallery_item()
A
48 8 30
Icegram::append_to_valid_campaigns_sql()
A
50 8 28
Icegram_Campaign_Admin::icegram_json_search_messages()
A
45 7 40
Icegram::collect_js_and_css()
A
46 7 37
Icegram::save_gallery_data()
A
53 8 22
Ig_Mobile_Detect::version()
A
53 8 21
IG_Feedback_V_1_2_8::css()
A
45 2 109
Icegram::get_current_page_url()
A
54 8 19
Icegram_Campaign::_is_valid_time()
S
59 8 14
Icegram::get_message_types()
S
53 7 24
Icegram_Message_Type::init()
S
47 6 38
Icegram_Message_Admin::default_message_data()
S
53 7 22
IG_Feedback_V_1_2_8::modal()
S
41 4 66
Ig_Mobile_Detect::isMobile()
S
55 7 20
Icegram::icegram_load_data()
S
54 7 18
Icegram_Campaign_Admin::add_campaigns_tabs()
S
48 5 41
Icegram_Compat_contact_form_7::render_js()
S
50 2 85
Icegram::es_subscribe_form()
S
42 2 82
IG_Tracker_V_1_2_8::get_server_info()
S
52 6 22
Icegram::get_sample_data()
S
37 1 95
Ig_Mobile_Detect::setUserAgent()
S
55 6 20
Icegram::dismiss_admin_notice()
S
55 6 19
IG_Tracker_V_1_2_8::get_wp_info()
S
54 6 18
Ig_Mobile_Detect::checkHttpHeadersForMobile()
S
57 6 17
Icegram::after_wpautop()
S
58 6 16
IG_Feedback_V_1_2_8::is_event_tracked()
S
58 6 15
Icegram::duplicate_in_db()
S
48 5 30
Ig_Mobile_Detect::isTablet()
S
58 6 15
IG_Feedback_V_1_2_8::render_inline_feedback_widget()
S
43 1 84
IG_Tracker_V_1_2_8::get_user_info()
S
53 5 22
Icegram::get_valid_campaigns()
S
54 5 21
Icegram::before_wpautop()
S
55 5 21
ig_can_ask_user_for_review()
S
57 5 17
Icegram::toggle_campaign_status()
S
57 5 16
Icegram_Message_Admin::message_form_layouts_to_show()
S
59 5 15
Icegram_Message_Admin::message_positions_to_show()
S
58 5 15
Icegram_Message_Type::meets_guidelines()
S
65 6 9
Icegram::two_step_mobile_popup()
S
49 4 30
Ig_Mobile_Detect::setCfHeaders()
S
58 5 14
Icegram_Message_Type_Popup::arrange_proper_delay_time()
S
59 5 13
IG_Feedback_V_1_2_8::render_popup_feedback_widget()
S
43 1 73
Ig_Mobile_Detect::setHttpHeaders()
S
61 5 12
Icegram::icegram_houskeeping()
S
47 2 54
Icegram_Campaign_Admin::add_campaign_settings()
S
48 3 37
Icegram::_wpautop_add_tag_placeholders()
S
53 4 22
Icegram::execute_shortcode()
S
53 4 21
Icegram_Cache::__construct()
S
56 4 19
IG_Feedback_V_1_2_8::is_valid_action()
S
58 4 17
Icegram::show_campaign_creation_guide()
S
65 5 8
Icegram_upsale::is_offer_period()
S
59 4 13
IG_Tracker_V_1_2_8::is_plugin_activated()
S
61 4 13
Icegram::identify_current_page()
S
59 4 13
IG_Tracker_V_1_2_8::is_plugin_installed()
S
61 4 13
Ig_Mobile_Detect::getHttpHeader()
S
60 4 13
Ig_Mobile_Detect::matchUAAgainstKey()
S
61 4 13
activate_icegram()
S
60 4 12
deactivate_icegram()
S
60 4 12
Icegram_Loader::load_dependencies()
S
62 4 12
Ig_Mobile_Detect::matchDetectionRulesAgainstUA()
S
63 4 11
Icegram_Message_Admin::available_headlines()
S
44 1 51
IG_Tracker_V_1_2_8::get_current_theme_info()
S
55 3 21
IG_Tracker_V_1_2_8::get_plugin_meta_info()
S
57 3 16
Icegram::remove_row_actions()
S
66 4 8
Icegram_Campaign_Admin::duplicate_campaign()
S
71 4 5
Ig_Mobile_Detect::setDetectionType()
S
66 4 9
Icegram_Campaign::_is_valid_device()
S
64 4 10
Icegram_Message_Admin::duplicate_message()
S
71 4 5
Icegram::is_valid_json()
S
76 4 3
Icegram::get_platform()
S
64 4 10
Icegram_Cache::cleanup()
S
64 4 9
IG_Feedback_V_1_2_8::is_plugin_page()
S
67 4 7
Icegram::remove_preview_button()
S
63 3 15
Icegram::ig_plugin_settings_link()
S
59 3 14
Icegram_Plugin_Usage_Tracker_V_1_2_3::handle_tracker_notice_actions()
S
60 3 13
Icegram_upsale::add_option_where_upsale()
S
63 3 13
Icegram::welcome()
S
62 3 12
Icegram_Compat_wpforms::render_js()
S
61 2 26
IG_Feedback_V_1_2_8::get_contact_email()
S
63 3 11
Icegram_Plugin_Usage_Tracker_V_1_2_3::do_deactivation_cleanup()
S
62 3 11
Icegram_Compat_gravityforms::render_js()
S
61 2 25
Icegram_Plugin_Usage_Tracker_V_1_2_3::__construct()
S
52 2 23
Icegram::register_campaign_post_type()
S
48 1 33
Icegram::admin_menus()
S
55 2 17
Icegram::register_message_post_type()
S
49 1 32
Icegram::ig_show_documentation_link_in_admin_bar()
S
57 2 16
Icegram_Campaign::get_message_meta_by_id()
S
69 3 7
Icegram::add_admin_notices()
S
63 3 10
IG_Feedback_V_1_2_8::__construct()
S
58 2 15
Ig_Mobile_Detect::is()
S
65 3 10
IG_Feedback_V_1_2_8::enqueue_styles()
S
58 2 15
Icegram_Campaign::is_valid()
S
69 3 6
Icegram_Message_Admin::message_settings_to_show()
S
63 3 10
ig_show_plugin_usage_tracking_notice()
S
67 3 8
Icegram_Cache::set()
S
70 3 5
Icegram_Cache::get()
S
68 3 7
IG_Feedback_V_1_2_8::can_show_feedback_widget()
S
67 3 9
Icegram_Cache::delete()
S
69 3 7
Icegram_Plugin_Usage_Tracker_V_1_2_3::is_tracking_allowed()
S
65 3 9
Icegram::branding_data_remove()
S
67 3 7
Icegram::get_current_page_id()
S
63 3 10
Icegram_Loader::instance()
S
70 3 6
Icegram::wpml_get_parent_id()
S
68 3 7
Ig_Mobile_Detect::match()
S
65 3 8
Icegram::db_update()
S
70 3 6
Icegram_Campaign_Admin::campaign_target_rules_content()
S
61 2 14
ig_get_additional_info()
S
60 2 13
Ig_Mobile_Detect::getMobileDetectionRulesExtended()
S
63 2 13
Ig_Mobile_Detect::getMobileDetectionRules()
S
64 2 12
Icegram::custom_ig_campaign_column()
S
60 2 12
Icegram_Message_Type::__construct()
S
60 2 12
Icegram_Campaign_Admin::__construct()
S
50 1 26
Icegram_Compat_gravityforms::__construct()
S
62 2 11
IG_Feedback_V_1_2_8::prepare_widget_params()
S
54 1 21
Icegram_Message_Type::define_settings()
S
55 1 19
Icegram::ig_documentation_link_admin_bar_css()
S
100 1 19
Icegram_Plugin_Usage_Tracker_V_1_2_3::get_tracking_data()
S
55 1 19
IG_Feedback_V_1_2_8::render_emoji()
S
59 1 18
IG_Feedback_V_1_2_8::render_stars()
S
59 1 17
Icegram::print_js_css_data()
S
66 2 9
Icegram_Compat_Base::__construct()
S
66 2 8
Icegram_Cache::_hash()
S
70 2 6
ig_can_load_sweetalert_js()
S
68 2 7
Icegram_upsale::add_selected_post_types_rule_upsell()
S
68 2 8
IG_Feedback_V_1_2_8::get_event_feedback_data()
S
72 2 5
Icegram_upsale::add_campaigns_analytics_metaboxes()
S
69 2 6
Icegram_Plugin_Usage_Tracker_V_1_2_3::schedule_cron()
S
70 2 6
Icegram_upsale::add_button_animations_upsale()
S
68 2 8
Ig_Mobile_Detect::prepareVersionNo()
S
65 2 8
Ig_Mobile_Detect::__call()
S
66 2 8
Icegram_Message::__construct()
S
68 2 7
Icegram::about_screen()
S
71 2 6
Icegram::ig_widget_text_filter()
S
69 2 7
Icegram_upsale::campaign_st_ctas_upsale()
S
68 2 8
Icegram_Campaign::is_valid_url()
S
65 2 8
Ig_Mobile_Detect::getRules()
S
70 2 7
IG_Feedback_V_1_2_8::get_api_url()
S
72 2 6
Icegram_Plugin_Usage_Tracker_V_1_2_3::handle_optin_change()
S
68 2 8
IG_Feedback_V_1_2_8::enqueue_scripts()
S
69 2 6
Icegram_Compat_contact_form_7::__construct()
S
68 2 7
Icegram::_wpautop_replace_tag_placeholders()
S
70 2 6
Icegram_upsale::add_campaign_geo_target_rules_form_upsale()
S
68 2 8
Icegram_upsale::display_behavior_triggers_upsale()
S
68 2 8
Icegram_Message_Admin::getInstance()
S
69 2 7
Icegram_Plugin_Usage_Tracker_V_1_2_3::add_weekly_schedule()
S
65 2 9
Icegram_upsale::display_countdown_timer_upsale()
S
66 2 10
Icegram_Campaign::get_rule_value()
S
78 2 3
Icegram_Plugin_Usage_Tracker_V_1_2_3::do_activation_setup()
S
64 2 9
Icegram_upsale::add_option_for_time_upsale()
S
68 2 8
Icegram_upsale::display_content_locker_upsell()
S
68 2 8
Icegram::add_plugin_support_links()
S
66 2 7
ig_show_notification()
S
67 2 7
Icegram_Campaign_Admin::add_campaign_action()
S
67 2 6
Icegram_Campaign_Admin::getInstance()
S
69 2 7
Icegram::ig_array_insert_after()
S
68 2 6
Icegram_upsale::display_cta_upsale()
S
67 2 9
Icegram::can_upsell_features()
S
68 2 7
Icegram_Plugin_Usage_Tracker_V_1_2_3::update_last_send_time()
S
70 2 6
Icegram::is_onboarding_completed()
S
68 2 7
Icegram::import_sample_data()
S
71 2 6
Icegram::is_premium()
S
79 2 3
Icegram_Message_Admin::add_message_action()
S
67 2 7
IG()
S
69 2 7
ig_can_load_sweetalert_css()
S
68 2 7
ig_show_upgrade_pro_notice()
S
62 1 13
Icegram_upsale::__construct()
S
59 1 13
Icegram_Message_Type_Action_Bar::define_settings()
S
61 1 12
Icegram_Message_Type_Messenger::define_settings()
S
61 1 12
Icegram_Message_Type_Popup::define_settings()
S
62 1 11
Icegram_Message_Type_Toast::define_settings()
S
62 1 11
Icegram_Message_Admin::__construct()
S
61 1 11
Icegram::duplicate()
S
70 1 6
Icegram::get_ig_meta_info()
S
64 1 10
Ig_Mobile_Detect::getUaHttpHeaders()
S
81 1 3
Icegram_Activator::activate()
S
73 1 5
Icegram_Deactivator::deactivate()
S
80 1 3
Icegram::settings_screen()
S
81 1 3
Icegram::is_premium_installed()
S
73 1 5
Icegram_Message_Type_Messenger::__construct()
S
74 1 4
Icegram_Compat_contact_form_7::change_form_action_url()
S
82 1 3
Ig_Mobile_Detect::getUserAgent()
S
82 1 3
Ig_Mobile_Detect::getScriptVersion()
S
80 1 3
Icegram_Message_Type_Action_Bar::set_admin_style()
S
67 1 8
IG_Feedback_V_1_2_8::set_event_transient()
S
77 1 3
IG_Feedback_V_1_2_8::get_feedback_data()
S
75 1 4
Icegram_Campaign_Admin::get_icegram_campaign_messages()
S
75 1 4
IG_Feedback_V_1_2_8::render_deactivate_feedback()
S
72 1 5
Ig_Mobile_Detect::getPhoneDevices()
S
80 1 3
Icegram_Plugin_Usage_Tracker_V_1_2_3::get_tracker_class()
S
82 1 3
ig_review_message_data()
S
69 1 7
Icegram_Plugin_Usage_Tracker_V_1_2_3::handle_optin_update()
S
81 1 3
Ig_Mobile_Detect::getProperties()
S
80 1 3
Icegram_Plugin_Usage_Tracker_V_1_2_3::get_tracked_data_list()
S
64 1 10
IG_Tracker_V_1_2_8::get_inactive_plugins()
S
78 1 3
Ig_Mobile_Detect::getUserAgents()
S
80 1 3
Ig_Mobile_Detect::getBrowsers()
S
80 1 3
Ig_Mobile_Detect::getUtilities()
S
80 1 3
Ig_Mobile_Detect::getHttpHeaders()
S
82 1 3
IG_Tracker_V_1_2_8::get_active_plugins()
S
78 1 3
Icegram_Compat_wpforms::__construct()
S
78 1 4
Icegram_Message_Type_Toast::set_admin_style()
S
67 1 8
Icegram_Message_Admin::edit_columns()
S
64 1 9
IG_Feedback_V_1_2_8::set_feedback_data()
S
67 1 7
Ig_Mobile_Detect::getMobileHeaders()
S
81 1 3
ig_trigger_deactivation_in_multisite()
S
75 1 5
Icegram_Compat_Base::render_js()
S
100 1 2
Icegram_Plugin_Usage_Tracker_V_1_2_3::clear_scheduled_cron()
S
80 1 3
Icegram::admin_css()
S
81 1 3
Icegram_Campaign_Admin::campaign_data_tab_content()
S
64 1 9
Ig_Mobile_Detect::getOperatingSystems()
S
80 1 3
Icegram_Cache::_exists()
S
79 1 3
Icegram_Campaign_Admin::remove_campaign_extra_meta_box()
S
79 1 3
IG_Feedback_V_1_2_8::get_escape_allowed_tags()
S
75 1 4
Icegram_Plugin_Usage_Tracker_V_1_2_3::get_last_send_time()
S
75 1 4
Icegram::is_max()
S
79 1 3
Icegram_Plugin_Usage_Tracker_V_1_2_3::set_opt_in()
S
75 1 4
change_form_action_url()
S
75 1 4
initialize_icegram()
S
70 1 6
Icegram_Message_Type_Popup::set_admin_style()
S
67 1 8
Icegram::upgrade_screen()
S
91 1 2
Icegram::is_premium_activated()
S
73 1 5
Icegram_Plugin_Usage_Tracker_V_1_2_3::handle_optin_add()
S
81 1 3
Ig_Mobile_Detect::getTabletDevices()
S
80 1 3
ig_activate_on_blog()
S
75 1 5
Icegram_Campaign_Admin::campaign_target_rules_tab_content()
S
71 1 6
Icegram_Cache::_file()
S
78 1 3
Icegram::activate()
S
73 1 5
Ig_Mobile_Detect::__construct()
S
77 1 4
Icegram_Message_Admin::add_message_meta_boxes()
S
73 1 4
Icegram_Message_Type_Popup::__construct()
S
69 1 6
IG_Feedback_V_1_2_8::is_event_transient_set()
S
80 1 3
Icegram_Message_Type_Messenger::set_admin_style()
S
67 1 8
Ig_Mobile_Detect::getMatchingRegex()
S
82 1 3
Icegram_Message_Type_Action_Bar::__construct()
S
74 1 4
Ig_Mobile_Detect::getMatchesArray()
S
82 1 3
Icegram::execute_form_shortcode()
S
83 1 3
Icegram_Message_Type_Toast::__construct()
S
74 1 4
Ig_Mobile_Detect::getCfHeaders()
S
82 1 3
Icegram::deactivate()
S
81 1 3
Icegram::is_pro()
S
79 1 3
Icegram_Plugin_Usage_Tracker_V_1_2_3::get_tracking_option_name()
S
80 1 3
Icegram_Message_Admin::available_form_styles()
S
65 1 10
Icegram_upsale::print_campaign_image()
S
75 1 6