Code Analysis: Askany 1.2.0

Function Rating Maintainability Complexity Lines of code
ApiManager::update_settings()
C
36 25 76
PDFUploadHandler::handle_pdf_upload()
B
36 22 71
ApiManager::get_fallback_response()
B
36 20 75
AjaxHandler::save_home_settings()
B
42 19 46
ApiManager::get_deepseek_response()
B
37 15 76
ApiManager::get_enhanced_product_context()
B
34 13 95
AjaxHandler::save_settings()
A
43 16 42
AjaxHandler::chat_response()
A
41 15 55
AjaxHandler::test_api_connection()
A
42 15 54
AjaxHandler::rest_chat_response()
A
42 15 48
ApiManager::get_openai_response()
A
38 12 70
Database::create_chat_session()
A
39 11 73
Database::sanitize_content()
A
44 12 47
ShortcodeHandler::render_chat_interface()
A
41 11 54
SessionManager::create_or_update_session()
A
40 10 62
AjaxHandler::process_pdf()
A
47 11 33
AjaxHandler::save_home_link()
A
50 11 24
PDFUploadHandler::fallback_text_extraction()
A
50 10 25
AjaxHandler::save_home_faq()
A
51 10 23
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
Database::create_tables()
A
36 1 144
ApiManager::extract_product_information()
A
42 7 52
ShortcodeHandler::get_chat_response()
A
44 7 45
AjaxHandler::merge_session()
A
52 8 22
Database::insert_default_qa_pairs()
A
42 6 52
PDFUploadHandler::get_upload_error_message()
A
56 8 20
AjaxHandler::set_typing_indicator()
A
53 8 20
ContentIndexer::index_post()
S
50 7 29
Database::index_pdf()
S
46 6 43
ContentIndexer::index_product()
S
46 6 41
Database::get_relevant_content()
S
42 5 56
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
ApiManager::test_openai_connection()
S
46 5 43
askany_init()
S
52 6 25
PdfHandler::extract_text_from_pdf()
S
54 6 21
PdfHandler::process_pdf_file()
S
49 5 33
AjaxHandler::toggle_home_faq()
S
55 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
Database::get_new_messages_since()
S
54 5 23
SessionManager::merge_anonymous_session()
S
45 3 53
PdfHandler::format_qa_text()
S
53 5 22
PdfHandler::format_title_content_text()
S
53 5 22
PDFUploadHandler::format_qa_text()
S
53 5 22
PDFUploadHandler::format_title_content_text()
S
53 5 22
Database::delete_chat_session()
S
49 4 35
AjaxHandler::delete_pdf()
S
55 5 19
PdfHandler::delete_pdf_index()
S
55 5 18
SessionManager::get_or_create_session_id()
S
57 5 17
AjaxHandler::delete_user_session()
S
56 5 16
AjaxHandler::remove_agent()
S
57 5 16
AjaxHandler::release_agent()
S
56 5 16
AjaxHandler::add_agent()
S
57 5 16
AjaxHandler::delete_home_faq()
S
57 5 16
AjaxHandler::get_home_faq()
S
57 5 16
SessionManager::get_session_display_name()
S
59 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
AdminPages::add_admin_menu()
S
42 1 75
AjaxHandler::poll_messages()
S
57 5 15
AdminPages::enqueue_admin_assets()
S
43 2 54
ApiManager::get_common_response()
S
52 4 24
ApiManager::get_response()
S
55 4 22
ApiManager::get_ai_response()
S
54 4 22
AjaxHandler::get_provider_settings()
S
54 4 20
askany_remove_capabilities()
S
58 4 17
AjaxHandler::get_chat_messages()
S
57 4 16
askany_remove_directory_recursive()
S
59 4 15
PdfHandler::create_directories()
S
60 4 14
PdfHandler::process_structured_text()
S
61 4 13
Database::find_qa_match()
S
51 3 27
Database::get_realtime_updates()
S
52 3 26
PdfHandler::cleanup_temp_files()
S
63 4 11
askany_remove_plugin_options()
S
48 2 39
Database::index_content()
S
49 2 35
AssetsManager::enqueue_frontend_assets()
S
49 2 33
ContentIndexer::index_posts()
S
55 3 18
ContentIndexer::index_products()
S
57 3 16
Database::save_chat_history()
S
58 3 15
ContentIndexer::index_comments()
S
58 3 15
AjaxHandler::reindex_content()
S
58 3 15
AjaxHandler::clear_chat_all_history()
S
58 3 14
Database::set_typing_indicator()
S
52 2 28
AjaxHandler::init()
S
45 1 41
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
askany_remove_database_tables()
S
57 2 18
Database::clear_session_messages()
S
59 2 17
PdfHandler::get_pdf_content()
S
58 2 17
Database::mark_messages_as_read()
S
58 2 16
askany_remove_user_meta()
S
59 2 16
askany_remove_transients()
S
61 2 15
PdfHandler::process_pdf_attachment()
S
68 3 7
askany_log_uninstall()
S
77 3 4
askany_uninstall_plugin()
S
62 2 13
Database::update_agent_status()
S
61 2 13
AdminPages::render_live_chat_page()
S
62 2 12
askany_load_file()
S
62 2 12
AdminPages::load_template()
S
61 2 12
ContentIndexer::reindex_all_content()
S
62 2 12
AdminPages::render_home_settings_page()
S
62 2 12
AdminPages::render_settings_page()
S
63 2 11
askany_remove_scheduled_events()
S
64 2 11
Plugin::add_plugin_row_meta()
S
60 2 11
Database::merge_session_with_user()
S
53 1 26
Database::get_session_statistics()
S
53 1 26
Database::get_content_index_stats()
S
54 1 25
ApiManager::get_settings()
S
51 1 24
Plugin::init_components()
S
56 1 19
Database::get_typing_indicators()
S
59 1 16
Database::update_home_link()
S
59 1 16
PdfHandler::extract_text_by_pages()
S
65 2 9
AdminPages::render_qa_page()
S
66 2 9
PdfHandler::get_pdf_stats()
S
63 2 10
PdfHandler::is_pdf()
S
69 2 7
AdminPages::render_content_index_page()
S
66 2 9
AdminPages::render_user_agents_page()
S
64 2 10
ApiManager::load_settings()
S
57 1 15
askany_remove_uploaded_files()
S
69 2 7
Plugin::get_instance()
S
71 2 6
Database::add_home_link()
S
59 1 15
AdminPages::render_chat_logs_page()
S
65 2 9
AdminPages::render_pdf_files_page()
S
66 2 9
AjaxHandler::get_chat_sessions()
S
65 2 8
Database::update_qa_pair()
S
60 1 14
Database::__construct()
S
59 1 14
Database::get_active_chat_sessions()
S
62 1 14
Database::update_home_faq()
S
61 1 14
Database::get_chat_messages()
S
62 1 13
Database::assign_agent_to_session()
S
61 1 13
ContentIndexer::delete_post_index()
S
61 1 13
AjaxHandler::log_chat_history()
S
61 1 13
Database::release_agent_from_session()
S
61 1 13
Database::add_home_faq()
S
61 1 13
ContentIndexer::delete_comment_index()
S
61 1 13
ContentIndexer::delete_product_index()
S
61 1 13
Database::drop_tables()
S
62 1 12
Database::add_qa_pair()
S
63 1 12
Database::delete_content()
S
64 1 11
ContentIndexer::get_content_stats()
S
62 1 11
ApiManager::init()
S
83 1 3
Database::get_user_chat_sessions()
S
66 1 9
AssetsManager::__construct()
S
77 1 4
Database::deactivate()
S
81 1 3
Database::cleanup_typing_indicators()
S
67 1 8
Database::remove_user_agent()
S
64 1 10
Database::get_all_home_faqs()
S
70 1 7
AdminPages::enqueue_frontend_assets()
S
91 1 2
PdfHandler::__construct()
S
72 1 5
Database::get_home_link()
S
66 1 9
ContentIndexer::prepare_content()
S
68 1 7
Database::get_chat_history()
S
66 1 9
Database::get_home_links()
S
68 1 8
Database::delete_qa_pair()
S
68 1 8
Database::get_all_home_links()
S
70 1 7
Plugin::__construct()
S
82 1 3
AjaxHandler::register_rest_routes()
S
68 1 7
Database::get_qa_pair()
S
66 1 9
Database::clear_pdf_index()
S
75 1 4
ShortcodeHandler::init()
S
79 1 3
SessionManager::__construct()
S
81 1 3
Database::get_home_faq()
S
66 1 9
AdminPages::__construct()
S
71 1 6
Database::get_pdf_stats()
S
65 1 9
Database::delete_home_faq()
S
68 1 8
Database::clear_content_index()
S
75 1 4
Database::toggle_home_faq_status()
S
65 1 10
Plugin::uninstall()
S
73 1 5
PDFUploadHandler::init()
S
75 1 4
AdminPages::init()
S
72 1 5
Database::clear_chat_history()
S
75 1 4
PDFUploadHandler::__construct()
S
73 1 5
Database::get_home_faqs()
S
68 1 8
Database::delete_pdf()
S
68 1 8
Database::activate()
S
75 1 4
Database::get_all_users()
S
66 1 10
ContentIndexer::__construct()
S
81 1 3
Database::get_chat_session()
S
65 1 10
Database::get_agents()
S
66 1 10
Plugin::add_plugin_action_links()
S
69 1 6
ContentIndexer::init()
S
63 1 10
Database::get_qa_pairs()
S
71 1 6
PdfHandler::init()
S
70 1 6
Database::delete_home_link()
S
68 1 8
ApiManager::test_api_connections()
S
67 1 8
ApiManager::__construct()
S
77 1 4
AssetsManager::init()
S
79 1 3
AjaxHandler::__construct()
S
67 1 8
ContentIndexer::index_content()
S
81 1 3
Plugin::init()
S
65 1 8
Database::toggle_home_link_status()
S
65 1 10
ShortcodeHandler::__construct()
S
81 1 3
Database::get_tables()
S
69 1 7
Database::is_user_agent()
S
67 1 8