Code Analysis: IncredibleDocs 1.0.10

Function Rating Maintainability Complexity Lines of code
IDOCS_Customizer::categories_cards_section()
D
4
1 1,682
IDOCS_Customizer::live_search_section()
D
8
1 1,176
IDOCS_Customizer::sidebar_navigator_section()
D
14
1 706
IDOCS_Admin_Settings::validate_options_before_saving()
D
32 34 106
IDOCS_Customizer::document_view_section()
D
17
1 588
IDOCS_Customizer::toc_section()
C
18
1 526
IDOCS_Public_Frontend::load_categories_cards_css()
C
22
12 359
IDOCS_Customizer::faqs_section()
C
20
1 429
IDOCS_Customizer::tag_content_cards_section()
C
20
1 423
IDOCS_Customizer::feedback_form_section()
B
22
1 385
IDOCS_Public_Frontend::load_live_search_css()
B
24
5 313
IDOCS_Customizer::breadcrumbs_section()
B
22
1 366
IDOCS_Taxanomies::taxanomies_permalink()
B
39 20 65
IDOCS_Customizer::document_content_section()
B
23
1 341
IDOCS_Custom_RestAPIs::search_results()
B
30 14 131
IDOCS_Customizer::likes_rating_section()
B
24
1 317
IDOCS_Public_Frontend::load_navigation_css()
B
29
7 206
IDOCS_Public_Frontend::on_demand_load_css_for_shortcodes()
B
39 16 69
IDOCS_Public_Frontend::enqueue_scripts()
B
39 16 66
IDOCS_Public_Frontend::enqueue_styles()
B
43 17 45
IDOCS_Customizer::kb_view_section()
B
25
1 279
IDOCS_CPT::content_posts_permalink()
A
40 15 59
IDOCS_Shortcodes::display_category_counters()
A
44 15 56
IDOCS_CategoryTree::display_category_tree()
A
32 9 143
IDOCS_Public_Frontend::load_custom_archive_template()
A
47 16 37
IDOCS_Cron::schedule_custom_wpcron_events()
A
41 14 52
IDOCS_Admin_Settings::enqueue_scripts()
A
36 10 110
IDOCS_Admin_Menu::custom_admin_taxonomies_filters()
A
34 9 124
IDOCS_Customizer::tag_view_section()
A
27
1 231
IDOCS_Admin_Menu::custom_content_doc_category()
A
39 11 74
IDOCS_Shortcodes::navigator_accordion_item()
A
36 9 102
IDOCS_Admin_Menu::custom_content_kb()
A
41 11 63
IDOCS_Access_Check::filter_out_categories()
A
47 13 33
IDOCS_Customizer::default_design_options()
A
26
1 197
IDOCS_Admin_Menu::custom_content_faqgroup()
A
39 9 76
IDOCS_Admin_Menu::filter_list_of_terms()
A
46 11 42
IDOCS_Access_Check::check_access_to_document()
A
50 12 27
IDOCS_Customizer_Multi_Dimensions::render_content()
A
45 10 46
IDOCS_Shortcodes::display_content_item()
A
42 9 59
IDOCS_Public_Frontend::add_faq_json_ld_to_head()
A
47 10 38
IDOCS_Shortcodes::generate_faqs_schema_for_seo()
A
43 9 53
IDOCS_Admin_Menu::adding_admin_menu()
A
50 10 27
IDOCS_PostMetaFields::update_content_post()
A
45 9 41
IDOCS_Customizer_Color::render_content()
A
51 10 26
IDOCS_Shortcodes::check_for_any_direct_content()
A
43 8 54
IDOCS_Public_Frontend::load_document_view_css()
A
34 2 143
IDOCS_Public_Frontend::on_demand_load_js_for_shortcodes()
A
48 9 38
IDOCS_CPT::document_navigation_links()
A
39 6 77
IDOCS_Database::get_plugin_design_settings()
A
50 8 32
IDOCS_Admin_Settings::get_settings_tabs()
A
33 1 136
IDOCS_Customizer_Padding_Dimensions::render_content()
A
50 8 31
IDOCS_PostMetaFields::register_post_meta_fields()
A
36 1 133
IDOCS_Customizer::design_color_options_per_kb_theme()
A
32 1 129
IDOCS_Admin_Settings::enqueue_styles()
A
48 7 39
IDOCS_Admin_Menu::custom_sort_by_custom_field()
A
54 8 22
IDOCS_Customizer::faqgroup_view_section()
A
34 1 124
IDOCS_Custom_RestAPIs::get_categories_per_kb_with_hierarchical()
A
44 6 48
IDOCS_Taxanomies::save_custom_fields_to_new_category()
S
46 6 45
IDOCS_Taxanomies::edit_custom_fields_to_category()
S
40 3 86
IDOCS_Dashboard::get_search_success_rate()
S
46 6 41
IDOCS_Customizer::register_sections()
S
35 1 114
IDOCS_Admin_Menu::process_admin_settings_custom_urls_form()
S
52 7 24
IDOCS_Admin_Menu::highlight_selected_admin_submenu()
S
55 7 21
IDOCS_Public_Frontend::add_breadcrumbs_json_ld_to_head()
S
57 7 17
IDOCS_Shortcodes::total_content_type_in_category()
S
45 5 44
IDOCS_Dashboard::get_overall_searches()
S
50 6 29
IDOCS_Public_Frontend::run_shortcodes_scan_on_page()
S
51 6 28
IDOCS_Taxanomies::get_term_meta_caching()
S
52 6 27
IDOCS_CPT::get_post_meta_caching()
S
53 6 25
IDOCS_CategoryTree::build_category_tree()
S
47 5 38
IDOCS_Database::get_plugin_settings()
S
56 6 18
IDOCS_Taxanomies::edit_custom_fields_to_faqgroup()
S
43 3 62
IDOCS_Database::update_db_tables()
S
40 1 92
IDOCS_Admin_Menu::custom_content_doc_tag()
S
46 4 46
idocs_get_plugin_settings_for_uninstall()
S
58 6 16
IDOCS_IncredibleDocs::define_admin_hooks()
S
35 1 88
IDOCS_Public_Frontend::load_tag_view_css()
S
41 2 72
IDOCS_Admin_Menu::highlight_selected_admin_menu()
S
62 6 11
IDOCS_Admin_Menu::custom_content_comments()
S
52 5 26
IDOCS_Save_Events::convert_ip_to_country()
S
53 5 24
IDOCS_Save_Events::convert_ip_to_country()
S
53 5 24
IDOCS_Public_Frontend::load_tag_content_cards_css()
S
42 2 67
IDOCS_Taxanomies::add_custom_fields_to_category()
S
44 2 67
IDOCS_Dashboard::amount_days_last_content_update()
S
48 4 35
IDOCS_Public_Frontend::load_toc_css()
S
40 1 80
IDOCS_Shortcodes::kb_and_category_check()
S
56 5 20
IDOCS_Shortcodes::detailed_card_layout()
S
46 3 49
IDOCS_Taxanomies::get_groups_terms_per_category_caching()
S
49 4 34
IDOCS_Admin_Settings::check_all_wp_roles()
S
55 5 19
IDOCS_Admin_Menu::plugin_menu_list()
S
39 1 76
IDOCS_Dashboard::get_overall_ratings()
S
51 4 28
IDOCS_Shortcodes::generate_toc()
S
46 3 42
IDOCS_Public_Frontend::load_document_likes_css()
S
43 1 71
IDOCS_Public_Frontend::load_five_stars_rating_css()
S
43 1 71
IDOCS_Taxanomies::get_root_categories_terms_caching()
S
47 3 41
IDOCS_Taxanomies::save_custom_fields_to_kb()
S
48 3 41
IDOCS_Themes::get_theme_colors()
S
52 4 26
IDOCS_Taxanomies::edit_custom_fields_to_kb()
S
46 2 53
IDOCS_Themes::get_kb_theme_name()
S
53 4 23
IDOCS_Shortcodes::high_level_card_layout()
S
49 3 36
IDOCS_Customizer_Text_Radio_Button::render_content()
S
56 4 21
IDOCS_Dashboard::get_overall_content_visits()
S
54 4 20
idocs_check_categories_slug()
S
56 4 19
IDOCS_Public_Frontend::load_faqs_css()
S
42 1 64
IDOCS_Admin_Settings::callback_fill_form_field_flag()
S
55 4 19
IDOCS_Activator::add_capabilities_to_wp_roles()
S
58 4 17
IDOCS_Deactivator::remove_capabilities_from_wp_roles()
S
58 4 17
IDOCS_Save_Events::selectRandomCountry()
S
49 3 31
IDOCS_Taxanomies::add_custom_fields_to_faqgroup()
S
48 2 46
IDOCS_Save_Events::selectRandomCountry()
S
49 3 31
IDOCS_Shortcodes::faqs_per_group_caching()
S
59 4 15
IDOCS_ICONS::echo_icon_svg_tag()
S
49 3 30
IDOCS_Taxanomies::get_specific_category_term_caching()
S
58 4 15
IDOCS_ICONS::get_icon_svg_tag()
S
49 3 30
IDOCS_Taxanomies::get_specific_category_term_by_slug_caching()
S
58 4 15
IDOCS_Taxanomies::get_specific_tag_term_by_slug_caching()
S
58 4 15
IDOCS_Taxanomies::get_specific_faqgroup_term_by_slug_caching()
S
58 4 15
IDOCS_Taxanomies::get_the_terms_caching()
S
58 4 15
IDOCS_Admin_Settings::callback_fill_form_field_number()
S
59 4 14
IDOCS_Admin_Settings::callback_fill_form_field_text()
S
59 4 14
IDOCS_Admin_Settings::callback_fill_form_field_email()
S
59 4 14
IDOCS_Admin_Settings::callback_fill_form_field_url()
S
59 4 14
IDOCS_Custom_RestAPIs::check_category_name()
S
51 3 29
IDOCS_Shortcodes::build_breadcrumb()
S
60 4 13
IDOCS_Database::upgrade_plugin_db_check()
S
60 4 12
IDOCS_Loader::run()
S
62 4 11
IDOCS_Customizer::add_opacity_to_hex()
S
60 4 11
IDOCS_Public_Frontend::load_document_feedback_css()
S
44 1 56
IDOCS_Taxanomies::save_custom_fields_new_faqgroup()
S
54 3 24
IDOCS_Public_Frontend::load_live_search_js()
S
53 3 24
IDOCS_Taxanomies::save_custom_fields_to_existing_category()
S
53 3 24
IDOCS_Public_Frontend::load_faqgroup_view_css()
S
48 2 38
IDOCS_Admin_Settings::get_selection_options()
S
43 1 53
IDOCS_Taxanomies::edit_custom_fields_to_tag()
S
49 2 38
IDOCS_Taxanomies::add_custom_fields_to_tag()
S
50 2 37
IDOCS_Public_Frontend::load_breadcrumbs_css()
S
45 1 51
IDOCS_Public_Frontend::load_kb_view_css()
S
49 2 35
IDOCS_CPT::add_custom_post_type_idocs_content()
S
43 1 50
IDOCS_Admin_Settings::enqueue_editor_scripts()
S
55 3 19
IDOCS_Custom_RestAPIs::generate_term_options()
S
55 3 19
IDOCS_Custom_RestAPIs::update_div_kb_filter()
S
50 2 34
IDOCS_Public_Frontend::load_no_page_title_css()
S
57 3 19
IDOCS_Taxanomies::delete_kb_comments()
S
57 3 18
IDOCS_Taxanomies::save_custom_fields_tag()
S
59 3 16
IDOCS_PostMetaFields::translate_tag_ids_to_labels()
S
63 4 10
IDOCS_Taxanomies::get_categories_terms_no_caching()
S
51 2 30
IDOCS_Custom_RestAPIs::get_search_parameters()
S
58 3 15
IDOCS_Taxanomies::save_custom_fields_existing_faqgroup()
S
58 3 15
IDOCS_Public_Frontend::add_type_to_script()
S
66 4 8
IDOCS_Public_Frontend::load_dynamic_video_links_css()
S
51 1 45
IDOCS_Taxanomies::total_content_type_in_kb()
S
51 2 29
IDOCS_Customizer_Notice::render_content()
S
63 3 13
IDOCS_Shortcodes::idocs_document_view()
S
60 3 12
IDOCS_Taxanomies::add_custom_fields_to_kb()
S
51 1 42
IDOCS_Custom_RestAPIs::save_search_results()
S
61 3 12
IDOCS_Public_Frontend::get_shortcode_parameters()
S
61 3 12
IDOCS_Shortcodes::idocs_kb_view()
S
61 3 11
IDOCS_Shortcodes::idocs_categories_cards()
S
61 3 11
IDOCS_Cron::wpcron_deactivation()
S
62 3 11
IDOCS_Taxanomies::content_type_custom_taxonomy()
S
53 2 24
IDOCS_Taxanomies::categories_custom_taxonomy()
S
47 1 36
IDOCS_Taxanomies::faqs_custom_taxonomy()
S
48 1 35
IDOCS_Database::scheduled_db_cleanup()
S
51 1 34
IDOCS_Taxanomies::knowledge_bases_custom_taxonomy()
S
48 1 34
IDOCS_Taxanomies::tags_custom_taxonomy()
S
48 1 34
IDOCS_Public_Frontend::categories_drill_js()
S
57 2 17
IDOCS_Custom_RestAPIs::get_tags_per_kb()
S
57 2 17
IDOCS_Custom_RestAPIs::get_faq_groups_per_kb()
S
57 2 17
IDOCS_Customizer_Toggle_Switch::render_content()
S
59 2 17
IDOCS_Public_Frontend::load_related_documents_css()
S
54 1 31
IDOCS_i18n::load_plugin_textdomain()
S
66 3 7
IDOCS_PostMetaFields::get_term_top_most_parent()
S
65 3 9
IDOCS_Taxanomies::get_specific_kb_term_by_slug_caching()
S
66 3 9
IDOCS_Taxanomies::get_specific_kb_term_caching()
S
66 3 9
IDOCS_Admin_Settings::validate_checkbox()
S
66 3 8
IDOCS_IncredibleDocs::check_plugin_slug()
S
58 2 15
IDOCS_Taxanomies::get_content_types_terms_caching()
S
60 2 14
IDOCS_Themes::get_design_tabs()
S
51 1 29
IDOCS_Taxanomies::get_kb_terms_caching()
S
60 2 14
IDOCS_Customizer::sanitize_image()
S
60 2 13
IDOCS_Database::deleted_kb_db_cleanup()
S
54 1 28
IDOCS_IncredibleDocs::define_public_hooks()
S
51 1 28
IDOCS_Custom_RestAPIs::get_content_types()
S
63 2 11
IDOCS_IncredibleDocs::__construct()
S
63 2 11
IDOCS_Customizer::register_controls_and_settings()
S
52 1 26
IDOCS_Custom_RestAPIs::get_kbs_list()
S
63 2 11
IDOCS_Shortcodes::idocs_document_tags()
S
62 2 11
IDOCS_ICONS::get_all_icons()
S
61 2 11
IDOCS_Shortcodes::document_check()
S
64 2 11
IDOCS_Public_Frontend::load_bootstrap_js()
S
63 2 11
IDOCS_Public_Frontend::load_sticky_toc_js()
S
63 2 11
IDOCS_Public_Frontend::load_print_js()
S
63 2 11
IDOCS_Admin_Settings::get_capabilities()
S
54 1 24
IDOCS_Dashboard::total_pending_comments()
S
54 1 23
IDOCS_IncredibleDocs::load_dependencies()
S
55 1 22
IDOCS_Public_Frontend::load_document_tags_css()
S
57 1 22
IDOCS_Public_Frontend::load_document_view_and_sub_shortcodes_js()
S
56 1 21
IDOCS_Shortcodes::faqs_per_group()
S
55 1 20
IDOCS_Admin_Settings::register_setting_fields_general()
S
58 1 18
IDOCS_Save_Events::save_document_feedback_event()
S
57 1 17
IDOCS_Themes::get_default_themes()
S
58 1 16
IDOCS_Save_Events::save_taxonomy_rating_event()
S
57 1 16
IDOCS_Taxanomies::total_faq_groups_in_kb()
S
58 1 16
IDOCS_Save_Events::save_content_rating_event()
S
57 1 16
IDOCS_Save_Events::save_content_visit_event()
S
58 1 15
IDOCS_Shortcodes::idocs_live_search()
S
63 2 10
IDOCS_Shortcodes::idocs_related_documents()
S
63 2 10
IDOCS_Customizer::hex2rgb()
S
62 2 10
IDOCS_Database::update_plugin_settings()
S
66 2 8
IDOCS_Save_Events::save_search_query_event()
S
58 1 15
IDOCS_Deactivator::deactivate()
S
69 2 7
IDOCS_Save_Events::save_content_visit_event()
S
58 1 15
IDOCS_Customizer_WarningNotice::render_content()
S
68 2 9
IDOCS_Customizer::custom_customize_register()
S
64 2 10
IDOCS_Customizer::sanitize_toc_header_start()
S
66 2 8
IDOCS_Custom_RestAPIs::get_youtube_video_id()
S
67 2 8
IDOCS_Database::delete_all_kbs_transients()
S
68 2 7
IDOCS_Public_Frontend::load_custom_single_template()
S
71 2 6
IDOCS_Save_Events::save_taxonomy_visit_event()
S
58 1 15
IDOCS_Customizer::sanitize_toc_header_end()
S
66 2 8
IDOCS_Taxanomies::category_is_deleted()
S
64 2 10
idocs_run_incredibledocs()
S
73 2 5
IDOCS_Admin_Menu::custom_content_document()
S
67 2 8
IDOCS_IncredibleDocs::instance()
S
67 2 8
IDOCS_Save_Events::save_taxonomy_visit_event()
S
58 1 15
IDOCS_CPT::full_categories_slug()
S
64 2 10
IDOCS_Shortcodes::idocs_faqs()
S
64 2 9
IDOCS_Activator::activate()
S
73 2 5
IDOCS_Cron::remove_wp_cron_event_when_kb_is_deleted()
S
71 2 6
IDOCS_Admin_Menu::update_document_admin_columns()
S
58 1 15
IDOCS_Save_Events::save_search_query_event()
S
58 1 15
IDOCS_Admin_Menu::custom_header_doc_category()
S
59 1 14
IDOCS_Public_Frontend::load_document_view_and_sub_shortcodes_css()
S
60 1 14
IDOCS_Customizer::register_panel()
S
59 1 14
IDOCS_Public_Frontend::enqueue_bootstrap_and_customc_css_handler()
S
62 1 14
IDOCS_Admin_Settings::register_setting_sections()
S
64 1 14
IDOCS_Custom_RestAPIs::register_custom_route_get_categories_per_kb_with_hierarchical()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_get_categories_per_kb_with_levels()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_get_faq_groups_per_kb()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_get_tags_per_kb()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_get_icons()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_get_kbs_list()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_get_content_types()
S
62 1 13
IDOCS_Custom_RestAPIs::register_custom_route_check_category_name()
S
62 1 13
IDOCS_Admin_Menu::custom_header_kb()
S
60 1 13
IDOCS_Admin_Menu::custom_header_doc_tag()
S
61 1 12
IDOCS_Admin_Menu::custom_header_comments()
S
61 1 12
IDOCS_Custom_RestAPIs::get_categories_per_kb_with_levels()
S
61 1 12
IDOCS_Admin_Menu::custom_header_faqgroup()
S
61 1 12
IDOCS_Shortcodes::get_pro_shortcodes_list()
S
60 1 12
IDOCS_Public_Frontend::load_kb_view_and_sub_shortcodes_css()
S
63 1 11
IDOCS_Custom_RestAPIs::register_custom_route_search_keyword()
S
64 1 11
IDOCS_Custom_RestAPIs::register_custom_route_save_search_result()
S
64 1 11
IDOCS_Shortcodes::get_core_shortcodes_list()
S
62 1 11
IDOCS_Custom_RestAPIs::register_custom_route_get_search_parameters()
S
64 1 11
IDOCS_Shortcodes::idocs_sidebar_navigator()
S
62 1 11
IDOCS_Loader::add_shortcode()
S
77 1 3
IDOCS_Shortcodes::idocs_kb_breadcrumbs()
S
65 1 9
IDOCS_Customizer_Toggle_Switch::enqueue()
S
78 1 3
IDOCS_Admin_Menu::__construct()
S
81 1 3
idocs_deactivate_incredibledocs()
S
77 1 4
IDOCS_Admin_Settings::display_plugin_admin_notices()
S
68 1 8
IDOCS_Customizer_URL::render_content()
S
69 1 8
IDOCS_Database::suspend_design_settings_caching()
S
74 1 4
IDOCS_Public_Frontend::reset_shortcodes_per_page_cache()
S
81 1 3
IDOCS_Admin_Settings::register_general_settings()
S
64 1 10
IDOCS_Admin_Settings::register_setting_fields_urls()
S
65 1 10
IDOCS_Customizer_Slider::enqueue()
S
73 1 4
IDOCS_Shortcodes::idocs_cards_category_with_docs()
S
65 1 9
IDOCS_IncredibleDocs::run()
S
82 1 3
IDOCS_Customizer_Color::enqueue()
S
73 1 4
IDOCS_Public_Frontend::__construct()
S
81 1 3
IDOCS_Database::add_action_for_data_cleanup_event()
S
78 1 3
IDOCS_Admin_Settings::register_setting_fields()
S
78 1 4
IDOCS_Taxanomies::__construct()
S
91 1 2
IDOCS_Themes::get_all_themes()
S
75 1 4
IDOCS_Admin_Settings::__construct()
S
81 1 3
IDOCS_Shortcodes::__construct()
S
81 1 3
IDOCS_Shortcodes::idocs_breadcrumbs()
S
65 1 9
IDOCS_Shortcodes::generate_breadcrumbs_schema_for_seo()
S
89 1 2
IDOCS_Shortcodes::idocs_cards_category_no_docs()
S
65 1 9
IDOCS_Loader::add()
S
64 1 10
IDOCS_Custom_RestAPIs::get_icons()
S
81 1 3
IDOCS_Public_Frontend::live_search_shortcode_load_css()
S
72 1 5
IDOCS_Cron::custom_wpcron_intervals()
S
69 1 7
IDOCS_Admin_Settings::remove_next_link()
S
75 1 4
IDOCS_Loader::__construct()
S
74 1 5
IDOCS_Public_Frontend::faqs_shortcode_load_css()
S
75 1 4
IDOCS_Customizer_Dimension::render_content()
S
67 1 8
IDOCS_i18n::javascript_set_script_translations()
S
80 1 3
IDOCS_Customizer::__construct()
S
91 1 2
IDOCS_Taxanomies::kb_is_deleted()
S
71 1 6
IDOCS_Database::default_values_for_settings()
S
69 1 7
IDOCS_PostMetaFields::validate_link_url()
S
80 1 3
IDOCS_Shortcodes::idocs_cards_root()
S
66 1 8
IDOCS_Admin_Menu::settings_page_html()
S
80 1 3
IDOCS_IncredibleDocs::set_locale()
S
71 1 5
IDOCS_Customizer_Multi_Dimensions::enqueue()
S
77 1 3
IDOCS_CPT::flush_rewrite_rules_after_new_cpt()
S
82 1 3
IDOCS_Customizer_Slider::render_content()
S
66 1 8
IDOCS_ICONS::__construct()
S
91 1 2
idocs_activate_incredibledocs()
S
77 1 4
IDOCS_Taxanomies::faqgroup_is_deleted()
S
71 1 5
IDOCS_CPT::__construct()
S
91 1 2
IDOCS_Public_Frontend::load_faqgroup_view_and_sub_shortcodes_css()
S
70 1 6
IDOCS_Public_Frontend::categories_cards_shortcode_load_css()
S
75 1 4
IDOCS_Loader::add_action()
S
77 1 3
IDOCS_Loader::add_filter()
S
77 1 3
IDOCS_Admin_Menu::dashboard_page_html()
S
80 1 3
IDOCS_Public_Frontend::load_tag_view_and_sub_shortcodes_css()
S
68 1 7
IDOCS_Customizer_Text_Radio_Button::enqueue()
S
91 1 2
IDOCS_Admin_Menu::custom_columns_sortable()
S
69 1 7
IDOCS_Admin_Settings::display_rewrite_rules()
S
80 1 3
IDOCS_Customizer_Padding_Dimensions::enqueue()
S
77 1 3
IDOCS_Database::__construct()
S
91 1 2
IDOCS_Taxanomies::add_custom_taxonomies()
S
68 1 8