Code Analysis: TinyPNG - JPEG, PNG & WebP image compression 3.5.1

Function Rating Maintainability Complexity Lines of code
Tiny_Image::detect_duplicates()
A
48 15 33
Tiny_Compress_Fopen::compress()
A
41 13 58
Tiny_Image::get_statistics()
A
45 11 42
Tiny_Settings::create_api_key()
A
40 9 63
Tiny_Plugin::retrieve_admin_colors()
A
50 11 26
Tiny_Settings::get_sizes()
A
50 10 30
Tiny_Compress_Fopen::request()
A
46 9 37
Tiny_Plugin::media_library_bulk_action()
A
51 9 25
Tiny_Plugin::compress_image_for_bulk()
A
39 5 73
Tiny_Plugin::process_rpc_request()
A
50 8 28
Tiny_Image::parse_wp_metadata()
A
51 8 26
Tiny_Image::parse_tiny_metadata()
A
52 8 24
Tiny_Notices::outdated_platform_notice()
A
48 7 36
Tiny_Settings::get_resize_options()
A
54 8 20
Tiny_Compress::compress_file()
S
50 7 30
Tiny_Settings::render_compression_timing_settings()
S
42 4 65
Tiny_Image::compress()
S
48 6 33
Tiny_Image::get_latest_error()
S
57 7 16
Tiny_Settings::render_size_checkboxes_description()
S
46 5 46
Tiny_Settings::render_size_checkboxes()
S
48 6 30
Tiny_Settings::render_account_status()
S
52 6 28
Tiny_Settings::after_compress_callback()
S
52 6 27
Tiny_Plugin::async_compress_on_upload()
S
50 6 26
Tiny_Image::compress_retina()
S
53 6 22
Tiny_Plugin::compress_image_from_library()
S
49 5 36
Tiny_Compress_Client::set_request_options()
S
53 6 21
Tiny_Compress_Fopen::validate()
S
54 6 20
Tiny_Image::get_count()
S
57 6 17
Tiny_Settings::get_intermediate_size()
S
57 6 16
Tiny_Plugin::ajax_compression_status()
S
51 5 29
Tiny_Settings::render_compression_timing_radiobutton()
S
50 5 27
Tiny_Settings::update_api_key()
S
52 5 25
Tiny_Image::get_image_sizes()
S
54 5 22
Tiny_Compress_Client::compress()
S
48 4 36
Tiny_Bulk_Optimization::populate_optimization_statistics()
S
49 4 32
Tiny_Settings::get_preserve_options()
S
58 5 16
Tiny_Image::filter_image_sizes()
S
59 5 16
Tiny_Bulk_Optimization::get_optimization_statistics()
S
50 4 30
Tiny_Compress_Fopen::output_request_options()
S
59 5 15
Tiny_Image::add_wp_metadata()
S
61 5 12
Tiny_Settings::render_resize()
S
43 2 56
Tiny_Plugin::enqueue_scripts()
S
42 2 55
Tiny_Compress::get_status()
S
53 4 24
Tiny_Compress_Client::validate()
S
56 4 18
Tiny_Plugin::compress_on_upload()
S
58 4 15
Tiny_Settings::get_active_tinify_sizes()
S
62 4 12
Tiny_Settings::get_compression_timing()
S
62 4 12
Tiny_WP_Base::__construct()
S
62 4 12
Tiny_Compress_Fopen::decode()
S
60 4 12
Tiny_Settings::admin_init()
S
52 3 26
Tiny_Notices::show_incompatible_plugins()
S
47 2 40
Tiny_Notices::show()
S
53 3 23
Tiny_Plugin::ajax_init()
S
50 2 34
Tiny_Bulk_Optimization::wpdb_retrieve_images_and_metadata()
S
50 2 33
Tiny_Settings::render_sizes()
S
57 3 18
Tiny_Image_Size::uncompressed()
S
72 4 5
Tiny_Exception::__construct()
S
64 4 10
Tiny_Compress_Fopen::parse_status_code()
S
65 4 9
Tiny_AS3CF::remove_local_files_setting_enabled()
S
64 4 10
Tiny_Compress::compression_cost()
S
60 3 14
Tiny_Compress::create()
S
61 3 13
Tiny_Settings::render_pending_status()
S
61 3 13
Tiny_Plugin::process_attachment()
S
63 3 12
Tiny_Settings::disabled_required_functions()
S
62 3 11
Tiny_Notices::load_dismissals()
S
64 3 11
Tiny_WP_Base::wp_version()
S
63 3 11
Tiny_Notices::dismiss()
S
62 3 11
Tiny_Notices::remove()
S
64 3 11
Tiny_Settings::ajax_init()
S
56 2 22
Tiny_Plugin::admin_init()
S
51 1 32
Tiny_Compress_Client::create_key()
S
58 2 16
Tiny_Plugin::tiny_compatibility()
S
67 3 8
Tiny_Image_Size::resized()
S
69 3 7
Tiny_Plugin::ajax_optimization_statistics()
S
68 3 7
Tiny_Plugin::render_media_column()
S
64 3 10
Tiny_Image::duplicate_check()
S
64 3 10
Tiny_Image::remove_retina_metadata()
S
67 3 8
Tiny_Settings::get_resize_enabled()
S
65 3 8
Tiny_Image::get_image_size()
S
66 3 9
Tiny_Settings::setup_incomplete_checks()
S
70 3 7
Tiny_Compress::needs_resize()
S
67 3 7
Tiny_Notices::load_notices()
S
69 3 7
Tiny_Compress_Fopen::parse_headers()
S
63 3 10
Tiny_Notices::show_stored()
S
67 3 8
Tiny_Image_Size::end_time()
S
66 3 9
Tiny_Image_Size::filesize()
S
65 3 10
Tiny_PHP::client_supported()
S
73 3 5
Tiny_Image_Size::exists()
S
71 3 6
Tiny_Plugin::show_media_info()
S
60 2 14
Tiny_Settings::render_preserve_input()
S
60 2 12
Tiny_Plugin::add_dashboard_widget()
S
54 1 23
Tiny_Settings::render_settings_moved()
S
55 1 21
Tiny_Compress_Fopen::request_options()
S
55 1 20
Tiny_Notices::add_limit_reached_notice()
S
56 1 19
Tiny_Image_Size::missing()
S
79 2 3
Tiny_Plugin::init()
S
60 1 15
Tiny_Image_Size::compressed()
S
79 2 3
Tiny_Image_Size::modified()
S
79 2 3
Tiny_Image_Size::still_exists()
S
79 2 3
Tiny_Plugin::blocking_compress_on_upload()
S
65 2 9
Tiny_Image_Size::in_progress()
S
78 2 3
Tiny_Plugin::render_compress_details()
S
66 2 8
Tiny_Image_Size::recently_started()
S
68 2 7
Tiny_Plugin::friendly_user_name()
S
72 2 5
Tiny_Settings::xmlrpc_init()
S
72 2 6
Tiny_Settings::rest_init()
S
72 2 6
Tiny_Settings::image_sizes_notice()
S
65 2 10
Tiny_Settings::account_status()
S
72 2 6
Tiny_Settings::get_api_key()
S
69 2 7
Tiny_Settings::get_api_key_pending()
S
69 2 7
Tiny_Image::update_tiny_post_meta()
S
66 2 8
Tiny_Settings::auto_compress_enabled()
S
76 2 4
Tiny_Settings::get_preserve_enabled()
S
74 2 4
Tiny_AS3CF::as3cf_before_offload()
S
68 2 7
Tiny_Image_Size::add_tiny_meta()
S
71 2 6
Tiny_Image_Size::add_tiny_meta_error()
S
65 2 9
Tiny_Compress::call_after_compress_callback()
S
74 2 5
Tiny_Settings::compress_wr2x_images()
S
75 2 4
Tiny_Image::get_savings()
S
63 2 10
Tiny_WP_Base::doing_ajax_request()
S
79 2 3
Tiny_Settings::render_resize_input()
S
65 2 8
Tiny_Helpers::truncate_text()
S
69 2 6
Tiny_Notices::admin_init()
S
72 2 6
Tiny_Settings::get_wr2x_option()
S
66 2 8
Tiny_WP_Base::is_xmlrpc_request()
S
79 2 3
Tiny_Notices::incompatible_plugins_notice()
S
70 2 6
Tiny_AS3CF::is_active()
S
79 2 3
Tiny_Plugin::render_bulk_optimization_page()
S
59 1 14
Tiny_Plugin::add_plugin_links()
S
61 1 13
Tiny_Settings::admin_menu()
S
61 1 13
Tiny_Notices::get_api_key_pending_notice()
S
63 1 11
Tiny_Notices::api_key_missing_notice()
S
63 1 11
Tiny_Image_Size::add_tiny_meta_start()
S
74 1 5
Tiny_Compress_Client::can_create_key()
S
82 1 3
Tiny_Plugin::jpeg_quality()
S
81 1 3
Tiny_PHP::curl_exec_disabled()
S
74 1 4
Tiny_Compress_Client::get_compression_count()
S
80 1 3
Tiny_WP_Base::admin_menu()
S
91 1 2
Tiny_Notices::ajax_init()
S
79 1 3
Tiny_Compress::get_email_address()
S
100 1 0
Tiny_Compress_Client::get_key()
S
80 1 3
Tiny_Notices::save_notices()
S
80 1 3
Tiny_Compress::get_paying_state()
S
100 1 0
Tiny_WPML::add_hooks()
S
66 1 9
Tiny_Settings::get_compressor()
S
82 1 3
Tiny_WPML::copy_tiny_postmeta()
S
74 1 4
Tiny_Compress_Client::get_paying_state()
S
80 1 3
Tiny_Plugin::compress_original_retina_image()
S
75 1 4
Tiny_Notices::show_notices()
S
78 1 4
Tiny_WP_Base::admin_init()
S
91 1 2
Tiny_Plugin::__construct()
S
76 1 4
Tiny_Compress::estimate_cost()
S
69 1 7
Tiny_Notices::save_dismissals()
S
71 1 7
Tiny_Settings::add_options_to_page()
S
79 1 3
Tiny_Image_Size::is_duplicate()
S
82 1 3
Tiny_Settings::get_absolute_url()
S
79 1 3
Tiny_AS3CF::__construct()
S
77 1 4
Tiny_Plugin::compress_retina_image()
S
74 1 4
Tiny_WP_Base::rest_init()
S
91 1 2
Tiny_Notices::add()
S
73 1 5
Tiny_Image::is_retina()
S
77 1 3
Tiny_Compress::__construct()
S
81 1 3
Tiny_Compress::can_create_key()
S
100 1 0
Tiny_Image_Size::mark_duplicate()
S
77 1 4
Tiny_Exception::get_message()
S
81 1 3
Tiny_WP_Base::get_user_id()
S
81 1 3
Tiny_WPML::after_copy_attached_file()
S
74 1 4
Tiny_WPML::__construct()
S
82 1 3
Tiny_Settings::get_remaining_credits()
S
75 1 4
Tiny_Compress::validate()
S
100 1 0
Tiny_Plugin::admin_menu()
S
66 1 9
Tiny_Settings::get_compression_count()
S
75 1 4
Tiny_AS3CF::add_hooks()
S
78 1 3
Tiny_Settings::get_status()
S
79 1 3
Tiny_WP_Base::ajax_init()
S
91 1 2
Tiny_Image::__construct()
S
67 1 8
Tiny_Image_Size::same_size()
S
78 1 3
Tiny_Exception::get_type()
S
82 1 3
Tiny_Image_Size::never_compressed()
S
80 1 3
Tiny_Settings::clear_api_key_pending()
S
80 1 3
Tiny_Settings::init_compressor()
S
72 1 6
Tiny_Image_Size::duplicate_of_size()
S
82 1 3
Tiny_Compress_Fopen::identifier()
S
79 1 3
Tiny_Compress_Client::get_remaining_credits()
S
80 1 3
Tiny_Compress_Client::get_email_address()
S
80 1 3
Tiny_Plugin::add_widget_view()
S
75 1 4
Tiny_Settings::wr2x_active()
S
80 1 3
Tiny_Image::file_type_allowed()
S
78 1 3
Tiny_AS3CF::lite_is_active()
S
76 1 4
Tiny_AS3CF::pro_is_active()
S
76 1 4
Tiny_Settings::is_on_free_plan()
S
79 1 3
Tiny_Settings::__construct()
S
76 1 4
Tiny_Image_Size::__construct()
S
81 1 3
Tiny_Notices::load()
S
78 1 4
Tiny_Settings::limit_reached()
S
77 1 4
Tiny_Compress_Fopen::can_create_key()
S
82 1 3
Tiny_WP_Base::get_method()
S
80 1 3
Tiny_WP_Base::get_prefixed_name()
S
79 1 3
Tiny_Exception::get_status()
S
82 1 3
Tiny_Plugin::version()
S
80 1 3
Tiny_WPML::updated_attached_file()
S
80 1 3
Tiny_Compress_Fopen::__construct()
S
76 1 4
Tiny_Settings::new_plugin_install()
S
75 1 4
Tiny_Image::get_name()
S
82 1 3
Tiny_Compress::identifier()
S
78 1 3
Tiny_WP_Base::xmlrpc_init()
S
91 1 2
Tiny_Compress::get_compression_count()
S
100 1 0
Tiny_Plugin::set_compressor()
S
81 1 3
Tiny_Compress_Client::__construct()
S
70 1 6
Tiny_Plugin::remove_retina_image()
S
75 1 4
Tiny_Compress_Fopen::get_paying_state()
S
82 1 3
Tiny_Settings::get_email_address()
S
75 1 4
Tiny_PHP::has_fully_supported_php()
S
78 1 3
Tiny_WP_Base::get_static_method()
S
79 1 3
Tiny_WP_Base::check_ajax_referer()
S
79 1 3
Tiny_Notices::get_user_meta_key()
S
79 1 3
Tiny_PHP::curl_available()
S
80 1 3
Tiny_Compress::get_key()
S
100 1 0
Tiny_Image::get_wp_metadata()
S
82 1 3
Tiny_Image::get_mime_type()
S
80 1 3
Tiny_Settings::background_compress_enabled()
S
80 1 3
Tiny_Image_Size::has_been_compressed()
S
79 1 3
Tiny_Compress::limit_reached()
S
80 1 3
Tiny_Compress::compress()
S
100 1 0
Tiny_Settings::set_compressor()
S
81 1 3
Tiny_Compress::get_remaining_credits()
S
100 1 0
Tiny_Compress_Fopen::get_compression_count()
S
82 1 3
Tiny_Image::is_original()
S
79 1 3
Tiny_Settings::get_paying_state()
S
75 1 4
Tiny_Image::get_id()
S
82 1 3
Tiny_Plugin::add_media_columns()
S
75 1 4
Tiny_Compress_Fopen::get_email_address()
S
82 1 3
Tiny_Notices::get_option_key()
S
79 1 3
Tiny_Compress_Fopen::get_ca_file()
S
79 1 3
Tiny_WP_Base::check_wp_version()
S
79 1 3
Tiny_Compress_Fopen::get_key()
S
82 1 3
Tiny_PHP::fopen_available()
S
80 1 3
Tiny_Compress_Fopen::get_remaining_credits()
S
82 1 3
Tiny_WP_Base::init()
S
91 1 2