Code Analysis: 3D Product configurator for WooCommerce 2.7.3

Function Rating Maintainability Complexity Lines of code
Expivi_Cart_Manager::handle_expivi_products_adding_to_cart()
D
19
54 212
Expivi_Admin_Product_Settings::add_meta_content_on_product_save()
D
29 35 145
Expivi_Viewer::load_scripts()
D
32 35 85
Expivi_Admin_Product_Settings::show_expivi_product_tab_content()
B
34 19 88
Expivi_Configurator::load_scripts()
B
35 19 83
Expivi_Configurator::add_save_design_modal()
B
33 18 98
Expivi_Admin_General_Settings::expivi_general_settings_init()
B
28
12 186
Expivi_Cart_Manager::update_item_title()
B
42 17 52
Expivi_Admin_Product_Settings::load_scripts()
B
42 17 49
Expivi_Admin_Order_Manager::order_item_table_values()
B
40 16 60
Expivi_Admin_Info_Settings::show_template_info()
B
43 17 40
Expivi_Cart_Manager::before_remove_from_cart()
A
45 15 42
Expivi_Social_Sharing::save_social_sharing()
A
40 11 60
Expivi_Save_Design_Controller::process_form()
A
38 10 72
Expivi_External_Hooks::save_configured_product_bundle_in_order_item()
A
47 11 36
Expivi_Grouped_Product_Generator::get_grouped_product()
A
43 10 46
Expivi_Validation::blacklist_word_validation()
A
47 11 29
Expivi_Cart::remove_bundle_from_cart()
A
50 11 28
Expivi_Admin_Product_Settings::register_scripts()
A
43 9 57
Expivi_SVG_Conversion_Controller::request_api()
A
46 10 39
Expivi_Email_Manager::expivi_email_order_details()
A
46 9 39
Expivi_Template::call_api()
A
45 8 42
Expivi_Admin_Order_Manager::order_item_thumbnail()
A
51 9 25
Expivi_Filesystem::write()
A
53 9 23
Expivi_Save_Design_Controller::process_mail()
A
44 7 45
Expivi_Admin_Order_Manager::order_item_sub_products()
A
49 8 30
Expivi_Configurator::add_configurator_to_view()
A
51 8 26
Expivi_Email_Manager::expivi_email_order_details_image()
A
53 8 23
Expivi_Grouped_Product_Generator::create()
A
46 7 37
Expivi_Filesystem::copy()
A
54 8 22
Expivi_Admin_Settings_Mediator::expivi_admin_menu()
A
44 6 52
Expivi_Save_Design_Connect_Rep_Controller::process_form()
A
47 7 36
Expivi_Cart_Manager::generate_pdf()
A
46 7 35
Expivi_Viewer::register_scripts()
A
55 8 18
Expivi_Logger_Bugsnag::log_message()
S
52 7 25
Expivi::get_country()
S
52 7 24
xpv_array_get()
S
54 7 23
Expivi_Admin_Logs_Settings::show_template_logs()
S
47 6 37
Expivi_Cart_Manager::cart_item_permalink()
S
56 7 18
Expivi_Checkout_Manager::is_grouped_product_stock_enough()
S
48 6 31
Expivi_Configurator::register_scripts()
S
57 7 15
Expivi_Cart_Manager::set_cart_product_price()
S
58 7 15
Expivi_Grouped_Product_Price_Calculator::calculate()
S
50 6 28
Expivi_Admin_Settings_Mediator::register_scripts()
S
59 7 12
Expivi_Admin_Save_Design_Settings::save_design_form_state_selector_settings()
S
46 5 40
Expivi_Checkout_Manager::increase_grouped_product_stock()
S
52 6 24
Expivi_Checkout_Manager::decrease_grouped_product_stock()
S
52 6 24
Expivi_Cart_Manager::resolve_replicated_products()
S
53 6 24
Expivi_Form::validate()
S
55 6 19
Expivi_Admin_Order_Manager::order_item_table_headers()
S
57 6 18
Expivi_Form_Field_Factory::make_form_field()
S
59 6 15
Expivi_Social_Sharing::load_scripts()
S
50 5 30
Expivi_Admin_Order_Manager::register_scripts()
S
62 7 9
Expivi_Form_Field_Validator_Factory::make_form_field_validator()
S
59 6 15
Expivi_Cart_Manager::find_product_with_expivi_id()
S
58 6 15
Expivi_Admin_Save_Design_Settings::connect_to_rep_settings_init()
S
44 3 58
Expivi_SVG_Conversion_Controller::request()
S
51 5 25
Expivi_Job_Cleanup_Logs::action()
S
53 5 24
Expivi_SVG_Conversion_Controller::check_progress_api()
S
53 5 23
Expivi_Admin_General_Settings::update_generated_products_visibility()
S
54 5 23
xpv_locate_template()
S
55 5 22
Expivi_Logger_Bugsnag::log_exception()
S
54 5 21
xpv_get_template()
S
54 5 21
Expivi_Admin_Save_Design_Settings::validate_smd_settings()
S
56 5 19
Expivi_Admin_Save_Design_Settings::save_design_form_layout_settings()
S
49 4 33
Expivi_Cart_Manager::after_item_restored()
S
56 5 18
Expivi_Filesystem::read()
S
57 5 18
Expivi_Admin_Settings_Mediator::load_scripts()
S
56 5 18
xpv_base64_get_image_type()
S
57 5 17
Expivi_Filesystem::delete()
S
58 5 17
Expivi_Filesystem::get_files_in_dir()
S
58 5 16
Expivi_Admin_Product_Settings::get_expivi_products()
S
62 6 10
Expivi_Checkout_Manager::add_configuration_to_order_item()
S
59 5 14
Expivi_External_Hooks::get_configurations_from_order()
S
60 5 14
Expivi_Form_Field_Tel_Validator::validate_tel()
S
59 5 13
Expivi_External_Hooks::get_configuration_from_order_item()
S
61 5 12
Expivi_Cart_Manager::validate_all_products_are_connected()
S
61 5 11
Expivi_Save_Design_Email_Builder::get_mail_template()
S
48 3 40
Expivi_Save_Design_Rep_Email_Builder::get_mail_template()
S
48 3 39
Expivi_Template_Controller::generate_template()
S
53 4 24
Expivi_Template_Controller::remove_template()
S
53 4 24
Expivi_Viewer::add_viewer()
S
54 4 21
Expivi_Cart_Manager::add_item_data_after_post()
S
56 4 19
Expivi_SVG_Conversion_Controller::check_progress()
S
56 4 18
Expivi::define_constants()
S
55 4 18
Expivi::init()
S
49 3 32
Expivi_Grouped_Product_Generator::get_product_ids()
S
56 4 17
Expivi_Admin_Save_Design_Settings::share_link_settings_init()
S
47 2 45
Expivi_Logger_Bugsnag::init()
S
61 4 12
Expivi_Cart_Manager::update_item_image_thumbnail()
S
61 4 12
xpv_array_get_first_key()
S
63 4 11
Expivi::includes()
S
52 3 26
Expivi_Job_System::init()
S
64 4 11
Expivi_Cart_Manager::add_configuration_to_item_from_session()
S
63 4 11
PDF::output()
S
57 3 18
Expivi_Admin_Save_Design_Settings::expivi_smd_settings_init()
S
50 2 31
xpv_array_get_first_value()
S
66 4 9
Expivi_Product_Page::filter_woocommerce_post_class()
S
66 4 9
Expivi_Product_Page::custom_single_add_to_cart_text()
S
65 4 9
Expivi_Social_Sharing::register_scripts()
S
67 4 6
Expivi_Template::get_product_setting()
S
68 4 7
Expivi_Job_System::setup_custom_intervals()
S
59 3 15
Expivi_Form_Field_Number_Validator::validate_number()
S
64 4 9
Expivi_Cart_Manager::is_product_purchasable()
S
66 4 9
Expivi_Social_Sharing::__construct()
S
58 3 14
Expivi_Filesystem::resolve_path()
S
61 3 13
Expivi_Filesystem::resolve_url()
S
61 3 13
xpv_filename_extension()
S
62 3 12
Expivi_Logger_File::init()
S
61 3 12
Expivi_Admin_Product_Settings::__construct()
S
61 3 12
Expivi_Catalogue::add_configured_button_if_needed()
S
62 3 12
Expivi_Job_Cleanup_Logs::resolve_date_from_filename()
S
62 3 11
Expivi_Job::execute()
S
64 3 11
Expivi_Cart_Manager::woocommerce_cart_contents()
S
66 3 9
Expivi_Checkout_Manager::woocommerce_review_order_before_cart_contents()
S
64 3 9
Expivi_Checkout_Manager::woocommerce_review_order_after_cart_contents()
S
66 3 9
Expivi_Template::get_product()
S
68 3 7
Expivi_Email_Builder_Factory::make_email_builder()
S
65 3 9
Expivi_Filesystem::combine()
S
63 3 10
Expivi_External_Hooks::__construct()
S
66 3 7
Expivi_Filesystem::get_internal_fs()
S
64 3 10
Expivi_Admin_Order_Manager::load_scripts()
S
72 3 5
Expivi_Admin_Product_Settings::exclude_generated_grouped_products()
S
63 3 10
Expivi_Job_System::run_job()
S
68 3 8
Expivi_Form_Field_Email_Validator::validate_email()
S
68 3 7
Expivi_Logging_System::log_message()
S
67 3 8
xpv_upload_dir()
S
65 3 9
Expivi_Logging_System::log_exception()
S
68 3 8
Expivi_Cart_Manager::woocommerce_before_cart_contents()
S
64 3 9
Expivi_Form_Field_Validator::handle_required_and_regex()
S
66 3 8
Expivi_Catalogue::remove_add_to_cart_button_if_needed()
S
70 3 6
xpv_upload_url()
S
65 3 9
Expivi_Form_Field::build_form_field()
S
58 2 14
Expivi_Email::send_mail()
S
62 2 13
Expivi_Admin_Save_Design_Settings::save_design_form_settings_init()
S
54 1 28
Expivi_Admin_Settings_Mediator::__construct()
S
62 2 11
Expivi_Form_Field_Text_Validator::validate_text()
S
63 2 11
Expivi_Save_Design_Controller::__construct()
S
62 2 11
PDF::__construct()
S
52 1 25
Expivi_Admin_Save_Design_Settings::send_bcc_to_rep_settings()
S
57 1 20
Expivi_Admin_Save_Design_Settings::save_design_form_country_selector_settings()
S
58 1 19
Expivi_Cart_Manager::__construct()
S
56 1 17
Expivi_Social_Sharing::valid_extension()
S
60 1 16
Expivi_Admin_Logs_Settings::__construct()
S
71 2 6
Expivi::define()
S
75 2 5
Expivi_Logging_System::init()
S
74 2 5
AutoLoader::init()
S
68 2 7
Expivi_Form_Builder_Factory::make_form_builder()
S
69 2 7
Expivi_Filesystem::is_file()
S
69 2 7
Expivi_Job_System::cancel()
S
74 2 5
Expivi_Form_Field_Date_Validator::validate_date()
S
67 2 7
Expivi_Filesystem::is_dir()
S
69 2 7
Expivi_Save_Design_Rep_Email_Builder::build_recipient()
S
64 2 10
Expivi_Job::register()
S
68 2 7
Expivi_Admin_General_Settings::__construct()
S
68 2 7
Expivi_Job::cancel()
S
69 2 7
Expivi_Template::get_setting()
S
73 2 4
Expivi_Admin_General_Settings::set_products_visibility()
S
71 2 6
Expivi_Template::get_api_url()
S
68 2 7
Expivi_Form_Field_Date_Validator::validate()
S
70 2 7
xpv_get_theme_dir()
S
72 2 6
Expivi_Template::has_expivi_product()
S
75 2 4
Expivi_Template_Controller::__construct()
S
68 2 7
Expivi_Logger_File::log_message()
S
64 2 9
Expivi_Logger_File::log_exception()
S
64 2 9
Expivi::activate_expivi_plugin()
S
65 2 9
Expivi::deactivate_expivi_plugin()
S
75 2 5
Expivi_Filesystem::exists()
S
69 2 7
Expivi_Save_Design_Form_Builder::build_form_fields()
S
69 2 7
Expivi::get_locale()
S
65 2 9
Expivi::instance()
S
72 2 6
Expivi::log()
S
69 2 7
xpv_theme_root_dir()
S
72 2 6
Expivi::log_exception()
S
70 2 7
Expivi_Admin_Info_Settings::__construct()
S
71 2 6
Expivi_Admin_Save_Design_Settings::__construct()
S
68 2 7
Expivi_Form_Field_Number_Validator::validate()
S
70 2 7
Expivi_Form_Field_Email_Validator::validate()
S
70 2 7
Expivi_Form_Field_Tel_Validator::validate()
S
70 2 7
Expivi_Form_Field_Text_Validator::validate()
S
70 2 7
xpv_theme_root_url()
S
72 2 6
Expivi_Form_Field_Validator::__construct()
S
69 1 7
Expivi_Form_Field_Number_Validator::__construct()
S
70 1 6
Expivi_Form_Field::set_max_length()
S
81 1 3
Expivi_Email_Builder::build_subject()
S
100 1 0
Expivi_Logging_System::__construct()
S
72 1 6
Expivi_Save_Design_Email_Builder::build_headers()
S
80 1 3
Expivi_Email::set_headers()
S
81 1 3
Expivi_Save_Design_Rep_Email_Builder::build_subject()
S
81 1 3
Expivi_Save_Design_Rep_Email_Builder::build_headers()
S
80 1 3
Expivi_Email_Builder::build_sender()
S
100 1 0
Expivi_Save_Design_Form_Builder::validate()
S
82 1 3
Expivi_Email::get_recipient()
S
82 1 3
Expivi_Form_Field_Number::get_max()
S
82 1 3
Expivi_Job_Cleanup_Logs::is_date_still_valid()
S
74 1 4
Expivi_Job::is_enabled()
S
82 1 3
Expivi_Save_Design_Email_Builder::build_subject()
S
81 1 3
Expivi_Save_Design_Rep_Email_Builder::build_sender()
S
80 1 3
AutoLoader::__construct()
S
98 1 1
Expivi_Save_Design_Email_Builder::build_sender()
S
80 1 3
Expivi_Admin_Save_Design_Settings::show_template_smd()
S
69 1 7
Expivi_Job::init()
S
100 1 0
Expivi_Form_Field::get_id()
S
82 1 3
Expivi_Form_Field_Number::get_min()
S
82 1 3
Expivi_Save_Design_Connect_Rep_Controller::copy_share_link()
S
79 1 3
Expivi_Logger_File::is_enabled()
S
82 1 3
Expivi_Logger_Bugsnag::is_enabled()
S
82 1 3
Expivi::__construct()
S
75 1 5
Expivi_Form_Builder::get_form_fields()
S
81 1 3
Expivi_Checkout_Manager::__construct()
S
66 1 8
Expivi_Form_Field::set_size()
S
81 1 3
Expivi_Logger_File::resolve_filename()
S
79 1 3
Expivi_Form_Field::set_regex()
S
81 1 3
Expivi_Form_Field_Number::set_max()
S
81 1 3
Expivi_Product_Page::__construct()
S
74 1 4
Expivi_Save_Design_Rep_Email_Builder::build_template()
S
80 1 3
Expivi_Form_Field::set_min_length()
S
81 1 3
Expivi::__wakeup()
S
79 1 3
Expivi_Filesystem::mkdir()
S
80 1 3
Expivi_Email::set_template()
S
81 1 3
Expivi_Email_Builder::build_template()
S
100 1 0
Expivi_Save_Design_Controller::get_email()
S
68 1 8
Expivi_Admin_Info_Settings::expivi_settings_init()
S
81 1 3
Expivi_Form_Field::get_name()
S
82 1 3
Expivi_Form::get_form_fields()
S
82 1 3
Expivi_Viewer::add_custom_query_vars()
S
74 1 5
Expivi_Form_Builder::create_form()
S
80 1 3
Expivi_Form_Field_Number::get_step()
S
82 1 3
Expivi_Form_Field_Number::set_step()
S
81 1 3
Expivi_Validation::__construct()
S
78 1 3
Expivi_Save_Design_Email_Builder::__construct()
S
69 1 6
PDF::write_html()
S
80 1 3
Expivi_Form_Field_Date::get_min()
S
82 1 3
Expivi_Email::set_subject()
S
81 1 3
Expivi_Save_Design_Connect_Rep_Controller::__construct()
S
67 1 7
Expivi_Email::set_sender()
S
81 1 3
Expivi_Email::set_recipient()
S
81 1 3
Expivi_Form_Field_Date::set_min()
S
81 1 3
Expivi_SVG_Conversion_Controller::__construct()
S
70 1 6
Expivi_Cart_Manager::allow_data_protocol_urls()
S
79 1 3
Expivi_Save_Design_Email_Builder::build_recipient()
S
80 1 3
Expivi_Template::has_api_key()
S
78 1 3
Expivi_Form_Field::get_regex()
S
82 1 3
Expivi_Viewer::__construct()
S
65 1 8
Expivi_Form_Field::build_form_field_validator()
S
79 1 3
PDF::set_page()
S
80 1 3
Expivi_Job_Cleanup_Logs::init()
S
81 1 3
Expivi_Admin_General_Settings::show_template_general()
S
72 1 6
Expivi_Job::action()
S
100 1 0
Expivi_Configurator::__construct()
S
69 1 6
Expivi_Save_Design_Email_Builder::build_attachments()
S
80 1 3
Expivi_Form_Field_Validator::validate()
S
100 1 0
xpv_get_template_html()
S
73 1 5
Expivi_Email::get_sender()
S
82 1 3
Expivi_Email_Manager::__construct()
S
74 1 4
Expivi_Job_Cleanup_Logs::__construct()
S
79 1 3
XPV()
S
82 1 3
Expivi_Admin_Product_Settings::add_expivi_product_tab()
S
66 1 8
Expivi_Form_Field_Date::set_max()
S
81 1 3
Expivi_Email::get_headers()
S
82 1 3
Expivi_Form_Field::get_max_length()
S
82 1 3
Expivi_Form_Field::get_size()
S
82 1 3
Expivi_Form_Builder::build_form_fields()
S
100 1 0
Expivi_Save_Design_Email_Builder::get_share_link()
S
82 1 3
Expivi_Email::get_template()
S
82 1 3
Expivi_Form::set_form_field()
S
80 1 3
Expivi_Form_Field::set_value()
S
81 1 3
Expivi_Save_Design_Rep_Email_Builder::__construct()
S
69 1 6
Expivi_Email_Builder::create_email()
S
80 1 3
Expivi::__clone()
S
79 1 3
Expivi_Form_Field_Date::set_step()
S
81 1 3
Expivi_Admin_Logs_Settings::expivi_settings_init()
S
81 1 3
Expivi_Save_Design_Email_Builder::build_template()
S
80 1 3
Expivi_Form_Field_Number::__construct()
S
73 1 5
Expivi_Save_Design_Form_Builder::get_form_fields()
S
81 1 3
Expivi_Form_Field::set_required()
S
81 1 3
Expivi_Save_Design_Rep_Email_Builder::build_attachments()
S
80 1 3
Expivi_Price_Calculator::calculate()
S
100 1 0
Expivi_Save_Design_Connect_Rep_Controller::get_email()
S
68 1 8
Expivi_Catalogue::__construct()
S
75 1 4
Expivi::plugin_url()
S
79 1 3
Expivi_Form_Field::get_type()
S
82 1 3
Expivi_Email_Builder::build_headers()
S
100 1 0
Expivi_Form_Field::set_id()
S
81 1 3
Expivi_Viewer::get_social_sharing_configuration()
S
74 1 4
Expivi_Email_Builder::build_recipient()
S
100 1 0
Expivi_Form_Field_Date::get_max()
S
82 1 3
xpv_random_hash()
S
80 1 3
Expivi::plugin_path()
S
80 1 3
xpv_base64_validate()
S
79 1 3
Expivi_Job::__construct()
S
77 1 4
Expivi_Form_Field::get_value()
S
82 1 3
Expivi_Admin_Order_Manager::__construct()
S
69 1 6
Expivi_Form_Field::set_name()
S
81 1 3
Expivi_Admin_Save_Design_Settings::expivi_settings_init()
S
81 1 3
Expivi_Admin_General_Settings::expivi_settings_init()
S
81 1 3
Expivi_Viewer::get_save_design_configuration()
S
74 1 4
Expivi_Email::set_attachments()
S
81 1 3
Expivi_Form_Field_Date::get_step()
S
82 1 3
Expivi_Form_Field::get_required()
S
82 1 3
Expivi::create_pdf()
S
81 1 3
Expivi_Form_Builder::get_form()
S
82 1 3
Expivi_Email::get_subject()
S
82 1 3
Expivi_Job::get_hook_name()
S
82 1 3
Expivi_Job_System::__construct()
S
71 1 6
Expivi::init_hooks()
S
72 1 5
Expivi_Form_Field_Date::__construct()
S
73 1 5
Expivi_Email::get_attachments()
S
82 1 3
Expivi::template_path()
S
82 1 3
Expivi_Form_Field::get_min_length()
S
82 1 3
Expivi_Form_Field_Number::set_min()
S
81 1 3
Expivi_Form_Field::set_type()
S
81 1 3
Expivi_Email_Builder::get_email()
S
82 1 3
Expivi_Email_Builder::build_attachments()
S
100 1 0