Code Analysis: Askany 1.3.0

Function Rating Maintainability Complexity Lines of code
ContentIndexer::index_product()
C
31 24 110
ApiManager::update_settings()
C
36 25 76
PDFUploadHandler::handle_pdf_upload()
B
36 22 71
AjaxHandler::rest_chat_response()
B
36 20 74
AjaxHandler::chat_response()
B
37 19 72
ApiManager::get_openai_response()
B
32 16 114
ApiManager::extract_search_answer()
B
42 20 49
AjaxHandler::save_home_settings()
B
42 19 46
ApiManager::get_search_enhanced_response()
B
38 16 68
ApiManager::get_deepseek_response()
B
37 15 75
ApiManager::get_enhanced_product_context()
B
34 13 95
AjaxHandler::save_settings()
A
43 16 42
AjaxHandler::test_api_connection()
A
42 15 54
ContentIndexer::calculate_indexing_health()
A
42 15 52
Database::create_chat_session()
A
39 11 73
ApiManager::get_response()
A
39 10 81
Database::sanitize_content()
A
44 12 47
ApiManager::get_product_specific_response()
A
44 12 46
ShortcodeHandler::render_chat_interface()
A
41 11 54
Database::get_api_stats()
A
35 7 114
ApiManager::analyze_query_type()
A
46 12 35
SessionManager::create_or_update_session()
A
40 10 62
ApiManager::search_duckduckgo()
A
40 10 61
AjaxHandler::process_pdf()
A
47 11 33
AjaxHandler::save_home_link()
A
50 11 24
ApiManager::get_general_info_response()
A
44 9 48
ContentIndexer::get_content_stats()
A
43 9 47
ContentIndexer::index_widget()
A
48 10 31
ApiManager::get_common_response()
A
39 7 76
Database::get_api_performance_metrics()
A
41 8 59
Database::create_tables()
A
34 1 163
PDFUploadHandler::fallback_text_extraction()
A
50 10 25
AjaxHandler::save_home_faq()
A
51 10 23
EncryptionHandler::process_encrypted_request()
A
48 9 33
PDFUploadHandler::handle_pdf_delete()
A
47 9 33
ApiManager::build_enhanced_system_message()
A
44 8 45
AjaxHandler::update_qa_pair()
A
50 9 26
Database::extract_relevant_excerpt()
A
51 9 25
AjaxHandler::decrypt_message_for_admin()
A
53 9 22
ApiManager::extract_product_information()
A
42 7 52
ApiManager::get_fallback_response()
A
48 8 34
ShortcodeHandler::get_chat_response()
A
44 7 45
Database::find_qa_match()
A
44 7 45
ContentIndexer::get_wordpress_content_totals()
A
44 7 45
Database::insert_default_qa_pairs()
A
42 6 52
AjaxHandler::merge_session()
A
52 8 22
AjaxHandler::set_typing_indicator()
A
53 8 20
PDFUploadHandler::get_upload_error_message()
A
56 8 20
ApiManager::needs_internet_search()
A
45 6 46
ContentIndexer::index_post()
S
50 7 29
ApiManager::get_product_comparison_response()
S
49 7 29
Database::index_pdf()
S
46 6 43
Database::get_relevant_content()
S
42 5 56
Database::calculate_synonym_similarity()
S
50 7 26
AjaxHandler::add_qa_pair()
S
51 7 25
AjaxHandler::assign_agent()
S
52 7 23
AjaxHandler::get_realtime_updates()
S
52 7 22
AjaxHandler::send_agent_message()
S
54 7 18
Database::get_question_pattern()
S
62 8 10
ApiManager::test_openai_connection()
S
46 5 43
askany_init()
S
52 6 25
AjaxHandler::search_internet()
S
53 6 23
ContentIndexer::index_docs_page()
S
52 6 23
Database::calculate_intent_similarity()
S
52 6 23
ApiManager::get_ai_response()
S
53 6 22
AjaxHandler::get_chat_messages()
S
53 6 21
PdfHandler::extract_text_from_pdf()
S
54 6 21
EncryptionHandler::process_encrypted_response()
S
56 6 18
PdfHandler::process_pdf_file()
S
49 5 33
AjaxHandler::toggle_home_faq()
S
55 6 17
ApiManager::format_search_results_as_text()
S
56 6 17
AjaxHandler::toggle_home_link()
S
55 6 17
ApiManager::get_conversation_history()
S
50 5 31
ApiManager::test_deepseek_connection()
S
50 5 30
ContentIndexer::index_comment()
S
52 5 26
AjaxHandler::delete_qa_pair()
S
53 5 24
AjaxHandler::get_qa_pair()
S
53 5 24
SessionManager::merge_anonymous_session()
S
45 3 53
Database::get_new_messages_since()
S
54 5 23
AdminPages::add_admin_menu()
S
40 1 83
PdfHandler::format_title_content_text()
S
53 5 22
PdfHandler::format_qa_text()
S
53 5 22
PDFUploadHandler::format_title_content_text()
S
53 5 22
PDFUploadHandler::format_qa_text()
S
53 5 22
Database::delete_chat_session()
S
49 4 35
ContentIndexer::index_page()
S
55 5 20
AjaxHandler::clear_api_errors()
S
55 5 19
AjaxHandler::clear_chat_logs()
S
55 5 19
AjaxHandler::delete_pdf()
S
55 5 19
ApiManager::test_query_classification()
S
55 5 18
Database::calculate_keyword_similarity()
S
54 5 18
EncryptionHandler::deobfuscate_data()
S
57 5 18
PdfHandler::delete_pdf_index()
S
55 5 18
SessionManager::get_or_create_session_id()
S
57 5 17
AjaxHandler::remove_agent()
S
57 5 16
AjaxHandler::add_agent()
S
57 5 16
SessionManager::get_session_display_name()
S
59 5 16
AjaxHandler::release_agent()
S
56 5 16
ApiManager::get_popular_products()
S
49 4 31
AjaxHandler::get_home_faq()
S
57 5 16
AjaxHandler::delete_home_faq()
S
57 5 16
AjaxHandler::get_home_link()
S
57 5 16
AjaxHandler::delete_home_link()
S
57 5 16
AjaxHandler::clear_chat_history()
S
56 5 16
AjaxHandler::delete_user_session()
S
56 5 16
AjaxHandler::poll_messages()
S
57 5 15
ApiManager::get_default_helpful_response()
S
51 4 29
AjaxHandler::get_paginated_errors()
S
60 5 11
AjaxHandler::get_paginated_chat_logs()
S
60 5 11
ApiManager::is_product_query()
S
50 4 25
AdminPages::enqueue_admin_assets()
S
43 2 54
ApiManager::get_ai_response_with_search_context()
S
54 4 21
Database::get_paginated_chat_logs()
S
48 3 35
AjaxHandler::get_provider_settings()
S
54 4 20
EncryptionHandler::decode_base64_message()
S
56 4 19
ContentIndexer::index_template_page()
S
55 4 19
ContentIndexer::index_docs_pages()
S
57 4 17
askany_remove_capabilities()
S
58 4 17
EncryptionHandler::is_base64_encoded()
S
63 5 10
ContentIndexer::index_menu()
S
58 4 15
ApiManager::format_search_results_for_ai()
S
58 4 15
askany_remove_directory_recursive()
S
59 4 15
PdfHandler::create_directories()
S
60 4 14
AjaxHandler::get_api_stats()
S
59 4 13
PdfHandler::process_structured_text()
S
61 4 13
Database::detect_contexts()
S
61 4 12
EncryptionHandler::log_encryption_event()
S
61 4 12
Database::get_realtime_updates()
S
52 3 26
AssetsManager::enqueue_frontend_assets()
S
47 2 41
PdfHandler::cleanup_temp_files()
S
63 4 11
askany_remove_plugin_options()
S
48 2 39
Database::index_content()
S
49 2 35
ApiManager::get_internet_search_response()
S
56 3 20
AjaxHandler::init()
S
43 1 49
ContentIndexer::index_posts()
S
55 3 18
ContentIndexer::index_products()
S
57 3 16
ContentIndexer::index_pages()
S
57 3 16
ContentIndexer::index_comments()
S
58 3 15
Database::save_chat_history()
S
58 3 15
AjaxHandler::reindex_content()
S
58 3 15
Database::calculate_exact_match_score()
S
65 4 9
Database::detect_intent()
S
64 4 10
ContentIndexer::index_widgets()
S
64 4 10
AjaxHandler::clear_chat_all_history()
S
58 3 14
Database::set_typing_indicator()
S
52 2 28
EncryptionHandler::obfuscate_data()
S
61 3 12
Database::calculate_semantic_similarity()
S
60 3 12
Plugin::add_floating_widget()
S
62 3 11
Database::save_chat_message()
S
53 2 26
ask_fs()
S
52 2 25
Database::add_user_agent()
S
53 2 25
ApiManager::get_product_general_response()
S
55 2 21
ContentIndexer::reindex_all_content()
S
55 2 20
Database::get_paginated_api_errors()
S
49 1 34
askany_remove_database_tables()
S
57 2 18
PdfHandler::get_pdf_content()
S
58 2 17
Database::clear_session_messages()
S
59 2 17
AjaxHandler::refresh_api_stats()
S
57 2 17
Database::clear_api_errors()
S
58 2 17
Database::mark_messages_as_read()
S
58 2 16
askany_remove_user_meta()
S
59 2 16
askany_log_uninstall()
S
77 3 4
askany_remove_transients()
S
61 2 15
Database::calculate_contextual_similarity()
S
56 2 15
PdfHandler::process_pdf_attachment()
S
68 3 7
EncryptionHandler::is_encrypted_data()
S
69 3 6
ContentIndexer::index_custom_fields()
S
61 2 14
askany_uninstall_plugin()
S
62 2 13
Database::update_agent_status()
S
61 2 13
AdminPages::render_api_stats_page()
S
60 2 13
Database::clear_chat_logs()
S
60 2 13
askany_load_file()
S
62 2 12
ContentIndexer::index_product_category()
S
62 2 12
ContentIndexer::index_product_tag()
S
62 2 12
AdminPages::render_home_settings_page()
S
62 2 12
AdminPages::render_live_chat_page()
S
62 2 12
AdminPages::load_template()
S
61 2 12
ContentIndexer::index_custom_field()
S
61 2 12
Database::merge_session_with_user()
S
53 1 26
AdminPages::render_settings_page()
S
63 2 11
Database::get_session_statistics()
S
53 1 26
askany_remove_scheduled_events()
S
64 2 11
Plugin::add_plugin_row_meta()
S
60 2 11
Database::get_content_index_stats()
S
54 1 25
ApiManager::get_settings()
S
51 1 24
Plugin::init_components()
S
55 1 20
Database::log_api_stats()
S
56 1 18
ContentIndexer::store_content()
S
58 1 16
Database::update_home_link()
S
59 1 16
Database::get_typing_indicators()
S
59 1 16
Database::extract_personal_subject()
S
70 2 6
ContentIndexer::index_product_categories()
S
66 2 9
ApiManager::load_settings()
S
57 1 15
Database::__construct()
S
58 1 15
PdfHandler::is_pdf()
S
69 2 7
ContentIndexer::index_product_tags()
S
66 2 9
AdminPages::render_qa_page()
S
66 2 9
AdminPages::render_chat_logs_page()
S
65 2 9
EncryptionHandler::sanitize_encrypted_data()
S
72 2 6
PdfHandler::extract_text_by_pages()
S
65 2 9
ContentIndexer::index_template_pages()
S
70 2 6
AjaxHandler::get_chat_sessions()
S
65 2 8
Database::add_home_link()
S
59 1 15
ContentIndexer::index_menus()
S
71 2 6
askany_remove_uploaded_files()
S
69 2 7
AdminPages::render_content_index_page()
S
66 2 9
Plugin::get_instance()
S
71 2 6
ApiManager::test_duckduckgo_search()
S
70 2 6
PdfHandler::get_pdf_stats()
S
63 2 10
AdminPages::render_user_agents_page()
S
64 2 10
AdminPages::render_pdf_files_page()
S
66 2 9
Database::update_home_faq()
S
61 1 14
Database::get_active_chat_sessions()
S
62 1 14
Database::update_qa_pair()
S
60 1 14
Database::release_agent_from_session()
S
61 1 13
AjaxHandler::log_chat_history()
S
61 1 13
ContentIndexer::delete_post_index()
S
61 1 13
Database::assign_agent_to_session()
S
61 1 13
ContentIndexer::delete_product_index()
S
61 1 13
Database::get_chat_messages()
S
62 1 13
Database::add_home_faq()
S
61 1 13
ContentIndexer::delete_comment_index()
S
61 1 13
Database::add_qa_pair()
S
63 1 12
Database::drop_tables()
S
62 1 12
ApiManager::get_greeting_response()
S
63 1 12
Database::delete_content()
S
64 1 11
Database::get_home_faqs()
S
68 1 8
Database::clear_chat_history()
S
75 1 4
Plugin::__construct()
S
82 1 3
Database::toggle_home_faq_status()
S
65 1 10
ApiManager::init()
S
83 1 3
Database::get_agents()
S
66 1 10
ApiManager::test_api_connections()
S
67 1 8
EncryptionHandler::generate_data_hash()
S
78 1 3
Database::get_home_faq()
S
66 1 9
AdminPages::init()
S
75 1 4
EncryptionHandler::verify_data_hash()
S
74 1 4
ApiManager::__construct()
S
77 1 4
Database::cleanup_typing_indicators()
S
67 1 8
PdfHandler::init()
S
70 1 6
Database::get_all_home_faqs()
S
70 1 7
Database::has_similar_structure()
S
73 1 5
Database::get_user_chat_sessions()
S
66 1 9
Database::clear_content_index()
S
75 1 4
Database::toggle_home_link_status()
S
65 1 10
Database::delete_pdf()
S
68 1 8
Database::delete_home_faq()
S
68 1 8
Database::activate()
S
75 1 4
Database::get_chat_history()
S
66 1 9
Database::get_qa_pair()
S
66 1 9
Database::normalize_text()
S
68 1 7
ShortcodeHandler::__construct()
S
81 1 3
PDFUploadHandler::init()
S
75 1 4
Database::get_qa_pairs()
S
71 1 6
SessionManager::__construct()
S
81 1 3
Database::get_all_users()
S
66 1 10
AdminPages::__construct()
S
71 1 6
Database::is_user_agent()
S
67 1 8
Plugin::uninstall()
S
73 1 5
PdfHandler::__construct()
S
72 1 5
Database::has_similar_personal_context()
S
73 1 5
Database::delete_qa_pair()
S
68 1 8
Database::clear_pdf_index()
S
75 1 4
ContentIndexer::init()
S
63 1 10
Database::get_pdf_stats()
S
65 1 9
PDFUploadHandler::__construct()
S
73 1 5
Database::get_chat_session()
S
65 1 10
ContentIndexer::index_content()
S
81 1 3
ContentIndexer::prepare_content()
S
68 1 7
AssetsManager::__construct()
S
77 1 4
Database::get_home_link()
S
66 1 9
Database::delete_home_link()
S
68 1 8
Database::remove_user_agent()
S
64 1 10
Database::deactivate()
S
81 1 3
ContentIndexer::__construct()
S
81 1 3
Database::get_tables()
S
69 1 7
Database::get_home_links()
S
68 1 8
AssetsManager::init()
S
79 1 3
Plugin::add_plugin_action_links()
S
69 1 6
AjaxHandler::__construct()
S
67 1 8
Plugin::init()
S
65 1 8
Database::get_all_home_links()
S
70 1 7
AjaxHandler::register_rest_routes()
S
68 1 7
ShortcodeHandler::init()
S
79 1 3